OpenAI 的模型具有不同的上下文窗口大小,具体取决于特定版本。截至 2023 年底,公开可用的最大上下文窗口为 128,000 个 tokens,由 GPT-4 Turbo 提供。 较早的模型(如 GPT-3.5 Turbo)最多支持 16,000 个 tokens,而标准 GPT-4 模型最初提供 8,000 个 tokens,后来发布了 32,000 个 tokens 的变体。 Tokens 大致相当于文本块——例如,1,000 个 tokens 大约代表 750 个单词。 128,000 个 tokens 的窗口允许在单个请求中处理大约 300 页的文本,使其适用于需要分析大型文档或长时间对话的任务。 开发人员通过 API 参数指定上下文窗口,确保模型仅处理允许的 token 范围。
上下文窗口很重要,因为它决定了模型在单个交互中可以考虑多少信息。 例如,使用具有 4,000 个 tokens 窗口的 GPT-3.5 Turbo 的聊天机器人可能难以在冗长的对话中保持连贯性,而 GPT-4 Turbo 的 128,000 个 tokens 容量使其能够参考数小时的对话或整个技术手册。 然而,更大的窗口也会带来权衡。 处理更多 tokens 会增加计算成本和延迟。 开发人员必须平衡上下文长度和效率——如果任务只需要解析 500 行脚本,则使用 32,000 个 tokens 的窗口进行代码分析可能就有些过头了。 OpenAI 的 API 定价也随着 token 的使用而扩展,因此更大的窗口会直接影响成本。
在使用这些模型时,开发人员必须有效地管理上下文。 例如,如果应用程序处理 100,000 字的文档,GPT-4 Turbo 可以通过一个请求处理它,而旧模型将需要对文本进行分块和拼接结果。 诸如 max_tokens
参数之类的工具可以帮助控制输出长度,但超过模型上下文限制的输入会自动截断。 同样重要的是要注意,在极长的上下文中,性能可能会略有下降,因为模型会优先考虑最近的信息。 使用真实世界的数据(如法律文件或多轮支持工单)进行测试有助于确定最佳窗口大小。 始终查看 OpenAI 的文档以获取更新,因为上下文窗口可能会随着未来模型的迭代而扩展。