You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用discord.js开发Discord机器人实现GPT-3 davinci与用户对话

问题根因
  • 未维护会话上下文:每次调用OpenAI API仅传入用户最新发送的单条消息,没有拼接历史的人类提问和AI回复,模型无法承接对话上下文,无法实现多轮聊天效果
  • 缺少聊天场景初始化提示:GPT-3 Playground的聊天预设会在prompt最开头加入引导模型扮演聊天AI的前置提示,当前代码缺失该部分引导内容
  • 变量拼写错误:定义的retart_sequence为拼写错误,正确应为restart_sequence
  • 传参逻辑错误:prompt没有按照[初始引导] + [历史会话] + \nHuman: [当前提问]\nAI:的格式拼接,和stop序列配置不匹配
修复后代码
// 初始化会话历史数组和前置引导prompt
const initPrompt = "The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.\n\n"
let conversationHistory = []
const start_sequence = "\nAI: "
const restart_sequence = "\nHuman: "

var collector = new MessageCollector(message.channel, filter, {
    max: 10,
    time: 60000,
})

collector.on("collect", async (msg) => {
    // 过滤机器人自己的消息,避免循环触发
    if (msg.author.bot) return
    console.log(msg.content)
    
    // 拼接当前用户消息到会话历史
    conversationHistory.push(`${restart_sequence.slice(1)}${msg.content}`)
    
    // 组装完整prompt
    const fullPrompt = initPrompt + conversationHistory.join("") + start_sequence
    
    try {
        const response = await openai.Completion.create({
            engine: "davinci",
            prompt: fullPrompt,
            temperature: 0.9,
            max_tokens: 150,
            top_p: 1,
            frequency_penalty: 0.35,
            presence_penalty: 0.6, 
            stop: [" Human:", " AI:"]  
        })
        const aiReply = response.choices[0].text.trim()
        // 把AI回复存入会话历史
        conversationHistory.push(`${start_sequence.slice(1)}${aiReply}`)
        // 发送回复到频道
        message.channel.send(aiReply)
    } catch (err) {
        console.error("OpenAI API调用错误:", err)
        message.channel.send("抱歉,当前无法响应你的请求,请稍后再试。")
    }
})
配置优化提示
  • 若需要更长的多轮会话,可适当提升max_tokens参数,同时调整MessageCollector的max上限,注意davinci模型的上下文总长度限制为2048token
  • 可根据需求修改initPrompt的引导内容,自定义AI的人设、回复风格,和Playground的预设修改逻辑完全一致
  • 若使用更新的gpt-3.5-turbo或gpt-4模型,建议改用Chat Completion接口,成本更低效果更好

内容的提问来源于stack exchange,提问作者bruh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:06:02