Phidata 简介
Phidata[1] 是一个用于构建具有记忆、知识、工具和推理能力的智能代理的框架。
这些代理可以执行复杂的任务,如网络搜索、财务数据分析等,并且能够以团队的形式协同工作。
Phidata 还提供了一个用户界面,允许用户与代理进行交互,以及监控和调试工具,以便开发者可以跟踪代理的性能并进行优化。
项目特点
主要特点
-
智能代理构建:使用 Phidata,可以构建具有记忆、知识、工具和推理能力的智能代理。
-
团队合作:可以创建多个代理,它们可以协同工作以完成更复杂的任务。
-
用户界面:Phidata 提供了一个美观的用户界面,允许用户与代理进行交流。
-
监控与优化:内置的监控和调试工具可以帮助跟踪代理的性能并进行优化。
-
软件应用程序:可以将代理作为软件应用程序运行,包括数据库、向量数据库和 API。
使用场景
Phidata 可以用于多种场景,包括但不限于:
-
网络搜索:构建能够搜索互联网并提供有来源信息的代理。
-
财务分析:创建代理以查询和分析财务数据。
-
数据科学:使用代理进行数据科学任务,如数据分析和可视化。
-
自动化任务:构建代理以自动化日常任务,提高工作效率。
项目使用
安装
pip install -U phidata
代理示例
以下是创建一个简单的网络搜索代理的步骤。创建一个 Python 文件,例如 web_search.py
,并编写以下代码:
from phi.agent import Agent
from phi.model.openai import OpenAIChat
from phi.tools.duckduckgo import DuckDuckGo
web_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)
运行
安装所需的库并运行代理:
pip install phidata openai duckduckgo-search
export OPENAI_API_KEY=sk-xxxx
python web_search.py
界面
-
安装依赖并运行
pip install 'fastapi[standard]' sqlalchemy
-
创建文件
playground.py
from phi.agent import Agent
from phi.model.openai import OpenAIChat
from phi.storage.agent.sqlite import SqlAgentStorage
from phi.tools.duckduckgo import DuckDuckGo
from phi.tools.yfinance import YFinanceTools
from phi.playground import Playground, serve_playground_app
web_agent = Agent(
name="Web Agent",
model=OpenAIChat(id="gpt-4o"),
tools=[DuckDuckGo()],
instructions=["Always include sources"],
storage=SqlAgentStorage(table_name="web_agent", db_file="agents.db"),
add_history_to_messages=True,
markdown=True,
)
finance_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"],
storage=SqlAgentStorage(table_name="finance_agent", db_file="agents.db"),
add_history_to_messages=True,
markdown=True,
)
app = Playground(agents=[finance_agent, web_agent]).get_app()
if __name__ == "__main__":
serve_playground_app("playground:app", reload=True)
-
启动
python playground.py
-
通过运行
phi auth
命令认证,或者通过设置环境变量PHI_API_KEY
来认证。 -
Phidata不存储任何数据,所有代理数据都存储在本地的SQLite数据库中。
监控与调试
Phidata提供了内置的监控和调试工具。
-
在任何代理上设置
monitoring=True
来跟踪会话,或者在环境中设置PHI_MONITORING=true
。 -
在代理上设置
debug_mode=True
来启用调试模式,或者在环境中设置PHI_DEBUG=true
。
参考文档
-
项目文档[2]
-
社区论坛[3]
注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。
欢迎关注&点赞&在看,感谢你的阅读~
资源列表
[1]
Github地址: https://github.com/phidatahq/phidata
[2]
项目文档: https://docs.phidata.com
[3]
社区论坛: https://community.phidata.com/