查看原文
其他

Groq + Llama 3 实现本地 RAG:Phidata 框架的应用与性能展示

思辨view kate人不错
2024-07-24

Phidata 是一个框架,专为构建具备记忆、知识和工具的 AI 智能体而设计。

https://www.phidata.com/

https://github.com/phidatahq/phidata

https://docs.phidata.com/introduction

Phidata 三方面增强 LLM 功能:

  1. 记忆:Phidata 通过存储聊天历史在数据库中,使大型语言模型能够支持更长时间的对话,从而更好地理解和跟踪对话上下文。
  2. 知识:通过将业务相关的信息存储在向量数据库中,Phidata 为模型提供了丰富的业务背景知识,增强了其对专业内容的理解和响应能力。
  3. 工具:Phidata 赋予了大型语言模型执行具体操作的能力,例如从 API 获取数据、发送电子邮件或进行数据库查询,从而扩展了模型的实用性和应用范围。

Phidata 工作流程

  1. 创建一个助手。

  2. 添加工具(即各种功能)、知识库(vectordb)和数据存储(database)。

  3. 通过使用 Streamlit、FastAPI 或 Django 等工具来部署和服务化你的AI应用。

注:

向量数据库(vectordb)主要用于存储和检索向量化的数据。在AI应用中,向量数据库通常用于增强模型的上下文理解能力,通过向量化的方式存储关键信息,支持复杂的查询和动态的内容推荐。例如,在推荐系统或语义搜索中非常有用。

数据存储(database)用于存储各种形式的数据,包括文本、数字、记录等。数据库在AI应用中主要用于持久化存储用户数据、交互历史和应用状态等。这些信息可用于后续的数据分析、报告生成或为持续的对话提供历史上下文。

Phidata 官方演示

https://hn.aidev.run/

https://arxiv.aidev.run/

推荐 Phidata 的一个主要原因是它更新迅速,并且支持多种大型语言模型(LLM)。

https://github.com/phidatahq/phidata/tree/main/cookbook/llms

安装 Phidata

pip install -U phidata

Groq 上使用 Llama3 实现 RAG

https://github.com/phidatahq/phidata/tree/main/cookbook/llms/groq/rag

对于词嵌入(Embeddings),选择使用 Ollama 或 OpenAI。

1. 创建虚拟环境

python3 -m venv ~/.venvs/aienv
source ~/.venvs/aienv/bin/activate

2. 导出你的 Groq API 密钥

export GROQ_API_KEY=***

3. 使用 Ollama 或 OpenAI 生成词嵌入

要使用 Ollama 生成词嵌入,请先安装 Ollama,然后运行nomic-embed-text模型:

ollama run nomic-embed-text

要使用 OpenAI 生成词嵌入,请导出你的 OpenAI API 密钥:

export OPENAI_API_KEY=sk-***

4. 安装依赖库

pip install -r cookbook/llms/groq/rag/requirements.txt

5. 运行PgVector

先安装 Docker Desktop。然后使用辅助脚本运行:

./cookbook/run_pgvector.sh

或者直接使用docker run命令运行:

docker run -d \
  -e POSTGRES_DB=ai \
  -e POSTGRES_USER=ai \[app.py](..%2Fapp.py)
  -e POSTGRES_PASSWORD=ai \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v pgvolume:/var/lib/postgresql/data \
  -p 5532:5432 \
  --name pgvector \
  phidata/pgvector:16

6. 运行RAG应用

streamlit run cookbook/llms/groq/rag/app.py

打开localhost:8501查看你的RAG应用。

添加网站链接或PDF文件,然后提出问题。

实际体验

在运行 streamlit run cookbook/llms/groq/rag/app.py 时,如果系统提示缺少 psycopgpgvector,你可以通过执行 pip install psycopgpip install pgvector 来安装这些缺失的库。

我上传了一份 2MB 的 Phi-3 技术报告的 PDF 文件到程序中,模型在几秒内完成了文件的嵌入处理。

之后提出问题,可以即时得到答案。

这得益于 Groq 的高速生成能力,在 llama3-70b-8192 模型下,生成速度可达 280 Tokens/s。实际使用中,我发现用英文提问的效果比中文更好。

对网页内容提问

我对 Phidata 满意,它提供的示例代码简洁明了,易于理解。

此外,它还优化了输出格式,使得即使是在终端运行简单的 Python 文件,也能看到美观的输出结果。

结语

总的来说,Phidata 提供了一个强大且灵活的框架,可以大幅增强大型语言模型的能力。

通过整合记忆、知识和工具,Phidata 不仅优化了数据处理和交互效率,也极大地扩展了应用场景。

推荐大家体验。


精选历史文章,请看这里:

Groq API 使用指南:无需申请即可体验,从速率限制到模型参数解析

Mac 用户的 RAG 交互:通过 Chat-with-MLX 与数据对话

实测在Mac上使用Ollama与AI对话的过程 - 模型选择、安装、集成使用记,从Mixtral8x7b到Yi-34B-Chat

Llama 3 登场:70B 版本超越 Claude 3 Sonnet,探索8大主要使用渠道

继续滑动看下一个
kate人不错
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存