深度搜索 API
api.openai.com
与 deepsearch.jina.ai
交换即可开始。reasoning_effort
参数。reasoning_effort
参数。{
"role": "user",
"content": "hi"
}
curl https://deepsearch.jina.ai/v1/chat/completions \
-H "Content-Type: application/json"\
-H "Authorization: Bearer " \
-d @- <<EOFEOF
{
"model": "jina-deepsearch-v1",
"messages": [
{
"role": "user",
"content": "Hi!"
},
{
"role": "assistant",
"content": "Hi, how can I help you?"
},
{
"role": "user",
"content": "what's the latest blog post from jina ai?"
}
],
"stream": true,
"reasoning_effort": "medium"
}
EOFEOF
{
"id": "1742181758589",
"object": "chat.completion.chunk",
"created": 1742181758,
"model": "jina-deepsearch-v1",
"system_fingerprint": "fp_1742181758589",
"choices": [
{
"index": 0,
"delta": {
"content": "The latest blog post from Jina AI is titled \"Snippet Selection and URL Ranking in DeepSearch/DeepResearch,\" published on March 12, 2025 [^1]. This post discusses how to improve the quality of DeepSearch by using late-chunking embeddings for snippet selection and rerankers to prioritize URLs before crawling. You can read the full post here: https://jina.ai/news/snippet-selection-and-url-ranking-in-deepsearch-deepresearch\n\n[^1]: Since our DeepSearch release on February 2nd 2025 we ve discovered two implementation details that greatly improved quality In both cases multilingual embeddings and rerankers are used in an in context manner operating at a much smaller scale than the traditional pre computed indices these models typically require [jina.ai](https://jina.ai/news/snippet-selection-and-url-ranking-in-deepsearch-deepresearch)",
"type": "text",
"annotations": [
{
"type": "url_citation",
"url_citation": {
"title": "Snippet Selection and URL Ranking in DeepSearch/DeepResearch",
"exactQuote": "Since our DeepSearch release on February 2nd 2025, we've discovered two implementation details that greatly improved quality. In both cases, multilingual embeddings and rerankers are used in an _\"in-context\"_ manner - operating at a much smaller scale than the traditional pre-computed indices these models typically require.",
"url": "https://jina.ai/news/snippet-selection-and-url-ranking-in-deepsearch-deepresearch",
"dateTime": "2025-03-13 06:48:01"
}
}
]
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 169670,
"completion_tokens": 27285,
"total_tokens": 196526
},
"visitedURLs": [
"https://github.com/jina-ai/node-DeepResearch/blob/main/src/utils/url-tools.ts",
"https://huggingface.co/jinaai/jina-embeddings-v3",
"https://github.com/jina-ai/reader",
"https://zilliz.com/blog/training-text-embeddings-with-jina-ai",
"https://threads.net/@unwind_ai/post/DGmhWCVswbe/media",
"https://twitter.com/JinaAI_/status/1899840196507820173",
"https://jina.ai/news?tag=tech-blog",
"https://docs.llamaindex.ai/en/stable/examples/embeddings/jinaai_embeddings",
"https://x.com/jinaai_",
"https://x.com/JinaAI_/status/1899840202358784170",
"https://tracxn.com/d/companies/jina-ai/__IQ81fOnU0FsDpagFjG-LrG0DMWHELqI6znTumZBQF-A/funding-and-investors",
"https://jina.ai/models",
"https://linkedin.com/posts/imohitmayank_jinaai-has-unveiled-the-ultimate-developer-activity-7300401711242711040-VD64",
"https://medium.com/@tossy21/trying-out-jina-ais-node-deepresearch-c5b55d630ea6",
"https://huggingface.co/jinaai/jina-clip-v2",
"https://arxiv.org/abs/2409.10173",
"https://milvus.io/docs/embed-with-jina.md",
"https://seedtable.com/best-startups-in-china",
"https://threads.net/@sung.kim.mw/post/DGhG-J_vREu/jina-ais-a-practical-guide-to-implementing-deepsearchdeepresearchthey-cover-desi",
"https://elastic.co/search-labs/blog/jina-ai-embeddings-rerank-model-open-inference-api",
"http://status.jina.ai/",
"https://apidog.com/blog/recreate-openai-deep-research",
"https://youtube.com/watch?v=QxHE4af5BQE",
"https://sdxcentral.com/articles/news/cisco-engages-businesses-on-ai-strategies-at-greater-bay-area-2025/2025/02",
"https://aws.amazon.com/blogs/machine-learning/build-rag-applications-using-jina-embeddings-v2-on-amazon-sagemaker-jumpstart",
"https://reddit.com/r/perplexity_ai/comments/1ejbdqa/fastest_open_source_ai_search_engine",
"https://search.jina.ai/",
"https://sebastian-petrus.medium.com/build-openais-deep-research-open-source-alternative-4f21aed6d9f0",
"https://medium.com/@elmo92/jina-reader-transforming-web-content-to-feed-llms-d238e827cc27",
"https://openai.com/index/introducing-deep-research",
"https://python.langchain.com/docs/integrations/tools/jina_search",
"https://varindia.com/news/meta-is-in-talks-for-usd200-billion-ai-data-center-project",
"https://varindia.com/news/Mira-Murati%E2%80%99s-new-AI-venture-eyes-$9-billion-valuation",
"https://53ai.com/news/RAG/2025031401342.html",
"https://arxiv.org/abs/2409.04701",
"https://bigdatawire.com/this-just-in/together-ai-raises-305m-series-b-to-power-ai-model-training-and-inference",
"https://github.blog/",
"https://cdn-uploads.huggingface.co/production/uploads/660c3c5c8eec126bfc7aa326/MvwT9enRT7gOESHA_tpRj.jpeg",
"https://cdn-uploads.huggingface.co/production/uploads/660c3c5c8eec126bfc7aa326/JNs_DrpFbr6ok_pSRUK4j.jpeg",
"https://app.dealroom.co/lists/33530",
"https://api-docs.deepseek.com/news/news250120",
"https://sdxcentral.com/articles/news/ninjaone-raises-500-million-valued-at-5-billion/2025/02",
"https://linkedin.com/sharing/share-offsite?url=https%3A%2F%2Fjina.ai%2Fnews%2Fa-practical-guide-to-implementing-deepsearch-deepresearch%2F",
"https://twitter.com/intent/tweet?url=https%3A%2F%2Fjina.ai%2Fnews%2Fa-practical-guide-to-implementing-deepsearch-deepresearch%2F",
"https://platform.openai.com/docs/api-reference/chat/create",
"https://mp.weixin.qq.com/s/-pPhHDi2nz8hp5R3Lm_mww",
"https://huggingface.us17.list-manage.com/subscribe?id=9ed45a3ef6&u=7f57e683fa28b51bfc493d048",
"https://automatio.ai/",
"https://sdk.vercel.ai/docs/introduction",
"https://app.eu.vanta.com/jinaai/trust/vz7f4mohp0847aho84lmva",
"https://apply.workable.com/huggingface/j/AF1D4E3FEB",
"https://facebook.com/sharer/sharer.php?u=https%3A%2F%2Fjina.ai%2Fnews%2Fa-practical-guide-to-implementing-deepsearch-deepresearch%2F",
"https://facebook.com/sharer/sharer.php?u=http%3A%2F%2F127.0.0.1%3A3000%2Fen-US%2Fnews%2Fsnippet-selection-and-url-ranking-in-deepsearch-deepresearch%2F",
"https://reddit.com/submit?url=https%3A%2F%2Fjina.ai%2Fnews%2Fa-practical-guide-to-implementing-deepsearch-deepresearch%2F",
"https://apply.workable.com/huggingface",
"https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fjina.ai%2Fnews%2Fa-practical-guide-to-implementing-deepsearch-deepresearch%2F",
"https://news.ycombinator.com/submitlink?u=http%3A%2F%2F127.0.0.1%3A3000%2Fen-US%2Fnews%2Fsnippet-selection-and-url-ranking-in-deepsearch-deepresearch%2F",
"https://docs.github.com/site-policy/privacy-policies/github-privacy-statement",
"https://discord.jina.ai/",
"https://docs.github.com/site-policy/github-terms/github-terms-of-service",
"https://bigdatawire.com/this-just-in/qumulo-announces-30-million-funding",
"https://x.ai/blog/grok-3",
"https://m-ric-open-deep-research.hf.space/",
"https://youtu.be/sal78ACtGTc?feature=shared&t=52",
"https://mp.weixin.qq.com/s/apnorBj4TZs3-Mo23xUReQ",
"https://perplexity.ai/hub/blog/introducing-perplexity-deep-research",
"https://githubstatus.com/",
"https://github.blog/changelog/2021-09-30-footnotes-now-supported-in-markdown-fields",
"https://openai.com/index/introducing-operator",
"mailto:[email protected]",
"https://resources.github.com/learn/pathways",
"https://status.jina.ai/",
"https://reuters.com/technology/artificial-intelligence/tencents-messaging-app-weixin-launches-beta-testing-with-deepseek-2025-02-16",
"https://scmp.com/tech/big-tech/article/3298981/baidu-adopts-deepseek-ai-models-chasing-tencent-race-embrace-hot-start",
"https://microsoft.com/en-us/research/articles/magentic-one-a-generalist-multi-agent-system-for-solving-complex-tasks",
"javascript:UC_UI.showSecondLayer();",
"https://resources.github.com/",
"https://storm-project.stanford.edu/research/storm",
"https://blog.google/products/gemini/google-gemini-deep-research",
"https://youtu.be/vrpraFiPUyA",
"https://chat.baidu.com/search?extParamsJson=%7B%22enter_type%22%3A%22ai_explore_home%22%7D&isShowHello=1&pd=csaitab&setype=csaitab&usedModel=%7B%22modelName%22%3A%22DeepSeek-R1%22%7D",
"https://app.dover.com/jobs/jinaai",
"http://localhost:3000/",
"https://docs.cherry-ai.com/",
"https://en.wikipedia.org/wiki/Delayed_gratification",
"https://support.github.com/?tags=dotcom-footer",
"https://docs.jina.ai/",
"https://skills.github.com/",
"https://partner.github.com/",
"https://help.x.com/resources/accessibility",
"https://business.twitter.com/en/help/troubleshooting/how-twitter-ads-work.html",
"https://business.x.com/en/help/troubleshooting/how-twitter-ads-work.html",
"https://support.twitter.com/articles/20170514",
"https://support.x.com/articles/20170514",
"https://t.co/jnxcxPzndy",
"https://t.co/6EtEMa9P05",
"https://help.x.com/using-x/x-supported-browsers",
"https://legal.twitter.com/imprint.html"
],
"readURLs": [
"https://jina.ai/news/a-practical-guide-to-implementing-deepsearch-deepresearch",
"https://github.com/jina-ai/node-DeepResearch",
"https://huggingface.co/blog/open-deep-research",
"https://jina.ai/news/snippet-selection-and-url-ranking-in-deepsearch-deepresearch",
"https://x.com/jinaai_?lang=en",
"https://jina.ai/news",
"https://x.com/joedevon/status/1896984525210837081",
"https://github.com/jina-ai/node-DeepResearch/blob/main/src/tools/jina-latechunk.ts"
],
"numURLs": 98
}
深度搜索参数指南
质量控制
在深度搜索中,通常存在一个权衡:系统执行的步骤越多,获得的结果质量就越高,但同时也会消耗更多词元。这种质量的提升源于更广泛、更详尽的搜索和更深入的反思。四个主要参数控制深度搜索的质量:budget_tokens
、max_attempts
、team_size
和 reasoning_effort
。reasoning_effort
参数本质上是 budget_tokens
和 max_attempts
的预设组合,并经过了精心调整。对于大多数用户来说,调整 reasoning_effort
是最简单的方法。
预算词元
budget_tokens
设置整个深度搜索过程中允许的最大词元数量。这涵盖了所有操作,包括网页搜索、读取网页、反思、摘要和编码。预算越大,响应质量自然也就越好。当预算耗尽或找到满意答案时(以先到者为准),深度搜索过程将停止。如果预算先耗尽,您仍然会得到答案,但这可能不是最终的、完全优化的响应,因为它尚未通过max_attempts
定义的所有质量检查。
最大尝试次数
max_attempts
决定了系统在深度搜索过程中重试解决问题的次数。每次深度搜索生成答案时,它都必须通过内部评估器定义的某些质量测试。如果答案未通过这些测试,评估器会提供反馈,系统会使用此反馈继续搜索和优化答案。将max_attempts
设置得太低意味着您可以快速获得结果,但质量可能会受到影响,因为答案可能无法通过所有质量检查。将其设置得太高可能会使流程陷入无休止的重试循环,不断尝试并失败。
当budget_tokens
或max_attempts
超出(以先发生者为准),或者答案通过所有测试且仍有剩余预算和尝试次数时,系统会返回最终答案。
团队规模
team_size
对质量的影响方式与max_attempts
和budget_tokens
截然不同。当team_size
设置为大于1时,系统会将原始问题分解为子问题,并分别进行研究。可以将其想象成Map-Reduce模式,将大型作业分解为并行运行的较小任务。最终答案是每个工作者结果的综合。我们称之为team_size
,因为它模拟了一个研究团队,其中多个智能体调查同一问题的不同方面并协作完成最终报告。
请记住,所有智能体的词元消耗都会计入您的budget_tokens
总数,但每个智能体都有独立的max_attempts
。这意味着,如果team_size
较大,但budget_tokens
相同,由于预算限制,智能体可能会比预期更快地返回答案。我们建议同时增加team_size
和budget_tokens
,以便为每个智能体提供足够的资源来完成全面的工作。
最后,您可以将team_size
视为控制搜索广度的因素——它决定了要研究的不同方面的数量。同时,budget_tokens
和max_attempts
控制搜索的深度——即对每个方面的探索程度。
信息来源控制
深度搜索高度依赖基础信息——它所使用的信息来源。质量不仅仅关乎算法的深度和广度;深度搜索获取信息的来源也同样重要,而且往往是决定性因素。让我们来探索一下控制这一点的关键参数。
不直接回答
no_direct_answer
是一个简单的开关,它可以阻止系统在步骤 1 返回答案。启用后,它会禁用系统使用内部知识的能力,并强制其始终首先搜索网页。启用此功能会使系统“过度思考”,即使是像“今天星期几”、“你好吗”这样的简单问题,或者像“谁是美国第 40 任总统”这样的基本事实知识,这些知识肯定存在于模型的训练数据中。
域名控制
三个参数——boost_hostnames
、bad_hostnames
和 only_hostnames
——告诉 深度搜索哪些网页需要优先处理、避免或专门使用。要理解这些机制的工作原理,请回顾一下深度搜索中的搜索和读取流程:
- 搜索阶段:系统搜索网络并检索包含其摘要的网站 URL 列表
- 选择阶段:系统决定实际访问哪些 URL(由于时间和成本限制,系统不会访问所有 URL)
boost_hostnames
:此处列出的域名优先级更高,更有可能被访问bad_hostnames
:这些域名永远不会被访问only_hostnames
:定义后,只有与这些域名匹配的 URL 才会被访问
以下是一些关于域名参数的重要说明。首先,系统始终使用搜索引擎返回的摘要作为构建推理链的初始线索。这些域名参数仅影响系统访问的网页,而不会影响其如何制定搜索查询。
其次,如果收集到的 URL 不包含 only_hostnames
中指定的域名,系统可能会完全停止读取网页。我们建议仅在您熟悉研究问题并了解潜在答案可能出现的位置(或绝对不应该出现的位置)时才使用这些参数。
特殊情况:学术研究
对于学术研究,您可能希望将搜索和读取限制在 arxiv.org 上。在这种情况下,只需设置 "search_provider": "arxiv"
,所有内容都将以 arxiv 作为唯一来源。但是,对于一般性或琐碎的问题,此限制可能无法获得有效的答案,因此仅将 "search_provider": "arxiv"
用于严肃的学术研究。
搜索语言代码
search_language_code
是另一个影响网络资源的参数,它会强制系统以特定语言生成查询,而不管原始输入或中间推理步骤如何。通常,系统会自动确定查询语言以获得最佳搜索覆盖率,但有时手动控制也很有用。
语言控制用例
国际市场调研:在研究本地品牌或公司在国际市场的影响力时,您可以强制查询始终使用英语(使用 "search_language_code": "en"
来实现全球覆盖),或者使用本地语言来获取更具针对性的地区信息。
使用非英语提示进行全球调研:如果您的输入始终使用中文或日语(因为您的最终用户主要使用这些语言),但您的调研范围是全球性的,而不仅仅是本地的中文或日语网站,则系统可能会自动倾向于使用您提示的语言。使用此参数可以强制使用英语查询,以实现更广泛的国际覆盖率。
与深度搜索聊天
什么是深度搜索?
大模型
RAG范式和带搜索的大模型
深度搜索
API价格表
产品 | API端口 | 描述arrow_upward | 无 API 密钥key_off | 使用 API 密钥key | 带有高级 API 密钥key | 平均延迟 | 词元使用计数 | 请求类型 | |
---|---|---|---|---|---|---|---|---|---|
读取器 API | https://r.jina.ai | 将 URL 转换为大模型友好文本 | 20 RPM | 500 RPM | trending_up5000 RPM | 7.9s | 以输出响应中的词元数量为准。 | GET/POST | |
读取器 API | https://s.jina.ai | 搜索网络并将结果转换为大模型友好文本 | block | 100 RPM | trending_up1000 RPM | 2.5s | 每个请求都需要固定数量的词元,从 10000 个词元开始 | GET/POST | |
深度搜索 | https://deepsearch.jina.ai/v1/chat/completions | 推理、搜索和迭代以找到最佳答案 | block | 50 RPM | 500 RPM | 56.7s | 统计整个过程中词元的总数。 | POST | |
向量模型API | https://api.jina.ai/v1/embeddings | 将文本/图片转为定长向量 | block | 500 RPM & 1,000,000 TPM | trending_up2,000 RPM & 5,000,000 TPM | ssid_chart 取决于输入大小 help | 以输入请求中的词元数量为准。 | POST | |
重排器 API | https://api.jina.ai/v1/rerank | 按查询对文档进行精排 | block | 500 RPM & 1,000,000 TPM | trending_up2,000 RPM & 5,000,000 TPM | ssid_chart 取决于输入大小 help | 以输入请求中的词元数量为准。 | POST | |
分类器 API | https://api.jina.ai/v1/train | 使用训练样本训练分类器 | block | 20 RPM & 200,000 TPM | 60 RPM & 1,000,000 TPM | ssid_chart 取决于输入大小 | 词元计数为:输入词元 × 迭代次数 | POST | |
分类器 API (少量样本) | https://api.jina.ai/v1/classify | 使用经过训练的少样本分类器对输入进行分类 | block | 20 RPM & 200,000 TPM | 60 RPM & 1,000,000 TPM | ssid_chart 取决于输入大小 | 词元计数为:输入词元 | POST | |
分类器 API (零样本) | https://api.jina.ai/v1/classify | 使用零样本分类对输入进行分类 | block | 200 RPM & 500,000 TPM | 1,000 RPM & 3,000,000 TPM | ssid_chart 取决于输入大小 | 词元计数为:输入词元 加 标签词元 | POST | |
切分器 API | https://api.jina.ai/v1/segment | 对长文本进行分词分句 | 20 RPM | 200 RPM | 1,000 RPM | 0.3s | 词元不计算使用量。 | GET/POST |