Token导航 LogoToken导航TokenDH.com
Research Assistant for-Insurance Policy Design Tech logo
搜索检索stdio官方级别未说明来源级核验

Research Assistant for-Insurance Policy Design Tech

MCP Server

一个多代理AI系统,专注于分析和比较突尼斯保险政策与国际标准,提供文档处理、语义搜索和智能问答功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
搜索Python文档处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ner001

提供方

ner001

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

保险单设计与分析研究助理

一个多代理人工智能系统,旨在分析、总结和比较保险文件,重点是将突尼斯的保险政策与国际标准进行比较。

📋 概述

该应用程序利用先进的自然语言处理(NLP)和大型语言模型(LLM)来处理保单文档。它提供智能文档分析、语义搜索功能,以及突尼斯和国际保险政策之间的比较见解。

主要特点

  • 📄 文档处理:从PDF保险文档中提取和处理文本
  • 🤖 多代理系统:文件分析和丰富的专门代理人
  • 📝 全球总结:根据块级分析生成综合摘要
  • 🔍 语义搜索:基于向量的相似性搜索,用于查找相关信息
  • 💡 智能问答:使用上下文感知AI回答有关保险政策的问题
  • 📊 文档丰富:自动生成摘要、关键字和相关问题
  • 🌐 政策比较将突尼斯的保险政策与国际标准进行比较
  • ⚡ 并行处理:高效的多线程文档丰富

分析仪接口

Analyzer是一个代理检索增强生成(RAG)管道,它将异构文档转换为结构化、可查询的知识。它强调对原始结构(表、标题、格式)的忠实性、丰富的元数据和快速的语义检索,因此LLM可以用准确的、来源支持的上下文来回答问题。

摘要生成器代理

摘要代理 是一个专门的组件,可以从文档块生成全面的全局摘要。与简单的连接不同,它智能地将块级摘要合成为整个文档的连贯、执行级概述。

分析仪接口

How it Works

  1. 上下文感知处理:通过共享MCP(多代理上下文协议)上下文接收块摘要
  2. 智能合成:使用高级LLM提示组合块摘要,同时:

- 消除冗余 - 保持逻辑流程 - 保存关键信息和关系 - 确定反复出现的主题和主要部分

  1. 忠实的总结:确保没有幻觉——只包括块摘要中存在的信息
  2. 专业输出:生成适合高管和研究人员的简洁、结构良好的摘要

主要特点

  • 回退机制:可以从上下文或元数据中提取摘要
  • 结构化提示:使用详细的说明来确保高质量的输出
  • 主题辨识:确认并突出文件各节中反复出现的主题
  • 关系维护:保持源材料的因果关系和程序关系

管道级

  1. 结构感知分块——在保留表格、标题、列表和其他结构线索的同时对文本进行分段,以避免意义丧失。
  2. 元数据丰富——为每个块生成简洁的摘要、语义关键字和候选问题,以提高检索精度。
  3. 重构和规范化——将异构源(PDF、图像、代码片段、表格)合并到一个具有出处链接的一致内部模式中。
  4. 并行富集——同时运行摘要、关键字提取和问答提示以提高速度(ThreadPoolExecutor)。
  5. 嵌入和向量数据库——为丰富的块创建嵌入,并将其存储在FAISS中,以实现快速语义搜索。
  6. 关系元数据存储——持久化结构化元数据、块来源和索引状态,用于审计和选择性重新索引。
  7. 检索器+重新排序器——通过语义相似性检索候选块,并应用元数据感知的重新排序(日期、部分、置信度)。
  8. RAG答案生成——LLM使用检索到的块、摘要和源引用来编写答案;反应包括来源和置信信号。
  9. 连续索引和反馈循环——支持增量更新、用户反馈合并和更改文档的重新丰富。

主要优势

  • 相关性更高:丰富的元数据和结构感知分块提高了检索准确性。
  • 可解释性:答案包括引用和块级出处。
  • 效率:并行丰富和紧凑的嵌入减少了延迟和令牌使用。
  • 可扩展性:双存储(FAISS+关系型)使大型语料库能够进行选择性重新索引。

