# AI聊天功能使用说明 ## 概述 AI聊天模块为徵象防伪验证平台提供智能客服功能,基于Moonshot Kimi K2 API实现。 ## 文件结构 ``` api/products/ ├── aichat.py # 核心AI聊天库 ├── management/ │ └── commands/ │ └── chat.py # Django管理命令 └── README_AI_CHAT.md # 本文档 ``` ## 使用方法 ### 1. 作为Django管理命令运行(推荐) ```bash # 进入Django项目目录 cd api # 启动AI聊天 python manage.py chat # 使用自定义参数 python manage.py chat --api-key "your_key" --history-file "~/.custom_history" ``` **可用参数:** - `--history-file`: 指定历史文件路径 (默认: ~/.aichat_history) **注意:** API密钥和URL现在从Django设置中自动获取,无需命令行参数 ### 2. 作为Python库导入 ```python from products.aichat import AIChatService # 创建服务实例 service = AIChatService() # 发送消息 response = service.chat("你好,请介绍一下徵象平台") # 查看对话历史 history = service.get_conversation_history() # 清空历史 service.clear_history() ``` ### 3. 直接运行库文件(测试模式) ```bash python api/products/aichat.py ``` ## 功能特性 ### 核心功能 - **智能对话**: 基于Kimi K2的AI客服 - **工具调用**: 支持二维码扫描等工具 - **多轮对话**: 完整的对话历史管理 - **品牌定制**: 徵象平台专属系统提示词 ### 控制台功能 - **Readline支持**: 完整的命令行体验 - **历史记录**: 持久化的输入历史 - **智能补全**: Tab键命令补全 - **快捷键**: Emacs风格的编辑快捷键 ## 可用命令 在聊天界面中,可以使用以下命令: - `help` - 显示帮助信息 - `history` - 查看AI对话历史 - `clear` - 清空对话历史 - `readline-help` - 显示快捷键帮助 - `stats` - 显示readline统计信息 - `quit/exit/q` - 退出系统 ## 快捷键 ### 导航 - `↑/↓` - 浏览历史记录 - `Ctrl+A` - 跳转到行首 - `Ctrl+E` - 跳转到行尾 ### 编辑 - `Ctrl+U` - 删除到行首 - `Ctrl+K` - 删除到行尾 - `Ctrl+W` - 删除单词 ### 搜索 - `Ctrl+R` - 反向搜索历史 - `Ctrl+S` - 正向搜索历史 ### 补全 - `Tab` - 自动补全命令 ## 配置说明 ### 环境变量 - `KIMI_API_KEY`: Moonshot API密钥(在Django设置中配置) - `KIMI_API_URL`: Moonshot API基础URL(在Django设置中配置) ### Django设置配置 API凭证在 `emblemapi/settings.py` 中配置: ```python KIMI_API_KEY = "your_api_key_here" KIMI_API_URL = "https://api.moonshot.cn/v1" ``` ### 历史文件 - 默认位置: `~/.aichat_history` - 最大记录数: 1000条 - 自动保存: 退出时自动保存 ## 开发说明 ### 扩展工具 在`AIChatService._define_tools()`中添加新工具: ```python def _define_tools(self): return [ { "type": "function", "function": { "name": "your_tool_name", "description": "工具描述", "parameters": { "type": "object", "properties": {}, "required": [] } } } ] ``` ### 自定义系统提示词 修改`_add_system_message()`方法中的`system_prompt`变量。 ## 故障排除 ### 常见问题 1. **API调用失败** - 检查API密钥是否正确 - 确认网络连接正常 - 查看错误日志 2. **Readline功能异常** - 确认终端支持readline - 检查历史文件权限 - 尝试重新创建历史文件 3. **导入错误** - 确认Django环境已激活 - 检查Python路径设置 - 验证依赖包安装 ### 调试模式 使用`--verbosity=2`参数获取详细日志: ```bash python manage.py chat --verbosity=2 ``` ## 更新日志 - **v1.0**: 初始版本,支持基础AI聊天和工具调用 - **v1.1**: 添加readline支持和Django管理命令 - **v1.2**: 重构为库模块,分离界面和核心功能