logo
0
0
Login
编辑文件 README.md

DeepSeek 智能助手

基于 DeepSeek LLM 的智能聊天助手系统,支持工具调用、知识库检索、Web界面和统一对话管理。

✨ 主要功能

  • 智能对话: 基于 DeepSeek LLM 的自然语言对话
  • 工具调用: 自动识别用户意图并调用相应工具(计算器、天气、时间)
  • 知识库检索: 支持文档向量化和智能检索(支持 PDF、DOCX、TXT、MD、CSV)
  • Web界面: 提供现代化的Web聊天界面
  • 流式输出: 实时流式响应,提升用户体验
  • 记忆管理: 支持对话历史记忆和上下文管理
  • 文件管理: 支持文档上传、删除和知识库重建

🚀 快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置环境变量

创建 .env 文件:

DEEPSEEK_API_KEY=your_deepseek_api_key_here

3. 运行应用

命令行版本

python main.py

Web界面版本

python app.py

然后访问 http://localhost:5000

📁 项目结构

demo2/ ├── main.py # 统一聊天系统主程序 ├── app.py # Flask Web应用 ├── requirements.txt # 项目依赖 ├── config/ # 配置管理 │ └── settings.py # 统一配置 ├── tools/ # 工具模块 │ ├── calculator_tool.py # 计算器工具 │ ├── weather_tool.py # 天气工具 │ └── time_tool.py # 时间工具 ├── agents/ # 智能体模块 │ └── tool_agent.py # 工具智能体 ├── chains/ # 对话链模块 │ └── deepseek_chain.py # DeepSeek 对话链 ├── llms/ # LLM 模块 │ └── deepseek_lcel.py # DeepSeek LLM 封装 ├── memory/ # 记忆模块 │ └── dialogue_memory.py # 对话记忆管理 ├── vectorstores/ # 向量存储模块 │ ├── vector_store.py # 向量存储管理 │ └── document_loader.py # 文档加载器 ├── controller/ # 控制器模块 │ └── chat_controller.py # 聊天控制器 ├── indexs/ # Web界面 │ ├── index.html # 主页面 │ └── static/ # 静态资源 ├── docs/ # 文档目录(知识库) └── examples/ # 示例文档

💡 使用示例

数学计算

用户: 计算 2 + 3 * 4 助手: 计算结果: 2 + 3 * 4 = 14

天气查询

用户: 北京今天天气怎么样? 助手: 城市: 北京 时间: 2024-01-15 14:30:25 天气: 晴天 温度: 18°C

时间查询

用户: 现在几点了? 助手: 当前时间: 2024-01-15 14:30:25

知识库问答

用户: 什么是人工智能? 助手: [基于上传的文档内容回答]

⚙️ 配置说明

config/settings.py 中可以调整以下参数:

  • DEFAULT_MAX_TOKENS: 最大输出token数 (默认: 2048)
  • DEFAULT_TEMPERATURE: 模型温度 (默认: 0.5)
  • DEFAULT_MAX_TURNS: 最大对话轮数 (默认: 10)
  • DEFAULT_CHUNK_SIZE: 文档分块大小 (默认: 500)
  • DEFAULT_RETRIEVAL_K: 知识库检索数量 (默认: 2)

🔧 高级功能

知识库功能

  1. 启用知识库: 在 docs/ 目录中放入文档文件
  2. 配置API: 在 .env 文件中添加:
QWEN_API_KEY=your_qwen_api_key_here QWEN_SECRET_KEY=your_qwen_secret_key_here
  1. 支持格式: PDF、DOCX、TXT、MD、CSV

Web界面功能

  • 文件上传: 支持拖拽上传文档到知识库
  • 文件管理: 查看、删除已上传的文档
  • 知识库管理: 重建向量存储、清空知识库
  • 对话管理: 清空对话历史

添加新工具

  1. tools/ 目录下创建新的工具文件
  2. 使用 @tool 装饰器定义工具函数
  3. tools/__init__.py 中导入新工具
  4. main.pyUnifiedChatSystem 中添加工具

🎯 运行模式

1. 统一聊天系统 (main.py)

  • 自动判断是否需要工具调用
  • 支持知识库检索
  • 统一的对话管理

2. Web界面 (app.py)

  • 现代化Web聊天界面
  • 文件上传和管理
  • 实时流式对话

⚠️ 注意事项

  • 请妥善保管您的 API 密钥
  • 计算器工具使用了 eval() 函数,生产环境建议使用更安全的计算库
  • 天气工具当前使用模拟数据
  • 知识库功能需要配置 QWEN API 密钥
  • Web界面默认运行在 http://localhost:5000