快速配置指针

  • 分块:可通过src/agents/analyzer_agent.py中的CHUNK_SIZE和CHUNK_OVERLAP进行配置
  • 嵌入:在src/utils/vector_store.py中设置(默认:句子转换器/all-MiniLM-L6-v2)
  • LLM:在src/agents/analyzer_agent.py中更改模型/温度(默认值:ollama llama3:8b)
  • 并行性:调整ThreadPoolExecutor max_workers的CPU/内存权衡

🏗️ 项目结构

Research_Assistant_for-Insurance_Policy_Design_Tech/
│
├── src/                          # Source code directory
│   ├── agents/                   # AI agents for document processing
│   │   ├── __init__.py
│   │   ├── analyzer_agent.py     # Main document analyzer agent
│   │   └── summarizer_agent.py   # Document summarization agent
│   │
│   ├── components/               # UI components
│   │   ├── __init__.py
│   │   └── document_uploader.py  # Document upload handler
│   │
│   ├── config/                   # Configuration files
│   │   ├── __init__.py
│   │   └── settings.py           # Application settings
│   │
│   ├── utils/                    # Utility functions
│   │   ├── __init__.py
│   │   ├── text_extractor.py     # PDF text extraction
│   │   ├── text_cleaner.py       # Text preprocessing and cleaning
│   │   ├── chunker.py            # Document chunking utilities
│   │   └── process_document.py   # Main document processing pipeline
│   │
│   ├── mcp.py                    # Shared context management for agents
│   └── app.py                    # Main Streamlit application
│
├── results/                      # Output directory for enriched chunks
├── uploads/                      # Directory for uploaded documents
├── requirements.txt              # Python dependencies
├── .gitignore                    # Git ignore rules
└── README.md                     # This file

🔧 技术栈

  • 前端:流光灯
  • PDF处理:PyPDF
  • LLM框架:LangChain,LlamaIdex
  • 向量存储:FAISS
  • 嵌入:拥抱脸句子转换器(全MiniLM-L6-v2)
  • LLM:Ollama(火焰3 8B模型)
  • 并行处理:Python线程池执行器

📦 安装

先决条件

  • Python 3.8或更高版本
  • Ollama在本地安装(用于运行LLaMA型号)
  • Git

步骤1:克隆存储库

git clone https://github.com/ner001/Research_Assistant_for-Insurance_Policy_Design_Tech.git
cd Research_Assistant_for-Insurance_Policy_Design_Tech

第二步:创建虚拟环境

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate

步骤3:安装依赖项

pip install -r requirements.txt

步骤4:安装和设置Olama

  1. 安装Ollama奥拉玛
  1. 拉动LLaMA 3型号:
ollama pull llama3:8b
  1. 确认Ollama正在运行:
ollama list

步骤5:配置环境变量(可选)

创建一个 .env 如果要自定义设置,请将文件放在根目录中:

# API Configuration (if using external APIs)
API_KEY=your_api_key_here
API_URL=your_api_url_here

# Model Configuration
MODEL_NAME=llama3
CHUNK_SIZE=1000
CHUNK_OVERLAP=200
备注:即使没有默认设置,应用程序也可以使用默认设置 .env 文件。

🚀 如何跑步

方法1:使用Streamlit(推荐)

  1. 导航到项目目录:
cd Research_Assistant_for-Insurance_Policy_Design_Tech
  1. 运行Streamlit应用程序:
streamlit run src/app.py
  1. 打开浏览器 http://localhost:8501

方法2:直接使用Python

cd src
python -m streamlit run app.py

📖 使用指南

上传和分析文档

  1. 启动应用程序 使用上述方法之一
  2. 上传PDF文档 使用文件上传器
  3. 等待处理:该系统将:

- 从PDF中提取文本 - 清理和预处理文本 - 将文档分为可管理的部分 - 用摘要、关键字和问题丰富每个块 - 创建用于语义搜索的向量存储

  1. 提出问题 关于查询输入字段中的文档
  2. 获取人工智能驱动的答案 基于文档内容
  3. 生成全局摘要:单击“生成全局摘要”按钮,创建整个文档的全面执行摘要

示例查询

  • “人寿保险的承保限额是多少?”
  • “本保单的除外责任是什么?”
  • “比较不同保险类型之间的免赔额”
  • “本文件中概述的索赔程序是什么?”
  • “总结此保险单的主要好处”

