企业微信 API + DeepSeek / OpenAI:手把手教你搭建企微群 AI 智能客服机器人
发布时间:2026/10/23 22:08:39 锦皓数字建站

这篇是实操向的从开通实例到机器人跑起来一步步走。不讲概念只讲怎么做。第一步开通企微实例拿到凭证在 Eyun 控制台开通企微实例拿到三样东西appid实例标识格式we_xxxApp TokenAPI 调用凭证格式eyk_xxxx签名密钥回调验签用回调地址填你的服务器地址比如https://your-domain.com/wx-api/webhook/。第二步搭回调服务用 Flask 搭一个最小可用的回调服务from flask import Flask, request import hmac, hashlib, json, requests app Flask(__name__) BASE https://your-base-url APPID we_xxx TOKEN eyk_xxxx SECRET your-signature-secret HEADERS {Authorization: fBearer {TOKEN}} app.route(/wx-api/webhook/, methods[POST, GET]) def webhook(): # 验证请求 echostr request.args.get(echostr) or ( request.json.get(echostr) if request.is_json else None ) if echostr: return echostr # 验签 signature request.headers.get(X-Eyun-Signature) raw_body request.get_data(cacheTrue) expected hmac.new(SECRET.encode(), raw_body, hashlib.sha256).hexdigest() if not hmac.compare_digest(expected, signature): return forbidden, 403 # 去重 delivery_id request.headers.get(X-Eyun-Delivery) if not redis.setnx(fcb:{delivery_id}, 1, ex86400): return ok # 处理消息 data request.json[data] handle_message(data) return ok def handle_message(data): if data.get(messageType) ! 1: # 只处理群聊 return text data.get(content, ).strip() if not text: return # 判断该不该回 if not should_reply(text): return # 调 AI answer ask_ai(text, data[roomId]) # 发送回复 send_text(data[conversationId], answer) def should_reply(text): if len(text) 5: return False return any(k in text for k in [怎么, 请问, 求助, 机器人]) def ask_ai(question, room_id): # 取群上下文 context get_recent_messages(room_id, limit10) messages [ {role: system, content: 你是企业微信群里的 AI 客服回复简洁专业。}, {role: user, content: f群聊记录\n{context}\n\n问题{question}} ] resp requests.post( https://api.deepseek.com/v1/chat/completions, headers{Authorization: fBearer {DEEPSEEK_KEY}}, json{model: deepseek-chat, messages: messages, max_tokens: 500} ).json() return resp[choices][0][message][content] def send_text(conv_id, text): requests.post( f{BASE}/wx-api/api/message/sendText, headersHEADERS, json{appid: APPID, conversationId: conv_id, content: text} ) if __name__ __main__: app.run(port5000)第三步配置 AI 模型DeepSeek 和 OpenAI 的调用方式一样换 endpoint 和 model 名就行平台EndpointModelDeepSeekhttps://api.deepseek.com/v1/chat/completionsdeepseek-chatOpenAIhttps://api.openai.com/v1/chat/completionsgpt-4API Key 在各自平台申请充钱就能用。第四步加知识库可选如果希望机器人回答产品相关问题需要接知识库。简单做法是把 FAQ 存成文本每次调 AI 时塞进去FAQ Q: 怎么申请权限 A: 在 OA 系统提交申请审批通过后自动开通。 Q: 怎么重置密码 A: 点击登录页忘记密码按提示操作。 def ask_ai(question, room_id): messages [ {role: system, content: f你是企业微信群里的 AI 客服。参考以下 FAQ\n{FAQ}}, {role: user, content: question} ] # ...FAQ 多的话建议用向量数据库Pinecone、Milvus、Chroma做检索别全塞 prompt 里。第五步上线前检查回调地址能公网访问HTTPS签名密钥配置正确群聊消息能正常接收AI API Key 有余额单群频控已加一个真实的上线数据某团队的群 AI 客服上线第一周收到消息 1,200 条AI 回复 340 条28%转人工 86 条7%平均响应时间 4 秒剩下的 65% 是闲聊和已解决的问题AI 正确识别并跳过了。企微回调和发送的字段在Eyun 开发文档里能查到实例和凭证在 Eyun 控制台开通。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。