This example application shows how to build a sophisticated RAG (Retrieval Augmented Generation) system that leverages search of a knowledge base with LLMs to provide deep insights into the data.

该代理可以:

  • 处理和理解来自多个来源(PDF、网站、文本文件)的文档
  • 使用向量嵌入构建可搜索的知识库
  • 跨会话维护对话上下文和记忆
  • 为其响应提供相关的引文和来源
  • 生成摘要并提取关键见解
  • 回答后续问题和澄清

该代理使用:

  • 用于相关文档检索的向量相似性搜索
  • 用于上下文响应的对话记忆
  • 用于来源归属的引文跟踪
  • 动态知识库更新

可尝试的示例查询:

  • “这份文件的关键要点是什么?”
  • “你能总结一下主要的论点和支持证据吗?”
  • “重要的统计数据和发现是什么?”
  • “这与[主题X]有什么关系?”
  • “这份分析的局限性或差距是什么?”
  • “你能更详细地解释一下[概念X]吗?”
  • “还有哪些其他来源支持或反驳这些说法?“

代码

完整的代码可在 Agno 存储库 中找到。

用法

1

克隆存储库

git clone https://github.com/agno-agi/agno.git
cd agno
2

创建虚拟环境

python3 -m venv .venv
source .venv/bin/activate
3

安装依赖项

pip install -r cookbook/examples/streamlit_apps/agentic_rag/requirements.txt
4

运行 PgVector

首先,安装 Docker Desktop

然后使用辅助脚本运行:

./cookbook/scripts/run_pgvector.sh

或直接使用 Docker 运行:

docker run -d \
  -e POSTGRES_DB=ai \
  -e POSTGRES_USER=ai \
  -e POSTGRES_PASSWORD=ai \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v pgvolume:/var/lib/postgresql/data \
  -p 5532:5432 \
  --name pgvector \
  agnohq/pgvector:16
5

设置 API 密钥

# Required
export OPENAI_API_KEY=***
# Optional
export ANTHROPIC_API_KEY=***
export GOOGLE_API_KEY=***

我们建议使用 gpt-4o 以获得最佳性能。

6

启动应用程序

streamlit run cookbook/examples/streamlit_apps/agentic_rag/app.py

打开 localhost:8501 开始使用 Agentic RAG。

需要帮助?加入我们的 Discourse 社区 以获得支持!