sd / README_gemini_excel_rag.md
decula
added langchain
ce31327

Gemini Flash 2.0 Excel RAG 系统

这个项目利用 LangChain 调用 Google 的 Gemini Flash 2.0 模型,并使用 markitdown 库作为 Excel 导入工具,将数据存储到本地的向量数据库中。系统能够通过向量数据库中的 Excel 表格内容,以 RAG (检索增强生成) 的方式增强模型回答的准确性。

功能特点

  • 使用 Google 的 Gemini Flash 2.0 大语言模型
  • 支持导入 Excel 文件到向量数据库
  • 基于导入的 Excel 数据进行问答
  • 使用 RAG 技术增强回答的准确性和相关性
  • 提供友好的 Gradio Web 界面

安装步骤

  1. 克隆或下载本项目代码

  2. 安装所需依赖包:

pip install -r gemini_excel_requirements.txt
  1. 获取 Google API 密钥:
    • 访问 Google AI Studio
    • 创建一个 API 密钥
    • gemini_excel_rag.py 文件中替换 YOUR_GOOGLE_API_KEY 为您的实际 API 密钥

使用方法

  1. 运行应用程序:
python gemini_excel_rag.py
  1. 在浏览器中访问显示的本地地址(通常是 http://127.0.0.1:7860)

  2. 使用界面:

    • 导入 Excel 数据:上传 Excel 文件并处理导入到向量数据库
    • 查询问答:输入问题,系统会基于导入的 Excel 数据回答
    • 查看向量库内容:搜索向量库中的内容,查看已导入的数据

工作原理

  1. 数据导入流程

    • 上传 Excel 文件
    • 使用 pandas 读取 Excel 内容
    • 将每行数据转换为文本格式
    • 存储到 Chroma 向量数据库
  2. 查询回答流程

    • 用户输入问题
    • 系统在向量数据库中检索相关内容
    • Gemini Flash 2.0 模型结合检索内容生成回答
    • 返回增强后的回答给用户

自定义配置

  • 修改嵌入模型:可以在代码中更改 embedding_model 的初始化参数
  • 调整文本分割参数:修改 text_splitter 的参数以适应不同的数据格式
  • 更改 RAG 检索数量:在 retrieversearch_kwargs 中调整 k

注意事项

  • 确保您有足够的网络连接以访问 Google API
  • 大型 Excel 文件处理可能需要较长时间
  • 向量数据库存储在本地 ./vector_store 目录中

依赖库

  • langchain:用于构建 RAG 流程
  • langchain-google-genai:连接 Gemini 模型
  • gradio:提供 Web 界面
  • pandas:处理 Excel 文件
  • chromadb:向量数据库
  • sentence-transformers:文本嵌入模型
  • markitdown:Excel 内容提取工具

许可证

本项目使用 MIT 许可证。