使用说明
使用FastMCP、Ollama和LangChain的PDF RAG应用程序
一个简单的应用程序,用于通过Ollama使用Retrieval-AugedGeneration(RAG)和本地LLM查询PDF文档,并可回退到金融时报API获取财务数据。
原理
- 加载PDF:该应用程序从
data/文件夹。 - 分块:PDF中的文本被拆分为更小、更易于管理的块。
- 嵌入:Ollama将这些文本块转换为数值表示(嵌入)。
- 矢量存储:嵌入存储在FAISS向量存储中,用于语义搜索。
- 询问:当有问题被问到时(例如,默认问题),应用程序:
- 将问题转换为嵌入。
- 从PDF中查找最相关的文本块。
- 将这些块和问题发送给Ollama LLM。
- 根据PDF上下文返回答案。
- 如果在PDF中找不到答案,它将向英国《金融时报》API查询相关数据。
- 输出:答案及其来源(PDF页面或FT API)打印到控制台。
先决条件
- Python 3.11: 下载Python 3.11
- 诗歌:用于Python包管理。 安装说明
- 奥拉马:用于运行本地LLM。
- 下载自 ollama.com/下载
- 拉动模型:
ollama pull llama3
- pdf文件:PDF文件(例如。,
Barclays-PLC-Annual-Report-2020.pdf)在data/文件夹。
安装说明
-
克隆/下载项目:
- 确保所有文件(
main.py,pyproject.toml,.env.example)位于项目根目录中。
- 确保所有文件(
-
再进行:
- 在项目根目录中打开一个终端并运行:
poetry env use python3.11 poetry install
- 在项目根目录中打开一个终端并运行: