Skip to main content

LLM agent workflows

Project description

🇨🇳中文 | 🌐English


Actionflow: Agent Workflows with Prompts and Tools

PyPI version Downloads Contributions welcome License Apache 2.0 python_version GitHub issues Wechat Group

actionflow: A Human-Centric Framework for Large Language Model Agent Workflows, build your agent workflows quickly

actionflow: 快速构建你自己的Agent工作流

Overview

llm_agnet

  • 规划(Planning):任务拆解、生成计划、反思
  • 记忆(Memory):短期记忆(prompt实现)、长期记忆(RAG实现)
  • 工具使用(Tool use):function call能力,调用外部API,以获取外部信息,包括当前日期、日历、代码执行能力、对专用信息源的访问等

actionflow_arch

  • Planner:负责让LLM生成一个多步计划来完成复杂任务,生成相互依赖的“链式计划”,定义每一步所依赖的上一步的输出
  • Worker:接受“链式计划”,循环遍历计划中的每个子任务,并调用工具完成任务,可以自动反思纠错以完成任务
  • Solver:求解器将所有这些输出整合为最终答案

Features

Actionflow是一个Agent工作流构建工具,功能:

  • 简单代码快速编排复杂工作流
  • 工作流的编排不仅支持prompt命令,还支持工具调用(tool_calls)
  • 支持OpenAI API和Moonshot API(kimi)调用

Installation

pip install -U actionflow

or

git clone https://github.com/shibing624/actionflow.git
cd actionflow
pip install .

Getting Started

  1. 复制example.env文件为.env,并粘贴OpenAI API key或者Moonshoot API key。

  2. 运行Agent示例,自动调用google搜索工具:

from actionflow import Assistant, OpenAILLM, AzureOpenAILLM
from actionflow.tools.search_serper import SearchSerperTool

m = Assistant(
    llm=AzureOpenAILLM(),
    description="You are a helpful ai assistant.",
    show_tool_calls=True,
    # Enable the assistant to search the knowledge base
    search_knowledge=False,
    tools=[SearchSerperTool()],
    # Enable the assistant to read the chat history
    read_chat_history=True,
    debug_mode=True,
)
print("LLM:", m.llm)
print(m.run("介绍林黛玉", stream=False))
print(m.run("北京最近的新闻", stream=False))
print(m.run("我前面问了啥", stream=False))

Examples

运行工作流(Workflow)示例:

Contact

  • Issue(建议) :GitHub issues
  • 邮件我:xuming: xuming624@qq.com
  • 微信我: 加我微信号:xuming624, 备注:姓名-公司-NLP 进NLP交流群。

Citation

如果你在研究中使用了actionflow,请按如下格式引用:

APA:

Xu, M. actionflow: A Human-Centric Framework for Large Language Model Agent Workflows (Version 0.0.2) [Computer software]. https://github.com/shibing624/actionflow

BibTeX:

@misc{Xu_actionflow,
  title={actionflow: A Human-Centric Framework for Large Language Model Agent Workflows},
  author={Xu Ming},
  year={2024},
  howpublished={\url{https://github.com/shibing624/actionflow}},
}

License

授权协议为 The Apache License 2.0,可免费用做商业用途。请在产品说明中附加actionflow的链接和授权协议。

Contribute

项目代码还很粗糙,如果大家对代码有所改进,欢迎提交回本项目,在提交之前,注意以下两点:

  • tests添加相应的单元测试
  • 使用python -m pytest来运行所有单元测试,确保所有单测都是通过的

之后即可提交PR。

Acknowledgements

Thanks for their great work!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

actionflow-0.0.5.tar.gz (92.9 kB view details)

Uploaded Source

File details

Details for the file actionflow-0.0.5.tar.gz.

File metadata

  • Download URL: actionflow-0.0.5.tar.gz
  • Upload date:
  • Size: 92.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for actionflow-0.0.5.tar.gz
Algorithm Hash digest
SHA256 9bf42f8af7cfe6950458c306dc8754f611d3cd9f8375dcefb5fa6a7015b0ee29
MD5 a845e9092aab9e6aa67ea39ba5143036
BLAKE2b-256 b185d5ac7ca1a30a61a7912c06cd554ce3b03ca392347b7c3dec39a03df8fc00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page