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
}
Руководство по параметрам DeepSearch
Контроль качества
В DeepSearch обычно есть компромисс: чем больше шагов выполняет система, тем более качественные результаты вы получите, но вы также потребляете больше токенов. Это улучшенное качество достигается за счет более широкого, более исчерпывающего поиска и более глубокого размышления. Четыре основных параметра контролируют качество DeepSearch: budget_tokens
, max_attempts
, team_size
и reasoning_effort
. Параметр reasoning_effort
по сути является предустановленной комбинацией budget_tokens
и max_attempts
, которая была тщательно настроена. Для большинства пользователей настройка reasoning_effort
является самым простым подходом.
Бюджетные токены
budget_tokens
устанавливает максимальное количество токенов, разрешенных для всего процесса DeepSearch. Это охватывает все операции, включая веб-поиск, чтение веб-страниц, размышление, резюмирование и кодирование. Большие бюджеты, естественно, приводят к лучшему качеству ответа. Процесс DeepSearch остановится, когда бюджет будет исчерпан или когда будет найден удовлетворительный ответ, в зависимости от того, что произойдет раньше. Если бюджет закончится раньше, вы все равно получите ответ, но он может быть не окончательным, полностью уточненным ответом, поскольку он не прошел все проверки качества, определенные max_attempts
.
Максимальное количество попыток
max_attempts
определяет, сколько раз система будет пытаться решить проблему в процессе DeepSearch. Каждый раз, когда DeepSearch выдает ответ, он должен пройти определенные тесты качества, определенные внутренним оценщиком. Если ответ не проходит эти тесты, оценщик предоставляет обратную связь, и система использует эту обратную связь для продолжения поиска и уточнения ответа. Установка max_attempts
слишком низкого значения означает, что вы получите результаты быстро, но качество может пострадать, поскольку ответ может не пройти все проверки качества. Установка слишком высокого значения может привести к тому, что процесс будет казаться застрявшим в бесконечном цикле повторов, где он продолжает пытаться и терпеть неудачу.
Система возвращает окончательный ответ, когда превышены budget_tokens
или max_attempts
(в зависимости от того, что произойдет раньше), или когда ответ проходит все тесты, при этом все еще остается бюджет и попытки.
Размер команды
team_size
влияет на качество принципиально иным образом, чем max_attempts
и budget_tokens
. Когда team_size
установлен более чем на один, система разбивает исходную проблему на подзадачи и исследует их независимо. Думайте об этом как о шаблоне map-reduce, где большая работа разбивается на более мелкие задачи, которые выполняются параллельно. Окончательный ответ затем является синтезом результатов каждого работника. Мы называем его «team_size», потому что он имитирует исследовательскую группу, в которой несколько агентов исследуют различные аспекты одной и той же проблемы и совместно работают над окончательным отчетом.
Помните, что потребление токенов всеми агентами учитывается в вашем общем budget_tokens
, но у каждого агента есть независимые max_attempts
. Это означает, что при большем team_size
, но том же budget_tokens
, агенты могут возвращать ответы раньше, чем ожидалось, из-за бюджетных ограничений. Мы рекомендуем увеличить и team_size
, и budget_tokens
вместе, чтобы дать каждому агенту достаточно ресурсов для тщательной работы.
Наконец, вы можете думать о team_size
как о контроле широты поиска — он определяет, сколько различных аспектов будет исследовано. Между тем, budget_tokens
и max_attempts
контролируют глубину поиска — насколько тщательно исследуется каждый аспект.
Контроль источника
DeepSearch в значительной степени опирается на заземление — источники, которые он использует для получения информации. Качество — это не только глубина и широта алгоритма; то, откуда DeepSearch получает информацию, также важно и часто является решающим фактором. Давайте рассмотрим ключевые параметры, которые это контролируют.
Нет прямого ответа
no_direct_answer
— это простой переключатель, который не позволяет системе возвращать ответ на шаге 1. При включении он отключает возможность системы использовать внутренние знания и заставляет ее всегда сначала искать в Интернете. Включение этого параметра заставит систему «передумывать» даже над простыми вопросами, такими как «какой сегодня день», «как дела» или базовыми фактическими знаниями, которые определенно есть в обучающих данных модели, например, «кто был 40-м президентом США».
Управление именами хостов
Три параметра — boost_hostnames
, bad_hostnames
и only_hostnames
— сообщают DeepSearch, какие веб-страницы следует отдать приоритет, избегать или использовать исключительно. Чтобы понять, как они работают, подумайте о процессе поиска и чтения в DeepSearch:
- Фаза поиска: система выполняет поиск в Интернете и извлекает список 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"
для глобального покрытия или использовать местный язык для более специализированной региональной информации.
Глобальные исследования с неанглийскими подсказками: если вы всегда вводите на китайском или японском языке (потому что ваши конечные пользователи в основном говорят на этих языках), но область вашего исследования глобальна, а не только локальные китайские или японские веб-сайты, система может автоматически склониться к языку вашего подсказки. Используйте этот параметр, чтобы принудительно использовать английские запросы для более широкого международного покрытия.
Чат с DeepSearch
Что такое DeepSearch?
Стандартные LLM
RAG и обоснованные LLM
Глубокий поиск
Цены на API
Продукт | Конечная точка API | Описаниеarrow_upward | без API-ключаkey_off | с API-ключомkey | с премиум-ключом APIkey | Средняя задержка | Подсчет использования токенов | Разрешенный запрос | |
---|---|---|---|---|---|---|---|---|---|
API-интерфейс читателя | https://r.jina.ai | Преобразовать URL в текст, понятный LLM | 20 RPM | 500 RPM | trending_up5000 RPM | 7.9s | Подсчитайте количество токенов в выходном ответе. | GET/POST | |
API-интерфейс читателя | https://s.jina.ai | Поиск в Интернете и преобразование результатов в текст, понятный LLM | 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/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/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/train | Обучить классификатор с использованием маркированных примеров | block | 20 RPM & 200,000 TPM | 60 RPM & 1,000,000 TPM | ssid_chart зависит от размера входных данных | Токены подсчитываются как: input_tokens × num_iters | POST | |
API классификатора (Несколько выстрелов) | https://api.jina.ai/v1/classify | Классифицируйте входные данные с помощью обученного классификатора с несколькими попытками | block | 20 RPM & 200,000 TPM | 60 RPM & 1,000,000 TPM | ssid_chart зависит от размера входных данных | Токены учитываются как: input_tokens | POST | |
API классификатора (Нулевой выстрел) | https://api.jina.ai/v1/classify | Классифицируйте входные данные, используя классификацию с нулевым результатом | block | 200 RPM & 500,000 TPM | 1,000 RPM & 3,000,000 TPM | ssid_chart зависит от размера входных данных | Токены считаются как: input_tokens + label_tokens | POST | |
API сегментатора | https://api.jina.ai/v1/segment | Токенизация и сегментация длинного текста | 20 RPM | 200 RPM | 1,000 RPM | 0.3s | Токен не считается использованием. | GET/POST |