近年来,AI大模型的发展日新月异,DeepSeek-V3作为国内和国际上表现亮眼的大模型之一,凭借其强大的自然语言处理能力和高效的API接口,受到了广泛关注。本文将详细介绍如何通过DeepSeek API快速接入微信公众号,省去安装App的麻烦,直接在微信上使用AI服务,方便快捷。
完整源码地址:https://download.csdn.net/download/qq8864/90340232

1. 获取DeepSeek API Key
首先,我们需要获取DeepSeek的API Key,这是调用API的凭证。
1.1 注册DeepSeek账号
- 打开DeepSeek官网:DeepSeek。
- 点击右上角的“开放平台”,注册一个新账号。新用户通常会获得10元的余额,足够个人使用一段时间。


1.2 创建API Key
- 登录后,点击左侧菜单中的“API Keys”。
- 点击“创建API Key”按钮,系统会生成一个API Key。
- 注意:API Key只在创建时显示一次,请务必立即复制并保存到安全的地方。如果忘记保存,可以重新创建一个。

2. 获取Base URL和Chat Model
接下来,我们需要获取DeepSeek API的Base URL和Chat Model,以便调用API。
2.1 查看API文档
- 在DeepSeek开放平台页面,点击左下角的“接口文档”,或直接访问DeepSeek API文档。
- 在文档中,你可以找到API的Base URL和Chat Model名称。通常,Base URL为:
https://api.deepseek.com/v1,Chat Model为:deepseek-chat。
3. 环境准备
在将DeepSeek API接入微信公众号之前,我们需要准备以下环境:
- 微信公众号:建议使用测试号,申请简单且无门槛。
- DeepSeek API Key:前面已经获取。
- 云服务器:用于部署后台服务,推荐使用各大云服务商提供的云服务器,包年价格便宜。
4. 实现思路
总体方案是通过搭建后台Golang云服务,实现微信公众号与DeepSeek API的连接。用户在公众号聊天窗口发送问题,后台服务接收后调用DeepSeek API进行问答,并将结果返回给用户。

4.1 微信公众号接入
首先,我们需要在微信公众号开发平台中配置服务器URL,并验证服务器的有效性。
// HandleWxLogin首次接入,成为开发者
func HandleWxLogin(c *gin.Context) {
fmt.Printf("==>HandleWxLogin\n")
echostr := c.DefaultQuery("echostr", "")
if echostr != "" {
fmt.Printf("==>echostr:%s\n", echostr)
c.String(200, "%s", echostr)
return
}
}
4.2 获取微信Access Token
在微信公众号开发平台中,我们需要获取Access Token,用于调用微信的客服消息接口。
// WxGetAccessToken 获取微信accesstoken
func WxGetAccessToken() string {
url := fmt.Sprintf("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%v&secret=%v", APPID, APPSECRET)
resp, err := http.Get(url)
if err != nil {
fmt.Println("获取微信token失败", err)
return ""
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("微信token读取失败", err)
return ""
}
token := token{}
err = json.Unmarshal(body, &token)
if err != nil {
fmt.Println("微信token解析json失败", err)
return ""
}
return token.AccessToken
}
4.3 客服回复消息接口
当用户发送消息后,我们需要调用DeepSeek API获取回答,并通过微信客服消息接口将结果返回给用户。
// 客服回复接口
func WxPostCustomTextMsg(accessToken string, touser string, content string) {
url := "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + accessToken
req := &WxCustomTextMsg{ToUser: touser, MsgType: "text", Text: WxCustomText{Content: content}}
jsonStr := req.ToJson()
request, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
request.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(request)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
4.4 异步处理用户消息
由于微信要求5秒内响应消息,我们需要使用Golang的协程异步处理用户消息,避免超时。
var wxReceiveFunc = func(msg wxapi.WxReceiveCommonMsg) error {
fmt.Println("weixin msg received")
fmt.Printf("%#v\n", msg)
touser := msg.FromUserName
content := msg.Content
accessToken := wxapi.WxGetAccessToken()
// 异步请求DeepSeek API,成功后调用客服接口回复
go func() {
resp := chatapi.AskChatAI(content)
if resp != "" {
wxapi.WxPostCustomTextMsg(accessToken, touser, resp)
} else {
wxapi.WxPostCustomTextMsg(accessToken, touser, "DeepSeek服务异常")
}
}()
return nil
}
完整源码下载地址:
https://download.csdn.net/download/qq8864/90340232
5. 总结
通过以上步骤,我们成功将DeepSeek API接入微信公众号,实现了用户在微信中直接与AI交互的功能。这种方式不仅方便了用户的使用,还避免了安装App的麻烦。DeepSeek API的高效和低成本使得个人开发者也能轻松搭建自己的AI服务。希望本文对你有所帮助,如果你有任何问题或建议,欢迎在评论区留言讨论!
2万+

被折叠的 条评论
为什么被折叠?



