微信小程序集成 AI 对话功能:基于 Cogito 模型部署指南
本文介绍如何在微信小程序中集成智能对话功能。用户可以在小程序里提问,并获得 AI 生成的回答。实现这一功能需要解决小程序调用外部 AI 接口、网络延迟处理及对话历史存储等问题。
本方案选用 Cogito-V1-Preview-Llama-3B 模型,该模型体积适中且能力均衡,适合部署在服务器上为小程序提供服务。
1. 项目准备:理清思路与搭建环境
在动手写代码之前,需先理清流程:用户在微信小程序输入问题,小程序将请求发送给后端服务器,服务器调用 AI 模型处理后返回答案。
由于微信小程序不能直接随意访问外网,需要一个后端服务器作为中间人。该服务器部署在 GPU 平台上,运行 Cogito 模型。
你需要准备的东西:
- 一个微信小程序账号:去微信公众平台注册,获取 AppID。
- 一个后端服务器:需有平台账号并成功部署了 Cogito 模型,获取 API 访问地址(如
https://your-server-address/v1/chat/completions)。 - 代码编辑器:前端使用微信开发者工具,后端使用 VS Code。
关于模型选择:Cogito-V1-Preview-Llama-3B 参数量为 30 亿,在轻量级模型中表现均衡,对话能力和逻辑推理够用,生成速度较快,对服务器资源要求较低,适合作为小程序后端服务。
2. 后端搭建:让 AI 模型准备好接客
后端工作主要是提供一个 API 接口。小程序发送对话内容,后端调用 Cogito 模型生成回复并传回。这里使用 Python 的 FastAPI 框架,因其轻快,适合 IO 密集型网络服务。
首先确保服务器已部署好模型并能通过代码调用。
第一步,安装必要的包:
pip install fastapi uvicorn httpx
httpx 用于作为 HTTP 客户端,请求部署的模型服务。
第二步,编写核心的后端 API: 在项目根目录创建 main.py 文件。
from fastapi import FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
import httpx
import json
from pydantic import BaseModel
from typing import List, Optional
# 定义请求体的数据模型
class ChatMessage(BaseModel):
role: str
content: str
class ChatRequest(BaseModel):
messages: [ChatMessage]
max_tokens: [] =
app = FastAPI(title=)
app.add_middleware(
CORSMiddleware,
allow_origins=[],
allow_credentials=,
allow_methods=[],
allow_headers=[],
)
MODEL_API_URL =
():
payload = {
: ,
: [msg.() msg request.messages],
: request.max_tokens,
:
}
httpx.AsyncClient(timeout=) client:
:
response = client.post(MODEL_API_URL, json=payload)
response.raise_for_status()
result = response.json()
ai_reply = result[][][][]
{: ai_reply}
httpx.RequestError e:
HTTPException(status_code=, detail=)
(KeyError, IndexError, json.JSONDecodeError) e:
HTTPException(status_code=, detail=)
Exception e:
HTTPException(status_code=, detail=)
():
{: , : }

