3.9 KiB
3.9 KiB
AI聊天功能使用说明
概述
AI聊天模块为徵象防伪验证平台提供智能客服功能,基于Moonshot Kimi K2 API实现。
文件结构
api/products/
├── aichat.py # 核心AI聊天库
├── management/
│ └── commands/
│ └── chat.py # Django管理命令
└── README_AI_CHAT.md # 本文档
使用方法
1. 作为Django管理命令运行(推荐)
# 进入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库导入
from products.aichat import AIChatService
# 创建服务实例
service = AIChatService()
# 发送消息
response = service.chat("你好,请介绍一下徵象平台")
# 查看对话历史
history = service.get_conversation_history()
# 清空历史
service.clear_history()
3. 直接运行库文件(测试模式)
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 中配置:
KIMI_API_KEY = "your_api_key_here"
KIMI_API_URL = "https://api.moonshot.cn/v1"
历史文件
- 默认位置:
~/.aichat_history - 最大记录数: 1000条
- 自动保存: 退出时自动保存
开发说明
扩展工具
在AIChatService._define_tools()中添加新工具:
def _define_tools(self):
return [
{
"type": "function",
"function": {
"name": "your_tool_name",
"description": "工具描述",
"parameters": {
"type": "object",
"properties": {},
"required": []
}
}
}
]
自定义系统提示词
修改_add_system_message()方法中的system_prompt变量。
故障排除
常见问题
-
API调用失败
- 检查API密钥是否正确
- 确认网络连接正常
- 查看错误日志
-
Readline功能异常
- 确认终端支持readline
- 检查历史文件权限
- 尝试重新创建历史文件
-
导入错误
- 确认Django环境已激活
- 检查Python路径设置
- 验证依赖包安装
调试模式
使用--verbosity=2参数获取详细日志:
python manage.py chat --verbosity=2
更新日志
- v1.0: 初始版本,支持基础AI聊天和工具调用
- v1.1: 添加readline支持和Django管理命令
- v1.2: 重构为库模块,分离界面和核心功能