返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

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

[复制链接]
链载Ai 显示全部楼层 发表于 2 小时前 |阅读模式 打印 上一主题 下一主题

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

pipinstall-Uphidata

Groq 上使用 Llama3 实现 RAG

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

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

1. 创建虚拟环境

python3-mvenv~/.venvs/aienv
source~/.venvs/aienv/bin/activate

2. 导出你的 Groq API 密钥

exportGROQ_API_KEY=***

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

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

ollamarunnomic-embed-text

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

exportOPENAI_API_KEY=sk-***

4. 安装依赖库

pipinstall-rcookbook/llms/groq/rag/requirements.txt

5. 运行PgVector

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

./cookbook/run_pgvector.sh

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

dockerrun-d\
-ePOSTGRES_DB=ai\
-ePOSTGRES_USER=ai\[app.py](..%2Fapp.py)
-ePOSTGRES_PASSWORD=ai\
-ePGDATA=/var/lib/postgresql/data/pgdata\
-vpgvolume:/var/lib/postgresql/data\
-p5532:5432\
--namepgvector\
phidata/pgvector:16

6. 运行RAG应用

streamlitruncookbook/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 不仅优化了数据处理和交互效率,也极大地扩展了应用场景。

推荐大家体验。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