综合介绍
PhiData是一个专为开发智能AI助手而设计的框架。它通过增强记忆、知识整合和工具调用能力,使AI助手能够进行长期对话、提供精准的业务上下文,并执行各种操作。PhiData不仅提升了AI助手的智能水平,还扩展了其应用范围,使其能够更加精准地理解和响应用户需求。
功能列表
- 记忆:存储聊天历史,维持长期对话
- 知识:通过向量数据库存储信息,提供业务上下文
- 工具:调用API获取数据、发送电子邮件、执行数据库查询等
- 数据分析:使用SQL、DuckDb等工具进行数据分析
- 报告生成:进行研究并生成报告
- 问答:从PDF、API等来源回答问题
- 文章和视频摘要:总结文章和视频内容
使用帮助
安装Phidata
- https://github.com/phidatahq/phidata
- 确保你的开发环境中已经安装了Python和pip。
- 在命令行工具中执行以下命令来安装Phidata:
pip install -U phidata
环境配置
- 设置环境变量,例如使用OpenAI的API时需要设置
OPENAI_API_KEY
:export OPENAI_API_KEY=sk-xxxx
快速入门
创建一个能够使用DuckDuckGo进行网络搜索的AI助手
- 创建文件
assistant.py
:from phi.assistant import Assistant from phi.tools.duckduckgo import DuckDuckGo assistant = Assistant(tools=[DuckDuckGo()], show_tool_calls=True) assistant.print_response("What's happening in France?", markdown=True)
- 安装库并运行Assistant:
pip install openai duckduckgo-search python assistant.py
创建一个可以查询财务数据的助手
- 创建文件
finance_assistant.py
:from phi.assistant import Assistant from phi.llm.openai import OpenAIChat from phi.tools.yfinance import YFinanceTools assistant = Assistant( llm=OpenAIChat(model="gpt-4o"), tools=[YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True)], show_tool_calls=True, markdown=True, ) assistant.print_response("What is the stock price of NVDA") assistant.print_response("Write a comparison between NVDA and AMD, use all tools available.")
- 安装库并运行Assistant:
pip install yfinance python finance_assistant.py
高级应用
PhiData不仅适用于构建基础的AI助手,还拥有一系列高级功能,包括数据模型生成、SQL数据分析、以及Python代码执行等。以下是一些高级功能的示例:
编写和运行Python代码的助手
- 创建文件
python_assistant.py
:from phi.assistant.python import PythonAssistant assistant = PythonAssistant() assistant.print_response("Write a Python script to calculate the Fibonacci sequence.")
- 安装库并运行Assistant:
pip install openai python python_assistant.py
通过上述步骤,你可以快速上手并构建自己的智能AI助手,充分利用PhiData的强大功能。
为什么选择phidata
问题:LLM的背景有限,无法采取行动。
解决方案:添加记忆、知识和工具。
记忆:通过将聊天历史记录存储在数据库中,使LLM能够进行长期对话。
知识:通过将信息存储在向量数据库中,为LLM提供业务背景。
工具:使LLM能够采取从 API 提取数据、发送电子邮件或查询数据库等操作。
记忆和知识使法学硕士更加聪明,而工具使他们具有自主性。
怎么运行的
第 1 步:创建一个`Assistant`
步骤2:添加工具(功能)、知识(vectordb)和存储(数据库)
第 3 步:使用 Streamlit、FastApi 或 Django 构建您的 AI 应用程序
例子
1.创建虚拟环境
打开`Terminal`并创建一个python虚拟环境。
python3 -m venv ~/.venvs/aienv
source ~/.venvs/aienv/bin/activate
2.安装phidata
pip install -U phidata
3.创建助理
`assistant.py`使用可以使用 DuckDuckGo 搜索网络的助手创建一个文件。
from phi.assistant import Assistant
from phi.tools.duckduckgo import DuckDuckGoassistant = Assistant(tools=[DuckDuckGo()], show_tool_calls=True)
assistant.print_response("Whats happening in France?", markdown=True)
4.运行助手
默认情况下使用助手`OpenAI`。设置你的`OPENAI_API_KEY`(你可以从[这里]得到一个)。
export OPENAI_API_KEY=sk-***
安装`openai`&`duckduckgo`
pip install openai duckduckgo-search
运行助手
python assistant.py
演示
查看以下使用 phidata 构建的 AI 应用程序:
[PDF AI]总结并回答 PDF 中的问题。
[ArXiv AI]使用 ArXiv API 回答有关 ArXiv 论文的问题。
[HackerNews AI]总结故事、用户并分享 HackerNews 的最新动态。