# Twigg 用于构建大语言模型应用的有状态 API,托管对话存储、上下文组装、压缩与模型路由。 - Findings24: - 网站: - 价格: Freemium - 分类: AI开发者工具 ## 什么是 Twigg? Twigg 是用于与大语言模型交互的应用的托管式上下文存储、组装与模型路由服务。应用创建一个聊天会话,保存其聊天 ID,并向同一聊天会话发送新事件;Twigg 存储对话、组装请求上下文、调用指定模型,并返回响应和使用情况信息。 对话保留在大语言模型提供商之外,因此同一个聊天会话可以使用来自不同提供商的模型。API 可以保留推理和工具调用等提供商原生产物,将累积的记录转换为各提供商的消息格式,并在必要时压缩较早的上下文。 ## Twigg 能做什么? ### 有状态聊天 API 创建一次聊天会话,随后将事件发送到 \`/api/v1/chats/\{chat\_id\}/responses\`,无需在每次请求时重新构建完整对话记录。 ### 托管式上下文管理 Twigg 存储并获取对话历史,因此应用只需保存聊天 ID,而无需保存完整对话记录。 ### 模型与提供商切换 每次运行都会指定要使用的模型,因此对话可以在列出的模型和提供商之间切换,无需将聊天迁移到新的供应商线程中。 ### 上下文组装与压缩 Twigg 为每个请求组装历史记录,并在需要时压缩较早的内容,以使请求保持在配置的上下文预算内。 ### 保留控制 命名空间可以定义上下文窗口预算,以及保留、截断或删除不同内容类型的规则。工具参数和结果可以使用单独的大小与时效规则。 ### 流式传输与使用情况报告 响应可以通过 API 流式返回;已完成的运行会包含模型、令牌使用量、停止原因和费用信息(如果服务返回这些信息)。 ## 使用场景 ### 多用户聊天应用 在单独的命名空间下保存每位用户的聊天记录,同时应用只存储当前打开的聊天 ID。Twigg 的示例 CLI 支持创建、列出、重新打开以及切换用户对话。 ### 长期运行的助手 即使进程重启或迁移到其他机器,也不会丢失对话,因为系统通过聊天 ID 获取对话记录,而不是将其保存在应用内存中。 ### 提供商评估与路由 将同一对话中的不同轮次发送给不同的指定模型或提供商,以比较表现,或根据可用模型能力匹配任务。 ### 工具调用代理 在上下文记录中保留工具调用、工具结果、推理产物和普通消息,同时对较大的工具负载应用单独的保留规则。 ### 轻量级原型与命令行客户端 使用文档中的 JavaScript 或 Python 示例构建流式聊天机器人;这些示例不依赖 SDK 或外部软件包。 ## 常见问题 ### 应用需要在本地保存什么? 对于文档所述的聊天工作流,应用可以保存聊天 ID 及自身的代理循环状态。示例 CLI 表示,除当前打开的聊天 ID 外不保存其他内容,而 Twigg 负责保存聊天和消息。 ### 可以在对话过程中更换模型吗? 可以。响应请求包含模型名称,示例通过 \`GET /api/v1/models\` 列出模型,并为同一聊天中的后续轮次选择不同模型。 ### Twigg 支持流式响应吗? 支持。示例会消费流式响应,并在文本增量事件到达时将其打印出来。API 示例还展示了运行帧和最终的 \`done\` 事件。 ### Twigg 如何处理增长过大的对话? Twigg 会在上下文预算内组装对话,并可以压缩较早的内容。网站还介绍了命名空间级别和模型级别的预算、保留边界及截断规则控制。 ### Twigg 会运行应用的工具或代理循环吗? 目前没有文档说明其提供这样的完整运行时。产品描述将代理循环和工具交由应用负责,而 Twigg 管理上下文记录、请求组装、模型调用及相关响应数据。 ## 快速信息 - **类别**: 开发者工具 - **产品类型**: 有状态大语言模型 API - **主要工作流**: 创建聊天会话,发送下一个事件,接收响应 - **响应模式**: 文档示例支持流式传输 - **示例语言**: JavaScript 和 Python - **示例中显示的 API 基础地址**: https://api.twigg.ai/api/v1