根据每个来源的规范构建对话上下文

发布 /api/v1/projects/{id}/memory/retrieval/context-from-sources

从显式的、按源配置的源设立组装对话上下文 — 每个源都声明自己的检索模式(文本、语义、混合)、元数据过滤和候选计数。跨源对结果进行合并和去重,可以选择重新排名,然后像 build_context 一样进行格式化和预算。项目范围由路由 ID 路径参数承载,而组织则派生自该项目。提供非空查询、要组装其内存的 user_id 以及非空源列表。

路径参数

  • id 字符串 必需

    项目 ID

application/json

body 必需

每个源上下文构建请求

  • format_style 字符串
  • include_memories 布尔
  • max_tokens 整型

    MaxTokens 是上下文构建的总预算(而不是获取费用),其解释类似于 build_context:服务器减去 500-token 格式保留,然后贪心地选择适合的整个内存块。

    最小值为 1。

  • model_type 字符串
  • 查询 字符串 必需
  • query_embedding 大量[number]
  • rerank 布尔

    重新排序通过相关性重新排名(如果可用)对合并结果重新排序。

  • session_id 字符串
  • 来源 大量[对象] 必需

    Sources 是显式的、按源配置的搜索设立;内存服务器强制执行计数边界 (1..MAX_CONTEXT2_SOURCES)、每个源的 top_k 边界以及 no-duplicate-source 规则。

    隐藏源属性 显示源属性 对象
    • metadata_filter 对象

      允许使用其他属性。

    • 模式 字符串
    • 来源 字符串 必需
    • top_k 整型
  • user_id 字符串 必需
  • 可见性 字符串

响应

  • 不支持或格式不正确的API版本、所选已发布合约中不可用的操作或不可接受的表示形式(包括不支持的媒体类型参数或排除的 SSE)。现有的身份验证、授权和速率限制失败优先。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      标准错误模式定义的可选验证详细信息; API协商错误不会发出此字段。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        验证失败的字段。

        隐藏字段属性 显示字段属性 对象

        字段及其验证失败。

        • 描述 字符串 必需

          人类可读的验证失败。

        • 字段 字符串 必需

          无效请求字段的名称或路径。

    • 详细信息 字符串 必需

      人类可读的错误详细信息。

    • 错误 整型 必需

      HTTP status code.

    • 错误代码 字符串 必需

      机器可读的错误代码。

    • 参数 array[string]

      与错误相关的请求参数名称;不应用时省略。

    • 原因 字符串 必需

      HTTP状态原因短语。

    隐藏响应属性 显示响应属性 对象
    • badRequestDetail 对象

      标准错误模式定义的可选验证详细信息; API协商错误不会发出此字段。

      隐藏 BadRequestDetail 属性 显示 BadRequestDetail 属性 对象
      • 字段 大量[对象]

        验证失败的字段。

        隐藏字段属性 显示字段属性 对象

        字段及其验证失败。

        • 描述 字符串 必需

          人类可读的验证失败。

        • 字段 字符串 必需

          无效请求字段的名称或路径。

    • 详细信息 字符串 必需

      人类可读的错误详细信息。

    • 错误 整型 必需

      HTTP status code.

    • 错误代码 字符串 必需

      机器可读的错误代码。

    • 参数 array[string]

      与错误相关的请求参数名称;不应用时省略。

    • 原因 字符串 必需

      HTTP状态原因短语。

  • 200

    带有每个源元元数据的汇编上下文有效负载

  • 400

    请求正文无效或缺少 user_id/ 查询/sources

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 401

    凭证缺失或无效

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 403

    调用者没有对项目的读取访问权限

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 500

    内部错误

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
  • 502

    无法访问内存服务

    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
    隐藏响应属性 显示响应属性 对象
    • 代码 字符串
    • 错误 字符串
    • Success 布尔
POST /api/v1/projects/{id}/memory/retrieval/context-from-sources
curl \
 --request POST 'https://agentengine.mongodb.com/api/v1/projects/{id}/memory/retrieval/context-from-sources' \
 --header "Authorization: $API_KEY" \
 --header "Content-Type: application/json" \
 --data '{
  "format_style": "string",
  "include_memories": true,
  "max_tokens": 42,
  "model_type": "string",
  "query": "string",
  "query_embedding": [
    42.0
  ],
  "rerank": true,
  "session_id": "string",
  "sources": [
    {
      "metadata_filter": {},
      "mode": "string",
      "source": "string",
      "top_k": 42
    }
  ],
  "user_id": "string",
  "visibility": "string"
}'
请求示例
{
  "format_style": "string",
  "include_memories": true,
  "max_tokens": 42,
  "model_type": "string",
  "query": "string",
  "query_embedding": [
    42.0
  ],
  "rerank": true,
  "session_id": "string",
  "sources": [
    {
      "metadata_filter": {},
      "mode": "string",
      "source": "string",
      "top_k": 42
    }
  ],
  "user_id": "string",
  "visibility": "string"
}
响应示例 (406)
{
  "detail": "This operation is not available in API version 2026-09-20-preview.",
  "error": 406,
  "errorCode": "OPERATION_NOT_IN_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
{
  "detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
  "error": 406,
  "errorCode": "UNACCEPTABLE_MEDIA_TYPE",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
{
  "detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
  "error": 406,
  "errorCode": "UNSUPPORTED_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
响应示例 (406)
{
  "detail": "This operation is not available in API version 2026-09-20-preview.",
  "error": 406,
  "errorCode": "OPERATION_NOT_IN_API_VERSION",
  "parameters": [
    "Accept"
  ],
  "reason": "Not Acceptable"
}
响应示例 (200)
{}
响应示例 (200)
{}
响应示例 (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (400)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (401)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (401)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (403)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (403)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (500)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (500)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (502)
{
  "code": "string",
  "error": "string",
  "success": true
}
响应示例 (502)
{
  "code": "string",
  "error": "string",
  "success": true
}