javascript 使用openai chat GTP时,如何截断我的对话以符合令牌限制?

mxg2im7a  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(185)

我正在构建一个自定义的聊天GPT,用户可以使用聊天完成与openai聊天GPT模型聊天。
在写这篇文章时,我使用的是gpt-3.5-turbo,它的令牌限制为4096
我的数据架构遵循以下结构:

{"role": "system", "content": "You are a helpful assistant."},
 {"role": "user", "content": "Who won the world series in 2020?"},
 {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
 {"role": "user", "content": "Where was it played?"}

在javascript中,什么是最好的方法来修剪对话,以确保当我发送聊天记录时,它不会超过令牌限制,并为响应留出空间?
目前,我正在做一个修剪,但一些React可能是10个令牌和其他200。...或更多,使它不可靠。
示例:

const chats = [...]

const sentChats = chats.splice(-5)

// Send sentChats to openai for processing

有其他想法吗?

ruarlubt

ruarlubt1#

您可以尝试this解决方案:
1.当您接近限制时-请求chatGPT压缩聊天。
1.复制压缩版本
1.开始一个新的聊天并要求解压

相关问题