ChatGPT如何获取上下文 / ai #5

Words
224
Reading
1 min
Listen
Play
4y

joe.jpg

https://ai.ilark.io

大家在玩ChatGPT时肯定会留意到它还蛮有记忆力的,上下文的东东它都能记住。在这样的情况下,交互起来会有意思很多。那么,ChatGPT是如何获取上下文的呢?

看一下它的API是如何调用的,如下所示:

const completion = await openai.createChatCompletion({
  model: "gpt-3.5-turbo",
  messages: [{role: "user", content: "Hello world"}],
})

ChatGPT的两个主要参数,一个是模型,一个是输入的参数(messages),上下文的环境肯定是在输入的参数里啰。再看一个输入的实例:

messages =  [
    { 'role': 'user', 'content': '你好。 今天是多云天气' },
    { 'role': 'assistant', 'content': '你好。 我很抱歉听到不幸的天气' },
    { 'role': 'user', 'content': '是的,是这样。 不过我很好。' },
    { 'role': 'assistant', 'content': '我希望如此。 让我们继续今天的工作吧!' },
    { 'role': 'user', 'content': '是的。 哦,顺便问一下,我是怎么说今天的天气的?' },
    { 'role': 'assistant', 'content': '今天是阴天' }
] 

在以上的参数中可以明显看到对话中的语境功能,原来它都是存入这个message的数组中的!很好,我们只要在输入时也打包成它这样的数据格式,传入ChatGPT的接口就可以得到交互的语境了,是不是还蛮酷的?!