截断历史消息,控制上下文长度
中文exp-2437未验证
截断历史消息,控制上下文长度
随着 chat 调用次数增多,messages 列表不断增长,每次请求消耗的 Tokens 也随之增加,最终列表中的消息会超出模型支持的上下文窗口。建议用某种策略把 messages 控制在可控范围内,例如每次只保留最新的 20 条消息作为本次请求的上下文。
以下示例演示如何用 make_messages 函数控制每次请求的消息数量(默认保留最新 20 条),注意它如何保证截断后 System Messages 仍然留在列表中:
python
node.js
import os
from openai import OpenAI
client = OpenAI(
api_key = os.environ["MOONSHOT_API_KEY"], # 运行前请设置 MOONSHOT_API_KEY 环境变量
base_url = "https://api.moonshot.cn/v1",
)
复制后粘贴到 AI 对话框发送,本次对话全程生效
怎么用(对话型)复制后粘贴到对话框发送,本次对话全程生效。想长期用:支持自定义指令的产品(设置→个性化)可设为默认。