基于心流大模型和LangChain的智能文档问答系统,支持多种文档格式的知识库构建和智能问答。
- 🤖 智能问答: 基于心流大模型的自然语言问答
- 📚 多格式支持: 支持PDF、TXT、Markdown文档
- 🔍 向量检索: 使用ChromaDB/FAISS进行高效向量存储和检索
- 🌐 Web界面: 基于Streamlit的直观Web界面
- 📊 实时监控: 系统状态和知识库统计
- 💾 会话历史: 对话记录保存和导出
- ⚙️ 灵活配置: 支持多种模型和参数配置
├── @cc-code/ # 主要代码目录
│ ├── ccc_rag_system.py # RAG系统核心逻辑
│ ├── ccc_iflow_api.py # 心流API接口封装
│ ├── ccc_document_processor.py # 文档处理模块
│ ├── ccc_config.py # 配置管理
│ ├── ccc_streamlit_app.py # Web界面
│ └── requirements.txt # 依赖包列表
├── @cc-doc/ # 文档目录
├── @doc/ # 问答记录
└── .env.example # 环境变量模板
# 克隆项目
git clone <repository-url>
cd 4-ai-iflow-api
# 安装依赖
pip install -r @cc-code/requirements.txt# 复制环境变量模板
cp @cc-code/.env.example .env
# 编辑.env文件,配置您的心流API密钥
# IFLOW_API_KEY=your_api_key_here# 使用启动脚本
@cc-code/start.sh
# 或直接启动Streamlit
streamlit run @cc-code/ccc_streamlit_app.py- 打开浏览器访问
http://localhost:8501 - 在侧边栏上传文档或加载文档目录
- 等待文档处理完成
- 开始智能问答
| 变量名 | 说明 | 默认值 |
|---|---|---|
IFLOW_API_KEY |
心流API密钥 | 必需 |
IFLOW_BASE_URL |
API基础地址 | https://apis.iflow.cn/v1 |
IFLOW_MODEL |
使用的模型 | qwen3-max |
VECTOR_DB_TYPE |
向量数据库类型 | chroma |
CHUNK_SIZE |
文档分块大小 | 1000 |
CHUNK_OVERLAP |
块重叠大小 | 200 |
- qwen3-max (默认) - 通义千问3.0最大版
- kimi-k2 - Kimi K2模型
- deepseek-v3 - DeepSeek V3模型
- glm4.6 - GLM 4.6模型
- 知识库管理和向量存储
- 文档检索和上下文生成
- 问答逻辑和结果组装
- 心流大模型API封装
- 请求管理和错误处理
- 流式和非流式响应支持
- 多格式文档解析
- 文本分块和向量化
- 批量处理和进度跟踪
- 用户交互界面
- 系统状态监控
- 配置管理和历史记录
from ccc_rag_system import rag_system
# 添加文档
rag_system.add_documents("./docs")
# 查询问答
response = rag_system.query("什么是RAG系统?")
print(response.answer)from ccc_document_processor import DocumentProcessor
processor = DocumentProcessor()
documents = processor.process_directory("./knowledge_base")@cc-code/: 主要代码文件,包含核心功能实现@cc-doc/: 代码修改说明和技术文档@doc/: 问答记录和用户文档.claude/: Claude Code配置文件
- 遵循PEP 8 Python代码规范
- 使用类型注解增强代码可读性
- 添加详细的文档字符串
- 实现适当的错误处理和日志记录
-
API连接失败
- 检查网络连接
- 验证API密钥正确性
- 确认API配额是否充足
-
文档加载失败
- 检查文件格式是否支持
- 确认文件路径正确
- 查看错误日志信息
-
向量数据库错误
- 清理数据库目录重新初始化
- 检查磁盘空间是否充足
- 验证依赖包版本兼容性
# 查看详细日志
export LOG_LEVEL=DEBUG
streamlit run @cc-code/ccc_streamlit_app.py- Fork 项目
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
本项目基于 MIT 许可证开源 - 查看 LICENSE 文件了解详情。
如有问题或建议,请通过以下方式联系:
- GitHub Issues: 提交问题
- 邮箱: [your-email@example.com]
注意: 使用前请确保已获得心流API的使用权限,并妥善保管API密钥。