From f21da37f511e8ed6560814ec7a4e570441ed0b83 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Fri, 22 Aug 2025 23:10:03 +0100 Subject: [PATCH] update doc/ai-chat.md --- doc/ai-chat.md | 144 +++++++++++++++++++++++++++++-------------------- 1 file changed, 85 insertions(+), 59 deletions(-) diff --git a/doc/ai-chat.md b/doc/ai-chat.md index bf627c5..4a06154 100644 --- a/doc/ai-chat.md +++ b/doc/ai-chat.md @@ -48,44 +48,43 @@ ### 4.1 AI模型集成 #### 4.1.1 模型选择 -- **主要模型**: Kimi K2 API +- **主要模型**: Kimi K2 API ✅ **已实现** - **备选模型**: 智谱AI (ChatGLM)、百度文心一言 - **理由**: Kimi K2在中文理解、多模态处理和联网搜索方面表现优秀,API稳定可靠,特别适合品牌客服场景 -#### 4.1.2 API集成架构 +#### 4.1.2 API集成架构 ✅ **已实现** ```python -# api/products/ai_service.py -class AIService: - def __init__(self, tenant_id, model_config): - self.tenant_id = tenant_id - self.model_config = model_config - self.client = self._init_client() +# api/products/aichat.py +class AIChatService: + def __init__(self, api_key: str = None, base_url: str = None): + self.api_key = api_key or getattr(settings, 'KIMI_API_KEY', None) + self.base_url = base_url or getattr(settings, 'KIMI_API_URL', None) + self.client = OpenAI(api_key=self.api_key, base_url=self.base_url) - def chat(self, message, context, tenant_context): - # 构建prompt - prompt = self._build_prompt(message, context, tenant_context) - # 调用Kimi K2 API - response = self._call_kimi_api(prompt) - # 后处理 - return self._post_process(response) - - def _call_kimi_api(self, prompt): - # 调用Kimi K2 API,支持联网搜索和多模态处理 - pass - - def _build_prompt(self, message, context, tenant_context): - # 包含品牌信息、产品知识、用户上下文 - pass + def chat(self, user_message: str) -> str: + # 调用Moonshot API,支持工具调用 + response = self.client.chat.completions.create( + model=self.model, + messages=self.conversation_history, + tools=self.tools, + tool_choice="auto" + ) + return self._process_response(response) ``` -#### 4.1.3 智能能力调度系统(简化版) +#### 4.1.3 工具调用系统 ✅ **已实现** +- **工具定义**: `start_qr_scan` 二维码扫描工具 +- **工具执行**: 模拟5秒扫描过程,返回验证结果 +- **工具集成**: 完整的工具调用流程,支持多轮对话 + +#### 4.1.4 智能能力调度系统(简化版) - **能力分类**: RAG知识检索、平台服务、一般问答 - **优先级策略**: 平台服务 > RAG知识 > 一般问答 - **智能路由**: 基于规则的快速路由策略 - **降级机制**: 简单的能力降级和回退 - **后续扩展**: 工具执行、网络搜索等高级功能 -#### 4.1.4 RAG框架集成(简化版) +#### 4.1.5 RAG框架集成(简化版) - **框架选择**: LangChain基础功能 - **文档处理**: 基础分块、简单向量化、相似度检索 - **上下文优化**: 基础分层策略(摘要、完整) @@ -430,27 +429,30 @@ Page({ ### 5.1 AI Prompt工程 -#### 5.1.1 系统Prompt模板 +#### 5.1.1 系统Prompt模板 ✅ **已实现** ``` -你是一个专业的品牌客服助手,专门为{品牌名称}提供产品咨询和服务。 +你是一个专业的徵象防伪验证平台AI客服助手。 -品牌信息: -{品牌背景介绍} +平台介绍: +徵象是由广州市诚投科技有限公司开发的AI驱动的智能防伪平台,通过多模态特征识别构建新一代防伪验证体系,实现从物理防伪到数字认证的全链路保护。系统采用ISO 12931国际防伪标准,已获取国家发明专利(证书编号:CN 115222000 B)。 -产品知识: -{产品相关信息} +服务范围: +1. 商品防伪验证 +2. 证件安全验证 +3. 工业品防伪 +4. 品牌数字化服务 服务原则: -1. 只回答与{品牌名称}相关的问题 -2. 不评价竞品,不与竞品对比 -3. 优先使用官方信息回答 -4. 对于不确定的信息,明确告知用户 -5. 保持专业、友好的服务态度 +1. 专业、友好、准确回答用户问题 +2. 优先使用官方信息回答 +3. 对于不确定的信息,明确告知用户 +4. 引导用户使用相关功能和服务 +5. 当用户需要验证产品真伪时,主动提供二维码扫描功能 -用户上下文: -{用户验证的产品信息、历史对话等} +可用工具: +- start_qr_scan: 启动二维码扫描功能,用于产品防伪验证 -请根据以上信息,为用户提供准确、有用的回答。 +请根据用户问题提供准确、有用的回答。如果用户需要验证产品,请使用二维码扫描工具。 ``` #### 5.1.2 平台客服Prompt模板 @@ -566,23 +568,15 @@ function renderContent(content, type) { ## 6. 部署和运维 -### 6.1 环境配置 +### 6.1 环境配置 ✅ **已实现** ```bash -# 环境变量配置 -AI_MODEL_PROVIDER=kimi -AI_API_KEY=your_api_key -AI_MODEL_NAME=kimi-k2 -AI_MAX_TOKENS=2000 -AI_TEMPERATURE=0.7 +# Django设置配置 (emblemapi/settings.py) +KIMI_API_KEY = "sk-IKA7ZnDrv44mfaorjF5UZjSsml66yaBNdcrASJsV90hCSdgn" +KIMI_API_URL = "https://api.moonshot.cn/v1" -# LangChain配置 -LANGCHAIN_TRACING_V2=true -LANGCHAIN_ENDPOINT=https://api.smith.langchain.com -LANGCHAIN_API_KEY=your_langchain_key - -# 向量数据库配置 -VECTOR_DB_TYPE=chroma -VECTOR_DB_PATH=./vector_store +# 环境变量支持 +KIMI_API_KEY = os.environ.get("KIMI_API_KEY", "default_key") +KIMI_API_URL = os.environ.get("KIMI_API_URL", "https://api.moonshot.cn/v1") ``` ### 6.2 监控和日志 @@ -633,10 +627,12 @@ VECTOR_DB_PATH=./vector_store ## 9. 项目计划 ### 9.1 开发阶段 -1. **第一阶段 (1周)**: 核心架构和基础功能 +1. **第一阶段 (1周)**: 核心架构和基础功能 ✅ **已完成** - 数据模型扩展(最小化) - - Kimi K2 API基础集成 - - 基础AI聊天功能 + - Kimi K2 API基础集成 ✅ + - 基础AI聊天功能 ✅ + - 工具调用系统 ✅ + - Django管理命令 ✅ 2. **第二阶段 (1周)**: AI能力扩展 - LangChain RAG基础集成 - 平台知识库(简化版) @@ -651,7 +647,7 @@ VECTOR_DB_PATH=./vector_store - 生产环境部署 ### 9.2 里程碑 -- Week 1: 完成核心架构和基础AI聊天功能 +- Week 1: 完成核心架构和基础AI聊天功能 ✅ **已完成** - Week 2: 完成RAG系统和智能路由基础功能 - Week 3: 完成前端界面和内容管理 - Week 4: 完成测试、优化和上线 @@ -696,4 +692,34 @@ VECTOR_DB_PATH=./vector_store - **技术栈**: Django + Kimi K2 + LangChain(简化版)+ 基础向量存储 - **开发策略**: MVP优先,核心功能先行,后续迭代优化 -通过分阶段开发和迭代优化,可以确保系统稳定性和用户满意度,同时为后续功能扩展奠定良好基础。 +### 11.3 当前实现状态 ✅ **已完成功能** + +#### **核心AI聊天系统** +- ✅ AIChatService 类实现 +- ✅ Kimi K2 API 集成 +- ✅ 工具调用系统(start_qr_scan) +- ✅ 对话历史管理 +- ✅ 系统提示词配置 + +#### **Django管理命令** +- ✅ `python manage.py chat` 命令 +- ✅ 完整的readline支持 +- ✅ 历史记录持久化 +- ✅ 快捷键和补全功能 + +#### **文件结构** +``` +api/products/ +├── aichat.py # 核心AI聊天库 ✅ +├── management/ +│ └── commands/ +│ └── chat.py # Django管理命令 ✅ +└── README_AI_CHAT.md # 使用文档 ✅ +``` + +#### **配置管理** +- ✅ Django settings.py 集成 +- ✅ 环境变量支持 +- ✅ 默认配置值 + +通过分阶段开发和迭代优化,可以确保系统稳定性和用户满意度,同时为后续功能扩展奠定良好基础。第一阶段的核心功能已经完成,为后续开发提供了坚实的基础。