llm-context
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLLM Context
LLM Context
Requires API Key: Get one at https://api.search.brave.comPlan: Included in the Search plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe
Brave LLM Context API delivers pre-extracted, relevance-ranked web content optimized for grounding LLM responses in real-time search results. Unlike traditional web search APIs that return links and snippets, LLM Context extracts the actual page content—text chunks, tables, code blocks, and structured data—so your LLM or AI agent can reason over it directly.
需要API Key:请前往https://api.search.brave.com获取套餐:包含在Search套餐中。详情请见https://api-dashboard.search.brave.com/app/subscriptions/subscribe
Brave LLM Context API 提供预提取、按相关性排序的网页内容,专为在实时搜索结果中支撑LLM生成响应而优化。与传统返回链接和摘要片段的网页搜索API不同,LLM Context会提取页面的实际内容——文本块、表格、代码段和结构化数据——让你的LLM或AI Agent可以直接基于这些内容进行推理。
LLM Context vs AI Grounding
LLM Context vs AI Grounding
| Feature | LLM Context (this) | AI Grounding ( |
|---|---|---|
| Output | Raw extracted content for YOUR LLM | End-to-end AI answers with citations |
| Interface | REST API (GET/POST) | OpenAI-compatible |
| Searches | Single search per request | Multi-search (iterative research) |
| Speed | Fast (<1s) | Slower |
| Plan | Search | Answers |
| Endpoint | | |
| Best for | AI agents, RAG pipelines, tool calls | Chat interfaces, research mode |
| 特性 | LLM Context(当前接口) | AI Grounding( |
|---|---|---|
| 输出 | 供你的LLM使用的原始提取内容 | 带引用的端到端AI答案 |
| 接口 | REST API(GET/POST) | 兼容OpenAI的 |
| 搜索方式 | 单次请求对应单次搜索 | 多轮搜索(迭代式研究) |
| 速度 | 快速(<1秒) | 较慢 |
| 所属套餐 | Search | Answers |
| 端点 | | |
| 最佳适用场景 | AI Agent、RAG流水线、工具调用 | 聊天界面、研究模式 |
Endpoint
端点
http
GET https://api.search.brave.com/res/v1/llm/context
POST https://api.search.brave.com/res/v1/llm/contextAuthentication: header
X-Subscription-Token: <API_KEY>Optional Headers:
- — Enable gzip compression
Accept-Encoding: gzip
http
GET https://api.search.brave.com/res/v1/llm/context
POST https://api.search.brave.com/res/v1/llm/context认证方式: 请求头
X-Subscription-Token: <API_KEY>可选请求头:
- — 启用gzip压缩
Accept-Encoding: gzip
Quick Start
快速开始
GET Request
GET请求
bash
curl -s "https://api.search.brave.com/res/v1/llm/context?q=tallest+mountains+in+the+world" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"bash
curl -s "https://api.search.brave.com/res/v1/llm/context?q=tallest+mountains+in+the+world" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"POST Request (JSON body)
POST请求(JSON请求体)
bash
curl -s --compressed -X POST "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"q": "tallest mountains in the world"}'bash
curl -s --compressed -X POST "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "Accept-Encoding: gzip" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"q": "tallest mountains in the world"}'With Goggles (Inline)
结合Goggles(内联方式)
bash
curl -s "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-G \
--data-urlencode "q=rust programming" \
--data-urlencode 'goggles=$discard
$site=docs.rs
$site=rust-lang.org'bash
curl -s "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-G \
--data-urlencode "q=rust programming" \
--data-urlencode 'goggles=$discard
$site=docs.rs
$site=rust-lang.org'Parameters
参数
Query Parameters
查询参数
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| string | Yes | - | Search query (1-400 chars, max 50 words) |
| string | No | | Search country (2-letter country code or |
| string | No | | Language preference (2+ char language code) |
| int | No | | Max search results to consider (1-50) |
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 字符串 | 是 | - | 搜索查询(1-400字符,最多50个单词) |
| 字符串 | 否 | | 搜索国家(两位国家代码或 |
| 字符串 | 否 | | 语言偏好(两位及以上字符的语言代码) |
| 整数 | 否 | | 要考虑的最大搜索结果数(1-50) |
Context Size Parameters
上下文大小参数
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| int | No | | Max URLs in response (1-50) |
| int | No | | Approximate max tokens in context (1024-32768) |
| int | No | | Max snippets across all URLs (1-100) |
| int | No | | Max tokens per individual URL (512-8192) |
| int | No | | Max snippets per individual URL (1-100) |
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 整数 | 否 | | 响应中的最大URL数量(1-50) |
| 整数 | 否 | | 上下文的近似最大token数(1024-32768) |
| 整数 | 否 | | 所有URL的最大摘要片段数(1-100) |
| 整数 | 否 | | 单个URL的最大token数(512-8192) |
| 整数 | 否 | | 单个URL的最大摘要片段数(1-100) |
Filtering & Local Parameters
过滤与本地参数
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| string | No | | Relevance threshold for including content ( |
| bool | No | | Local recall control ( |
| string/list | No | | Goggle URL or inline definition for custom re-ranking |
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 字符串 | 否 | | 内容纳入的相关性阈值( |
| 布尔值 | 否 | | 本地召回控制( |
| 字符串/列表 | 否 | | Goggle URL或内联定义,用于自定义排序 |
Context Size Guidelines
上下文大小指南
| Task Type | count | max_tokens | Example |
|---|---|---|---|
| Simple factual | 5 | 2048 | "What year was Python created?" |
| Standard queries | 20 | 8192 | "Best practices for React hooks" |
| Complex research | 50 | 16384 | "Compare AI frameworks for production" |
Larger context windows provide more information but increase latency and cost (of your inference). Start with defaults and adjust.
| 任务类型 | count | max_tokens | 示例 |
|---|---|---|---|
| 简单事实查询 | 5 | 2048 | "Python是哪一年诞生的?" |
| 标准查询 | 20 | 8192 | "React Hooks最佳实践" |
| 复杂研究 | 50 | 16384 | "对比适用于生产环境的AI框架" |
更大的上下文窗口会提供更多信息,但会增加延迟和(你的推理)成本。建议从默认值开始调整。
Threshold Modes
阈值模式
| Mode | Behavior |
|---|---|
| Higher threshold — fewer but more relevant results |
| Default — good balance between coverage and relevance |
| Lower threshold — more results, may include less relevant content |
| 模式 | 行为 |
|---|---|
| 阈值更高——返回结果更少但相关性更强 |
| 默认值——在覆盖范围和相关性之间取得良好平衡 |
| 阈值更低——返回结果更多,可能包含相关性较弱的内容 |
Local Recall
本地召回
The parameter controls location-aware recall:
enable_local| Value | Behavior |
|---|---|
| Auto-detect — local recall enabled when any location header is provided |
| Force local — always use local recall, even without location headers |
| Force standard — always use standard web ranking, even with location headers |
For most use cases, omit and let the API auto-detect from location headers.
enable_localenable_local| 值 | 行为 |
|---|---|
| 自动检测——当提供任何位置请求头时启用本地召回 |
| 强制本地——始终使用本地召回,即使未提供位置请求头 |
| 强制标准——始终使用标准网页排序,即使提供了位置请求头 |
对于大多数使用场景,无需设置,让API通过位置请求头自动检测即可。
enable_localLocation Headers
位置请求头
| Header | Type | Description |
|---|---|---|
| float | Latitude (-90.0 to 90.0) |
| float | Longitude (-180.0 to 180.0) |
| string | City name |
| string | State/region code (ISO 3166-2) |
| string | State/region name |
| string | 2-letter country code |
| string | Postal code |
Priority:+X-Loc-Lattake precedence. When provided, text-based headers (City, State, Country, Postal-Code) are not used for location resolution. Provide text-based headers only when you don't have coordinates.X-Loc-Long
| 请求头 | 类型 | 描述 |
|---|---|---|
| 浮点数 | 纬度(-90.0至90.0) |
| 浮点数 | 经度(-180.0至180.0) |
| 字符串 | 城市名称 |
| 字符串 | 州/地区代码(ISO 3166-2) |
| 字符串 | 州/地区名称 |
| 字符串 | 两位国家代码 |
| 字符串 | 邮政编码 |
优先级:+X-Loc-Lat优先级最高。当提供这两个参数时,基于文本的请求头(城市、州、国家、邮政编码)将不会用于位置解析。仅当没有坐标信息时,才提供基于文本的请求头。X-Loc-Long
Example: With Coordinates
示例:使用坐标
bash
curl -s "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-H "X-Loc-Lat: 37.7749" \
-H "X-Loc-Long: -122.4194" \
-G \
--data-urlencode "q=best coffee shops near me"bash
curl -s "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-H "X-Loc-Lat: 37.7749" \
-H "X-Loc-Long: -122.4194" \
-G \
--data-urlencode "q=best coffee shops near me"Example: With Place Name
示例:使用地点名称
bash
curl -s "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-H "X-Loc-City: San Francisco" \
-H "X-Loc-State: CA" \
-H "X-Loc-Country: US" \
-G \
--data-urlencode "q=best coffee shops near me"bash
curl -s "https://api.search.brave.com/res/v1/llm/context" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-H "X-Loc-City: San Francisco" \
-H "X-Loc-State: CA" \
-H "X-Loc-Country: US" \
-G \
--data-urlencode "q=best coffee shops near me"Goggles (Custom Ranking) — Unique to Brave
Goggles(自定义排序)——Brave独有功能
Goggles let you control which sources ground your LLM — essential for RAG quality.
| Use Case | Goggle Rules |
|---|---|
| Official docs only | |
| Exclude user content | |
| Academic sources | |
| No paywalls | |
| Method | Example |
|---|---|
| Hosted | |
| Inline | |
Hosted goggles must be on GitHub/GitLab, include,! name:,! description:headers, and be registered at https://search.brave.com/goggles/create. Inline rules need no registration.! author:
Syntax: / (1–10), , . Combine with commas: . Separate rules with ().
$boost=N$downrank=N$discard$site=example.com$site=example.com,boost=3\n%0AAllow list: — Block list:
$discard\n$site=docs.python.org\n$site=developer.mozilla.org$discard,site=pinterest.com\n$discard,site=quora.comGoggles让你控制哪些来源为你的LLM提供基础数据——这对提升RAG质量至关重要。
| 使用场景 | Goggle规则 |
|---|---|
| 仅使用官方文档 | |
| 排除用户生成内容 | |
| 学术来源 | |
| 排除付费墙内容 | |
| 方式 | 示例 |
|---|---|
| 托管式 | |
| 内联式 | |
托管式Goggles必须托管在GitHub/GitLab上,包含、! name:、! description:请求头,并且需要在https://search.brave.com/goggles/create注册。**内联式**规则无需注册。! author:
语法: / (1–10)、、。可通过逗号组合规则:。使用()分隔不同规则。
$boost=N$downrank=N$discard$site=example.com$site=example.com,boost=3\n%0A白名单: —— 黑名单:
$discard\n$site=docs.python.org\n$site=developer.mozilla.org$discard,site=pinterest.com\n$discard,site=quora.comResponse Format
响应格式
Standard Response
标准响应
json
{
"grounding": {
"generic": [
{
"url": "https://example.com/page",
"title": "Page Title",
"snippets": [
"Relevant text chunk extracted from the page...",
"Another relevant passage from the same page..."
]
}
],
"map": []
},
"sources": {
"https://example.com/page": {
"title": "Page Title",
"hostname": "example.com",
"age": ["Wednesday, January 15, 2025", "2025-01-15", "392 days ago"]
}
}
}json
{
"grounding": {
"generic": [
{
"url": "https://example.com/page",
"title": "Page Title",
"snippets": [
"Relevant text chunk extracted from the page...",
"Another relevant passage from the same page..."
]
}
],
"map": []
},
"sources": {
"https://example.com/page": {
"title": "Page Title",
"hostname": "example.com",
"age": ["Wednesday, January 15, 2025", "2025-01-15", "392 days ago"]
}
}
}Local Response (with enable_local
)
enable_local本地响应(启用enable_local
)
enable_localjson
{
"grounding": {
"generic": [...],
"poi": {
"name": "Business Name",
"url": "https://business.com",
"title": "Title of business.com website",
"snippets": ["Business details and information..."]
},
"map": [
{
"name": "Place Name",
"url": "https://place.com",
"title": "Title of place.com website",
"snippets": ["Place information and details..."]
}
]
},
"sources": {
"https://business.com": {
"title": "Business Name",
"hostname": "business.com",
"age": null
}
}
}json
{
"grounding": {
"generic": [...],
"poi": {
"name": "Business Name",
"url": "https://business.com",
"title": "Title of business.com website",
"snippets": ["Business details and information..."]
},
"map": [
{
"name": "Place Name",
"url": "https://place.com",
"title": "Title of place.com website",
"snippets": ["Place information and details..."]
}
]
},
"sources": {
"https://business.com": {
"title": "Business Name",
"hostname": "business.com",
"age": null
}
}
}Response Fields
响应字段
| Field | Type | Description |
|---|---|---|
| object | Container for all grounding content by type |
| array | Array of URL objects with extracted content (main grounding data) |
| string | Source URL |
| string | Page title |
| array | Extracted smart chunks relevant to the query |
| object/null | Point of interest data (only with local recall) |
| string/null | Point of interest name |
| string/null | POI source URL |
| string/null | POI page title |
| array/null | POI text snippets |
| array | Map/place results (only with local recall) |
| string/null | Place name |
| string/null | Place source URL |
| string/null | Place page title |
| array/null | Place text snippets |
| object | Metadata for all referenced URLs, keyed by URL |
| string | Page title |
| string | Source hostname |
| array/null | Page modification dates (when available) |
Note: Snippets may contain plain text OR JSON-serialized structured data (tables, schemas, code blocks). LLMs handle this mixed format well.
| 字段 | 类型 | 描述 |
|---|---|---|
| 对象 | 所有按类型分类的基础数据容器 |
| 数组 | 包含提取内容的URL对象数组(主要基础数据) |
| 字符串 | 来源URL |
| 字符串 | 页面标题 |
| 数组 | 提取的与查询相关的智能文本块 |
| 对象/空值 | 兴趣点数据(仅启用本地召回时返回) |
| 字符串/空值 | 兴趣点名称 |
| 字符串/空值 | POI来源URL |
| 字符串/空值 | POI页面标题 |
| 数组/空值 | POI文本片段 |
| 数组 | 地图/地点结果(仅启用本地召回时返回) |
| 字符串/空值 | 地点名称 |
| 字符串/空值 | 地点来源URL |
| 字符串/空值 | 地点页面标题 |
| 数组/空值 | 地点文本片段 |
| 对象 | 所有引用URL的元数据,以URL为键 |
| 字符串 | 页面标题 |
| 字符串 | 来源主机名 |
| 数组/空值 | 页面修改日期(若可用) |
注意:文本片段可能包含纯文本或JSON序列化的结构化数据(表格、模式、代码段)。LLM可以很好地处理这种混合格式。
Use Cases
使用场景
- AI Agents: Give your agent a web search tool that returns ready-to-use content in a single call
- RAG Pipelines: Ground LLM responses in fresh, relevant web content
- AI Assistants & Chatbots: Provide factual answers backed by real sources
- Question Answering: Retrieve focused context for specific queries
- Fact Checking: Verify claims against current web content
- Content Research: Gather source material on any topic with one API call
- AI Agent:为你的Agent提供一个网页搜索工具,单次调用即可返回可直接使用的内容
- RAG流水线:让LLM的响应基于新鲜、相关的网页内容
- AI助手与聊天机器人:提供由真实来源支撑的事实性答案
- 问答系统:为特定查询检索精准的上下文
- 事实核查:基于当前网页内容验证主张
- 内容研究:通过一次API调用收集任意主题的素材
Best Practices
最佳实践
- Token budget: Start with defaults (,
maximum_number_of_tokens=8192). Reduce for simple lookups, increase for complex research.count=20 - Source quality: Use Goggles to restrict to trusted sources. Set when precision > recall.
context_threshold_mode=strict - Performance: Use smallest and
countthat meet your needs. For local queries, provide location headers.maximum_number_of_tokens
- Token预算:从默认值开始(,
maximum_number_of_tokens=8192)。简单查询可减少参数值,复杂研究可增加参数值。count=20 - 来源质量:使用Goggles限制为可信来源。当精准度优先于召回率时,设置。
context_threshold_mode=strict - 性能优化:使用能满足需求的最小和
count。对于本地查询,请提供位置请求头。maximum_number_of_tokens