首页 > 常用工具 > phidata

  • 更新时间 2025-01-03

phidata: 构建具有记忆、知识、工具和推理能力的智能代理

phidata 是一个用于构建智能代理系统的框架。它提供了一套强大的工具和功能,使开发者能够轻松创建具有高级能力的AI代理。

主要特性

phidata 框架的主要特性包括:

构建智能代理: 开发者可以创建具有记忆、知识库、工具使用和推理能力的AI代理。

代理团队协作: 支持构建多个代理组成的团队,实现代理之间的协作。

优雅的交互界面: 提供美观的用户界面,方便与代理进行交互。

监控与优化: 内置监控和评估功能,帮助开发者优化代理性能。

完整系统构建: 可以构建包含API、数据库和向量数据库的完整智能系统。

安装

使用pip可以轻松安装phidata:

pip install -U phidata

代理示例

Web搜索代理

phidata允许快速创建具有web搜索能力的代理。以下是一个简单的示例:

from phi.agent import Agentfrom phi.model.openai import OpenAIChatfrom phi.tools.duckduckgo import DuckDuckGoweb_agent = Agent( name="Web Agent", model=OpenAIChat(id="gpt-4o"), tools=[DuckDuckGo()], instructions=["Always include sources"], show_tool_calls=True, markdown=True,)web_agent.print_response("Whats happening in France?", stream=True)

金融数据代理

phidata还支持创建专门处理金融数据的代理:

from phi.agent import Agentfrom phi.model.openai import OpenAIChatfrom phi.tools.yfinance import YFinanceToolsfinance_agent = Agent( name="Finance Agent", model=OpenAIChat(id="gpt-4o"), tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True)], instructions=["Use tables to display data"], show_tool_calls=True, markdown=True,)finance_agent.print_response("Summarize analyst recommendations for NVDA", stream=True)

代理团队

phidata允许将多个代理组合成一个团队,实现协作:

agent_team = Agent( team=[web_agent, finance_agent], instructions=["Always include sources", "Use tables to display data"], show_tool_calls=True, markdown=True,)agent_team.print_response("Summarize analyst recommendations and share the latest news for NVDA", stream=True)

推理代理

phidata提供了实验性的推理功能,帮助代理逐步解决复杂问题:

reasoning_agent = Agent(model=OpenAIChat(id="gpt-4o"), reasoning=True, markdown=True, structured_outputs=True)reasoning_agent.print_response(complex_task, stream=True, show_full_reasoning=True)

RAG代理

phidata支持构建具有检索增强生成(RAG)能力的代理,可以从知识库中检索相关信息:

agent = Agent( model=OpenAIChat(id="gpt-4o"), knowledge=knowledge_base, show_tool_calls=True, markdown=True,)agent.print_response("How do I make chicken and galangal in coconut milk soup", stream=True)

代理交互界面

phidata提供了一个漂亮的用户界面,方便与代理进行交互:

app = Playground(agents=[finance_agent, web_agent]).get_app()if __name__ == "__main__": serve_playground_app("playground:app", reload=True)

监控与调试

phidata内置了监控功能,可以追踪代理的会话:

agent = Agent(markdown=True, monitoring=True)agent.print_response("Share a 2 sentence horror story")

同时还提供了调试模式,在终端显示详细的调试日志:

agent = Agent(markdown=True, debug_mode=True)agent.print_response("Share a 2 sentence horror story")

更多功能

phidata还支持创建能够编写和运行Python代码的代理、使用SQL分析数据的代理,以及生成结构化输出的代理等。这些高级功能为开发者提供了更多的可能性。

总的来说,phidata是一个功能丰富、易于使用的智能代理开发框架。它为开发者提供了构建复杂AI系统所需的各种工具和功能,大大简化了智能代理的开发过程。

copyright © 2025

//www.aipic.cc/ 版权所有