我们在编程中有一个使用ChatGPT的用例,即对长文本进行摘要(语音转文字对话可能超过一小时)。
但是我们发现4k令牌限制往往会导致输入文本被截断到一半左右,因为达到了令牌限制。
分段处理似乎无法保留先前部分的历史记录。
对于提交超过4k个令牌的较长请求,我们有哪些选项?
但是我们发现4k令牌限制往往会导致输入文本被截断到一半左右,因为达到了令牌限制。
分段处理似乎无法保留先前部分的历史记录。
对于提交超过4k个令牌的较长请求,我们有哪些选项?
对于你的问题,最接近的答案可以用嵌入来表示。
你可以在这里找到它们是什么。
我建议你查看OpenAI Cookbook Github页面上这段代码,它使用了一个Web Crawl Q&A示例来解释嵌入。
我从第5步开始使用了该代码,并改变了文本位置以指向我的包含长段文本的文件。
来自:
# Open the file and read the text
with open("text/" + domain + "/" + file, "r", encoding="UTF-8") as f:
text = f.read()
to:
# Open the file and read the text
with open("/my_location/long_text_file.txt", "r", encoding="UTF-8") as f:
text = f.read()
同时修改了第13步的问题,以便了解文本内容。
另一个选择是ChatGPT检索插件。这允许创建一个向量数据库,其中包含您文档的文本,然后可以由LLM进行处理。请参见https://github.com/openai/chatgpt-retrieval-plugin
处理长文本的一种方法是将其分成较小的片段,根据您的任务检索相应的片段,然后通过 API 调用发送它们。
这里 有一个能够处理 PDF、txt 和 doc 文件以及网页的项目。它允许您与文档对话。在您的情况下,您可以问一个普通问题,比如“这个文档是关于什么的”,以获得摘要,然后询问更具体的细节。
是的,有一个选项。您可以使用不同的API模型。
在此处查看每个模型可用的各种令牌长度: https://platform.openai.com/docs/models/overview
请注意,GPT-4模型尚不可用(但您可以加入等待列表)。
GPT-3.5模型code-davinci-002
允许最多8,001个令牌,但在令牌方面可能更加昂贵。
一旦GPT-4 API模型可用,将允许更长的长度,最多32,768个令牌。