Langroid:强大的多智能体编程框架 - LLM应用开发利器

Ray

langroid

Langroid:强大的多智能体编程框架 - LLM应用开发利器

Langroid是一个革命性的Python框架,专为构建基于大型语言模型(LLM)的应用而设计。它采用了独特的多智能体编程范式,大大简化了LLM应用的开发过程。无论您是想开发简单的聊天机器人,还是复杂的问答系统,Langroid都能为您提供强大而灵活的工具。

🌟 主要特点

  • 智能体为中心的设计: Langroid将智能体(Agent)作为核心抽象,每个智能体都可以封装LLM对话状态、向量存储和工具。

  • 任务编排: 通过Task类包装智能体,管理智能体的响应方法,并通过分层递归的任务委派来协调多个智能体的交互。

  • 模块化与松耦合: Agent和Task抽象允许用户设计具有特定技能的智能体,并以灵活的方式组合任务。

  • 广泛的LLM支持: 不仅支持OpenAI的模型,还支持数百种本地/开源和远程/商业LLM。

  • 缓存机制: 使用Redis或Momento缓存LLM响应,提高效率。

  • 向量存储: 支持LanceDB、Qdrant和Chroma等向量数据库,实现检索增强生成(RAG)。

  • 工具/插件机制: 支持OpenAI的函数调用,以及适用于任何LLM的ToolMessage机制。

🚀 快速上手

  1. 安装Langroid:
pip install "langroid[all]"
  1. 设置环境变量:

在项目根目录创建.env文件,添加您的OpenAI API密钥:

OPENAI_API_KEY=your-key-here-without-quotes
  1. 基本用法示例:
import langroid as lr
import langroid.language_models as lm

# 设置LLM
llm_cfg = lm.OpenAIGPTConfig(chat_model=lm.OpenAIChatModel.GPT4_TURBO)
mdl = lm.OpenAIGPT(llm_cfg)

# 直接使用LLM
response = mdl.chat("What is the capital of France?", max_tokens=10)

# 使用智能体
agent_cfg = lr.ChatAgentConfig(llm=llm_cfg)
agent = lr.ChatAgent(agent_cfg)
agent.llm_response("What is the capital of China?")
response = agent.llm_response("And India?") # 保持对话状态

# 使用Task包装智能体
task = lr.Task(agent, name="Bot", system_message="You are a helpful assistant")
task.run("Hello") # 启动与用户的交互循环

🛠️ 高级功能

  1. 多智能体协作: Langroid允许您轻松创建多个智能体并让它们协同工作。例如,您可以创建一个教师智能体和一个学生智能体:
teacher_agent = lr.ChatAgent(agent_cfg)
teacher_task = lr.Task(
  teacher_agent, name="Teacher",
  system_message="Ask your student concise numbers questions, and give feedback."
)

student_agent = lr.ChatAgent(agent_cfg)
student_task = lr.Task(
  student_agent, name="Student",
  system_message="Concisely answer the teacher's questions.",
  single_round=True,
)

teacher_task.add_sub_task(student_task)
teacher_task.run()
  1. 文档问答(RAG): Langroid的DocChatAgent支持基于文档的问答:
from langroid.agent.special.doc_chat_agent import DocChatAgent, DocChatAgentConfig

rag_agent_config = DocChatAgentConfig(
    llm=llm_cfg,   
    doc_paths=["/path/to/my/docs"], # 文件、文件夹或URL
) 
rag_agent = DocChatAgent(rag_agent_config)
rag_task = lr.Task(rag_agent, name="RAG")
rag_task.run()
  1. SQL数据库交互: SQLChatAgent允许您与SQL数据库进行自然语言交互:
from langroid.agent.special.sql.sql_chat_agent import SQLChatAgent, SQLChatAgentConfig

sql_agent_config = SQLChatAgentConfig(
    llm=llm_cfg,
    db_url="postgresql://user:password@localhost:5432/mydatabase"
)
sql_agent = SQLChatAgent(sql_agent_config)
sql_task = lr.Task(sql_agent, name="SQLChat")
sql_task.run()

🌐 社区与资源

通过Langroid,您可以快速构建从简单聊天机器人到复杂的多智能体系统的各种LLM应用。其直观的API和灵活的架构让LLM应用开发变得前所未有的简单和有趣。无论您是AI研究人员、软件工程师还是企业开发者,Langroid都能为您的项目提供强大的支持。立即开始使用Langroid,探索LLM应用开发的无限可能!

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号