🚢 船舶消防法规聊天机器人(GraphRAG+流媒体)
利用AWS Bedrock和Neptune的船舶消防系统和SOLAS法规专门聊天机器人。
主要功能
🔥 步骤3实时流媒体
- 步骤1: 📋 制定文档分析和搜索计划
- 步骤2: 🔍 知识库搜索(显示进度)
- 步骤3: 🤖 生成最终答案(打字效果)
🧠 GraphRAG体系结构
- 知识库:AWS Bedrock Knowledge Base(矢量搜索)
- 重排序:Cohere Rerank v3.5(重新排序相关性)
- LLM:Claude3.5 Sonnet(生成答案)
- 图形数据库:Neptune Analytics(知识图)
🎯 多代理系统
- Plan-Execute Agent(流式处理支持)
- 可扩展代理体系结构
- 基于配置文件的代理管理
🚀 快速入门
1.首选参数
# 의존성 설치
pip install -r requirements.txt
# 환경변수 설정
cp .env.example .env
# .env 파일에서 AWS 자격증명 설정2.运行
streamlit run app.py📁 项目结构
shi-graphrag-chatbot/
├── agents/ # 에이전트 모듈
│ └── plan_execute_agent/
│ ├── agent.py # 기존 동기 버전
│ └── streaming_agent.py # 새로운 스트리밍 버전
├── config/
│ └── agents.yaml # 에이전트 설정
├── core/
│ └── agent_manager.py # 에이전트 관리자
├── ui/ # UI 컴포넌트
│ ├── chat_interface.py
│ ├── reference_display.py
│ └── sidebar.py
└── app.py # 메인 애플리케이션🔧 技术堆栈
AWS服务
- 基岩:克劳德3.5十四行诗,柯赫尔·雷兰克
- 知识库:嵌入文档并搜索矢量
- 海王星:知识图形库
Python库
- 溪流:Web UI框架
- 缕:流代理框架
- 肉毒杆菌3:AWS SDK
- 异步:异步处理
设置⚙ENT
agents.yaml设置示例
agents:
plan_execute:
display_name: "Plan-Execute Agent (스트리밍)"
streaming_enabled: true
streaming_config:
chunk_size: 50
timeout: 30
fallback_to_sync: true
bedrock_model_id: "anthropic.claude-3-5-sonnet-20240620-v1:0"🎮 使用方法
- 输入问题:输入船舶消防规定相关问题
- 实时推论:实时查看步骤3的推论过程
- 参考文档:在底部查看作为答案依据的文档
- 知识图:从边栏可视化FSS Ontology
🔄 流工作流
graph TD
A[사용자 질문] --> B[1단계: 계획 수립]
B --> C[2단계: KB 검색]
C --> D[3단계: 답변 생성]
D --> E[참조 문서 표시]
B -.-> F[실시간 스트리밍]
C -.-> F
D -.-> F🛠️ 开发者指南
添加新代理
agents/在目录中创建新模块config/agents.yaml将设置添加到- 支持流
process_message_stream()实现方法
流代理开发
async def process_message_stream(self, message: str, session_id: str):
"""스트리밍 메서드 구현"""
yield "### 1단계: 처리 시작\n\n"
# 처리 로직...
async for chunk in self._stream_process():
yield chunk🧪 测试
# 기본 테스트
python test_simple.py
# 스트리밍 테스트
python test_streaming.py
# 실시간 모니터링
python live_test_monitor.py📊 性能优化
- 异步处理:基于asyncio的流
- 线程安全:支持多线程环境
- 回退机制:自动切换到流失败的同步方式
- 缓存:利用Streamlit高速缓存提高性能
🔍 监视
- 实时流状态监控
- 错误处理和恢复机制
- 收集性能度量
📝 许可证
此项目在MIT许可证下分发。
🤝 贡献
- 分叉项目
- 创建功能分支
- 提交您的更改
- 推到分支机构
- 打开拉取请求
______________________________________________________________________
开发完成日期: 2024-12-03\ 主要功能:三步实时流,GraphRAG,多代理