🎯 用例

1.文件分析

自动分析保险单文档以提取关键信息、条款和条件。

2.政策比较

将突尼斯的保险政策与国际标准进行比较,以确定差异和相似之处。

3.研究助理

通过智能问答快速查找大型保险文件中的具体信息。

4.知识提取

生成摘要,提取关键字,并从保险单中识别重要概念。

🔬 运作原理

文档处理管道

  1. 文本提取:使用PyPDF从PDF中提取原始文本
  2. 文本清理:删除页眉、页脚、页码和格式工件
  3. 分块:将文档拆分为重叠的块(配置:2000个字符,200个字符重叠)
  4. 富集 (并行处理):

- 为每个块生成摘要 - 提取相关关键词 - 创建假设问题

  1. 嵌入:将增强文本转换为向量嵌入
  2. 向量存储:存储在FAISS中以进行快速相似性搜索
  3. 查询处理:使用LLM查找相关块并生成答案

多代理架构

  • DocumentAnalyzerAgent:负责文档处理、丰富和查询应答的主要代理
  • 摘要代理:用于从块级摘要生成全面全局摘要的专业代理

- 将多个块摘要合成为连贯的全局摘要 - 通过共享MCP(多代理上下文协议)使用上下文感知处理 - 消除冗余,同时保持文档保真度 - 生成适合快速理解文档的执行级摘要

  • 文本预处理:智能清洁,将令牌负载减少20-30%
  • 并行扩充:使用ThreadPoolExecutor进行并发块处理
  • 情境感知问答:利用文档摘要、关键字和原始文本提供全面的答案
  • 共享上下文(MCP):线程安全上下文管理使代理能够高效地共享元数据和摘要

🛠️ 配置

块大小设置

修改中的块设置 src/agents/analyzer_agent.py:

# In process_document method
self.chunks = self.chunk_text(
    self.cleaned_text, 
    chunk_size=2000,      # Currently configured chunk size
    chunk_overlap=200     # Currently configured overlap
)

注: chunk_text 方法的默认参数为 chunk_size=2500chunk_overlap=300但是 process_document 明确使用2000和200来获得当前LLM设置的最佳性能。

LLM设置

在中更改LLM模型 src/agents/analyzer_agent.py:

self.llm = Ollama(
    model="llama3:8b",    # Change model here
    temperature=0.3       # Adjust temperature
)

嵌入模型

修改中的嵌入模型 src/utils/vector_store.py:

embeddings = HuggingFaceEmbeddings(
    model_name="sentence-transformers/all-MiniLM-L6-v2"
)

🔒 安全说明

  • .env 文件不应提交到版本控制
  • API密钥和敏感凭据应存储在环境变量中
  • 上传的文档是临时存储的,应根据您的数据保留策略进行管理

📊 演出

  • 并行处理:使用4个工作线程进行块富集
  • 文本缩减:预处理可将文本减少约20-30%
  • 快速搜索:FAISS支持亚秒级相似性搜索
  • 高效嵌入:轻量级的全MiniLM-L6-v2型号,用于快速嵌入生成

🤝 贡献

欢迎投稿!请随时提交pull请求或打开bug和功能请求的问题。

📝 许可证

本项目按原样提供,用于研究和教育目的。

🐛 故障排除

常见问题

问题:“Ollama连接错误”

  • 解决方案:确保Ollama已安装并运行。跑 ollama list 以验证。

问题:“找不到模块”错误

  • 解决方案:确保安装了所有依赖项: pip install -r requirements.txt

问题:“处理过程中出现内存错误”

  • 解决方案:减小块大小或处理较小的文档

问题:“处理速度慢”

  • 解决方案:调整 max_workers 在ThreadPoolExecutor中或使用较小的LLM模型

📧 联系

如有疑问或支持,请在GitHub存储库上打开问题。

🎓 学术背景

该项目旨在研究保险政策分析,特别侧重于理解突尼斯保险法规并将其与国际标准进行比较。它是保险专业人员、研究人员和政策制定者的工具。

目录标签

目录标签

搜索Python文档处理保险分析本地部署多代理系统语义搜索政策比较

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP