知识库与 RAG工具
Insurance-Policy-RAG:基于 Gemini 与 ChromaDB 的保单 PDF 问答助手
arashshams/Insurance-Policy-RAG · A RAG assistant that answers plain-English questions about an insurance policy PDF, grounded in the document and cited by page. Built with Gemini embeddings, ChromaDB, and a Streamlit app you can try live.
ELI5:它是什么,解决什么问题
该项目是一个面向单一保险保单 PDF 的检索增强生成(RAG)问答助手,能够用自然语言回答保险条款问题,并基于文档内容给出页码引用,在文档未覆盖时明确回答“我不知道”。系统使用 Gemini 嵌入模型生成向量,存入 ChromaDB,通过 Streamlit 提供可在线试用的界面,同时也提供 FastAPI 后端和可导入的 Python 管道。项目包含评估工具,覆盖拒答、检索命中率、引用准确性等指标,并支持上传自己的保单 PDF 进行问答。
核心能力与快速开始
★ 0 · Python
- 能做什么
- 从保险保单 PDF 中提取文本,按重叠分块并嵌入到 ChromaDB 向量库;对用户问题检索最相关段落,并基于 Gemini 模型生成仅依据检索段落的回答,附带页码引用;检索为空或模型拒绝时明确输出“我不知道”;提供可导入的 Python 并行化管道(build_index_from_pdf、answer_question 等),支持在内存中处理上传 PDF 而不落盘;提供 FastAPI 接口(GET /health、POST /ask)和 Streamlit 界面(演示与上传模式);附带评估工具,用于计算拒答精确率/召回率、检索命中率、引用正确性等指标。
- 适用场景
- 用户希望快速查询自己保单 PDF 中的保险覆盖范围、免赔额、除外责任等条款;开发者想要参考一个端到端的 RAG 应用实现,包含文档摄入、嵌入、检索、生成与评估;需要构建文档问答系统并强调引用与拒答能力的场景;通过 Streamlit 在线演示或上传个人保单进行问答。
- 项目形态
- 可直接使用的工具
- 部署方式
- 提供 Streamlit 在线演示(无需安装);也可本地运行(make run-app)或运行 FastAPI 后端(make run-api)。上传模式下文档以内存方式处理,不落盘。
- 主要依赖
- Python 3.11;需要 Gemini API 密钥(材料称可在免费层使用);依赖包括 ChromaDB、Streamlit、FastAPI 等(见 requirements.txt);上传的文本会发送至 Google Gemini API 进行嵌入与回答。
- 使用限制
- 仅针对单一保单文档,不跨保险公司或保单类型泛化;不提供法律或财务建议;距离阈值 0.37 仅在示例保单上校准,可能不适用于其他保单;上传的 PDF 文本会发送给 Gemini API;未说明商业使用限制;示例保单为 Manulife FlexCare(32 页),答案仅对相同保单有效。
- 许可证
- MIT
- 最近推送
- 2026-10-30 08:58
资料检查:2026-10-31 07:00 · 卡片整理:2026-10-31 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
职业应用
程序员
作为可导入的 Python RAG 管道(src/rag_pipeline.py),供开发者构建和评估基于 PDF 的检索增强问答系统:调用 build_index_from_pdf 与 answer_question,并复用其评估工具(拒答、检索命中率、引用准确性)与 FastAPI 后端。
查看内容依据
The whole pipeline is consolidated into a single importable module, **`src/rag_pipeline.py`**, so notebooks, evaluation, and future apps all share one code path and one config block.
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。