BeeAI Framework 使用指南
1. 项目介绍
BeeAI Framework 是一个开源的多代理系统构建框架,支持使用 Python 和 TypeScript 开发生产级别的 AI 代理。该框架允许开发者实现简单到复杂的多代理模式,无缝集成各种模型和工具,并提供生产级别的控制和优化功能。
2. 项目快速启动
Python 版本
首先,确保安装了必要的模型。以下示例使用 ollama
的 granite3.1-dense:8b
模型。
pip install beeai-framework
pip install ollama
然后,你可以创建一个 Python 脚本来启动一个多代理工作流:
import asyncio
from beeai_framework.backend.chat import ChatModel
from beeai_framework.tools.search.wikipedia import WikipediaTool
from beeai_framework.tools.weather.openmeteo import OpenMeteoTool
from beeai_framework.workflows.agent import AgentWorkflow, AgentWorkflowInput
async def main():
llm = ChatModel.from_name("ollama:granite3.1-dense:8b")
workflow = AgentWorkflow(name="Smart assistant")
workflow.add_agent(
name="Researcher",
role="A diligent researcher.",
instructions="You look up and provide information about a specific topic.",
tools=[WikipediaTool()],
llm=llm,
)
workflow.add_agent(
name="WeatherForecaster",
role="A weather reporter.",
instructions="You provide detailed weather reports.",
tools=[OpenMeteoTool()],
llm=llm,
)
workflow.add_agent(
name="DataSynthesizer",
role="A meticulous and creative data synthesizer",
instructions="You can combine disparate information into a final coherent summary.",
llm=llm,
)
location = "Saint-Tropez"
response = await workflow.run([
AgentWorkflowInput(prompt=f"Provide a short history of {location}."),
AgentWorkflowInput(
prompt=f"Provide a comprehensive weather summary for {location} today.",
expected_output="Essential weather details such as chance of rain, temperature and wind. Only report information that is available."
),
AgentWorkflowInput(prompt=f"Summarize the historical and weather data for {location}."),
])
print(f"\n-> Step '{response.step}' has been completed with the following outcome.\n\n{response.state.final_answer}")
print(f"==== Final Answer ====\n{response.result.final_answer}")
if __name__ == "__main__":
asyncio.run(main())
TypeScript 版本
对于 TypeScript 用户,安装命令如下:
npm install beeai-framework
TypeScript 的示例代码可以在项目的官方文档中找到。
3. 应用案例和最佳实践
BeeAI Framework 的应用案例包括但不限于智能助手、数据分析、自然语言处理等领域。最佳实践建议使用框架提供的 Workflows
来定义代理的行为和角色,以及使用 Model Context Protocol
来连接不同的服务和模型。
4. 典型生态项目
BeeAI Framework 可以与多种服务和模型集成,例如 Ollama
、Groq
、OpenAI
、watsonx.ai
等。此外,框架支持自定义工具和模型的集成,使得开发者可以根据自己的需求构建复杂的多代理系统。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考