收藏
回答

云开发AI对接小程序客服无法获取AI回复?

1.我的evn是能够初始化成功;开发者工具版本是最新的(今早更新的),包是 WeChatLib: 3.7.10 (2025.3.6 16:19:18)

2.主要是在调用AI客服回复时无法响应,会提示“抱歉,我暂时无法回答您的问题。”

3.下面是主要代码,敏感信息脱敏了。

4.底部有附件2张图片供参考

// 确保云开发环境已初始化

      try {

        wx.cloud.init({

          env: "cloudbase-xxxx

          traceUser: true

        });

      } catch (e) {

        console.log('云环境已初始化,跳过', e);

      }

      

      // 调用腾讯AI+的API获取回复

      const res = await wx.cloud.extend.AI.bot.sendMessage({

        data: {

          botId: 'bot-84c94870',

          msg: content,

          history: history // 传入历史对话记录

        }

      });

      

      console.log('API调用成功,开始处理响应');


      let fullResponse = '';

      

      // 通过事件流获取AI回复

      for await (let event of res.eventStream) {

        // 收到结束信号,终止循环

        if (event.data === '[DONE]') {

          console.log('收到结束信号');

          break;

        }


        try {

          console.log('收到事件数据:', event.data);

          const data = JSON.parse(event.data);


          // 获取输出正文

          const aiContent = data.content;

          if (aiContent) {

            console.log('收到AI内容:', aiContent);

            fullResponse += aiContent;

            

            // 更新当前AI消息内容,实现打字效果

            const messages = [...this.data.messages];

            messages[messageIndex].content = fullResponse;

            

            this.setData({

              messages,

              scrollToMessage: `message-${messageIndex}`

            });

          }

        } catch (parseError) {

          console.error('解析事件数据出错:', parseError, event.data);

        }

      }

      // 更新历史记录中添加AI的回复

      if (fullResponse) {

        console.log('完整回复:', fullResponse);

        history.push({

          role: 'bot',

          message: fullResponse

        });

        

        this.setData({

          history

        });

      } 

      else {

        const messages = [...this.data.messages];

        messages[messageIndex].content = '抱歉,我暂时无法回答您的问题。';

        

        this.setData({

          messages

        });

      }

    } catch (error) {

      console.error('AI回复出错:', error);

      console.error('错误详情:', JSON.stringify(error));

      

      // 显示错误信息

      this.addMessage({

        type: 'ai',

        content: '抱歉,系统出现了一些问题,请稍后再试。错误信息: ' + error.message

      });

    } finally {

      // 无论成功失败,都取消等待状态

      this.setData({

        isWaiting: false

      });

    }

回答关注问题邀请回答
收藏

1 个回答

  • Starkwang
    Starkwang
    03-13

    可以给一下具体的报错信息,目前都被try catch了看不到什么有用的信息

    03-13
    有用
    回复
登录 后发表内容