AI Agent - bettermorn/KGCourse GitHub Wiki

智能体架构

案例

AutoGPT

中文介绍 GitHub星标超16万,爆火AutoGPT进阶版来了:定制节点、多智能体协同 https://mp.weixin.qq.com/s/dBL47yYoVNkyPoPG8pcLLA

代码仓库 https://github.com/Significant-Gravitas/AutoGPT

项目文档 https://docs.agpt.co/

AutoGPT和coze,fastgpt类似,采用工作流,自主创建任务。agent-protocol

AutoGPT的功能:

模块化设计(Blocks): 每个Block都是一个独立的功能模块,你可以根据需要自由组合,创建出满足各种需求的AI代理。 功能扩展: 由于模块化的设计,功能扩展变得轻而易举。你只需要添加、删除或修改Blocks,就能轻松实现。 自定义行为: 通过组合不同的Blocks,你可以打造独一无二的代理行为,例如自动发布维基百科摘要到Discord频道,或者在Reddit上自动分享你感兴趣的内容。 简化构建过程: 无需编写复杂代码,只需选择合适的Blocks,像搭积木一样组合起来,就能轻松构建强大的AI代理。 高可靠性: 新一代AutoGPT着重提升了可靠性,解决了之前版本中存在的一些问题,让代理构建和部署更加稳定可靠。 AutoGPT的工作原理:

它分为前端的AutoGPT Builder和后端的AutoGPT Server。可以在Builder中像拼图一样设计代理流程,然后在Server上运行。Server会负责处理所有后台逻辑和数据处理,确保代理能够高效稳定地运行。

AutoGPT提供一系列强大的工具和框架:

Forge: 提供基础代码和结构,帮助你快速构建新的代理应用,省去了繁琐的样板代码编写工作。 Benchmark: 用于评估代理的运行效率和可靠性,确保你的代理在实际应用中表现出色。 CLI(命令行界面): 提供了一套命令行工具,方便你创建、启动和管理代理。

2.1.1 使用AutoGPT Forge 打造一个AI Agent 来源https://docs.agpt.co/forge/get-started/ 系列参考文档如下

1 AutoGPT Forge: A Comprehensive Guide to Your First Steps https://aiedge.medium.com/autogpt-forge-a-comprehensive-guide-to-your-first-steps-a1dfdf46e3b4

2 AutoGPT Forge: The Blueprint of an AI Agent https://aiedge.medium.com/autogpt-forge-the-blueprint-of-an-ai-agent-75cd72ffde6

3 AutoGPT Forge: Interacting with your Agent https://aiedge.medium.com/autogpt-forge-interacting-with-your-agent-1214561b06b

4 AutoGPT Forge: Crafting Intelligent Agent Logic https://aiedge.medium.com/autogpt-forge-crafting-intelligent-agent-logic-bc5197b14cb4

5 AI Agent Design Updating Human Preferences in AI: A Proof-of-Concept 在人工智能中更新人类偏好:概念验证

https://aiedge.medium.com/updating-human-preferences-in-ai-a-proof-of-concept-2d1b7e22faa2.

设计参考

🧩 组件:实现一个或多个协议的类。可以将其添加到代理以提供附加功能。查看内置组件中已提供的功能。 ⚙️ 协议:定义组件必须实现的一组方法的接口。协议用于对相关功能进行分组。 🛠️ 命令:使代理能够与用户和工具交互。 🤖 Agent:由组件组成的类。它负责执行管道和管理组件。 管道:组件上的一系列方法调用。管道用于按特定顺序执行一系列操作。目前,管道没有正式的类,它只是组件上的一系列方法调用。默认代理中实现了两个默认管道:propose_action和execute。请参阅🤖 代理以了解更多信息。 2.2 参考案例基于知识图谱的医药智能体Agent

利用Llama-3.1的原生函数调用能力,从知识图谱中检索结构化数据,以增强RAG应用程序

构建基于知识图谱的医药智能体Agent。

内容查看 https://mp.weixin.qq.com/s/93yLgkwZ5sQ8vx9dqBXeJQ

流程

用户询问关于35岁以下人群使用药物Lyrica的常见副作用的问题。

大型语言模型决定调用哪个函数以及所需的参数。在这个例子中,它选择了一个名为“side_effects”的函数,参数包括药物“Lyrica”和最大年龄35岁。

识别出的函数和参数被用来确定性和动态地生成数据库查询(Cypher)语句,以检索相关信息。

代理设计

提示模板包括系统消息、可选的聊天记录和用户输入。agent_scratchpad 保留给 LLM,因为它有时需要执行多个步骤才能回答问题,比如执行和从工具中检索信息。LangChain 库通过使用 bind_tools 方法,使得为 LLM 添加工具变得简单。

代理通过一系列转换和处理程序处理输入,这些处理程序格式化聊天记录,应用带有绑定工具的LLM,并解析输出。最后,代理设置了一个执行器来管理执行流程,指定输入和输出类型,并包括详细日志记录的冗长设置。

LLM识别到需要使用get_side_effects函数并提供适当的参数。该函数动态生成Cypher语句,获取相关信息,并将其返回给LLM以生成最终答案。

代码 https://github.com/tomasonjo/blogs/blob/master/llm/nvidia_neo4j_langchain.ipynb

Agent 的内容审核

中文

https://www.openaidoc.com.cn/docs/guides/moderation

https://www.openaidoc.com.cn/api-reference/moderations

英文

https://platform.openai.com/docs/guides/moderation

https://cookbook.openai.com/examples/how_to_use_moderation

https://openai.com/index/using-gpt-4-for-content-moderation/

https://openai.com/index/new-and-improved-content-moderation-tooling/

Agent的安全策略

中文

https://www.openaidoc.com.cn/docs/guides/safety-best-practices

英文

https://openai.com/safety-standards/

https://platform.openai.com/docs/guides/safety-best-practices

Agent的生产最佳实践

中文 https://www.openaidoc.com.cn/docs/guides/production-best-practices 英文 https://openai.com/blog/best-practices-for-deploying-language-models/

https://cookbook.openai.com/examples/how_to_handle_rate_limits

Agent的基准测试

https://github.com/Significant-Gravitas/AutoGPT/blob/master/benchmark/README.md

从code, retrieval, memory, and safety 代码、检索、内存和安全几方面测试智能体的性能。