API de búsqueda profunda
api.openai.com
con deepsearch.jina.ai
para comenzar.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
}
Guía de parámetros de DeepSearch
Control de Calidad
En DeepSearch, generalmente existe un equilibrio: cuantos más pasos realiza el sistema, mayor calidad de los resultados se obtiene, pero también se consumen más tokens. Esta mejora en la calidad se debe a búsquedas más amplias y exhaustivas, así como a una reflexión más profunda. Cuatro parámetros principales controlan la calidad de DeepSearch: budget_tokens
, max_attempts
, team_size
y reasoning_effort
. El parámetro reasoning_effort
es esencialmente una combinación preestablecida de budget_tokens
y max_attempts
, cuidadosamente ajustada. Para la mayoría de los usuarios, ajustar reasoning_effort
es el método más sencillo.
Tokens de Presupuesto
budget_tokens
establece el número máximo de tokens permitidos para todo el proceso de DeepSearch. Esto abarca todas las operaciones, incluyendo búsquedas web, lectura de páginas web, reflexión, resumen y codificación. Un presupuesto mayor se traduce naturalmente en una mejor calidad de respuesta. El proceso de DeepSearch se detendrá cuando se agote el presupuesto o se encuentre una respuesta satisfactoria, lo que ocurra primero. Si el presupuesto se agota primero, recibirá una respuesta, pero podría no ser la respuesta final y completamente refinada, ya que no ha superado todas las comprobaciones de calidad definidas por max_attempts
.
Máximo de intentos
max_attempts
determina cuántas veces el sistema reintentará resolver un problema durante el proceso de DeepSearch. Cada vez que DeepSearch genera una respuesta, debe superar ciertas pruebas de calidad definidas por un evaluador interno. Si la respuesta no supera estas pruebas, el evaluador proporciona retroalimentación, y el sistema la utiliza para continuar buscando y refinando la respuesta. Un valor de max_attempts
demasiado bajo significa que obtendrá resultados rápidamente, pero la calidad puede verse afectada, ya que la respuesta podría no superar todas las comprobaciones de calidad. Un valor demasiado alto puede hacer que el proceso parezca atascado en un bucle sin fin de reintentos, donde sigue intentándolo y fallando.
El sistema devuelve una respuesta final cuando se supera el límite de budget_tokens
o max_attempts
(lo que ocurra primero), o cuando la respuesta supera todas las pruebas y aún dispone de presupuesto e intentos.
Tamaño del equipo
team_size
afecta la calidad de forma fundamentalmente distinta a max_attempts
y budget_tokens
. Cuando team_size
se establece en más de uno, el sistema descompone el problema original en subproblemas y los investiga de forma independiente. Se trata de un patrón de mapeo-reducción, donde un trabajo grande se divide en tareas más pequeñas que se ejecutan en paralelo. La respuesta final es entonces una síntesis de los resultados de cada trabajador. Lo llamamos “team_size” porque simula un equipo de investigación donde varios agentes investigan diferentes aspectos del mismo problema y colaboran en un informe final.
Ten en cuenta que el consumo de tokens de todos los agentes cuenta para el total de budget_tokens
, pero cada agente tiene un max_attempts
independiente. Esto significa que con un team_size
mayor pero los mismos budget_tokens
, los agentes podrían devolver respuestas antes de lo esperado debido a limitaciones presupuestarias. Recomendamos aumentar team_size
y budget_tokens
conjuntamente para que cada agente tenga los recursos suficientes para realizar un trabajo exhaustivo.
Por último, team_size
puede considerarse como el parámetro que controla la amplitud de la búsqueda: determina cuántos aspectos diferentes se investigarán. Por otro lado, budget_tokens
y max_attempts
controlan la profundidad de la búsqueda: la profundidad con la que se explora cada aspecto.
Control de Fuentes
DeepSearch depende en gran medida de la base: las fuentes que utiliza para obtener información. La calidad no se limita a la profundidad y amplitud del algoritmo; el origen de la información de DeepSearch es igualmente importante y, a menudo, el factor decisivo. Exploremos los parámetros clave que controlan esto.
Sin Respuesta Directa
no_direct_answer
es un simple interruptor que impide que el sistema devuelva una respuesta en el paso 1. Al activarlo, desactiva la capacidad del sistema para usar el conocimiento interno y lo obliga a buscar siempre primero en la web. Activarlo hará que el sistema “piense demasiado” incluso en preguntas sencillas como “¿qué día es hoy?”, “¿cómo estás?” o información factual básica que sin duda está en los datos de entrenamiento del modelo, como “¿quién fue el 40.º presidente de EE. UU.?”.
Controles de Nombre de Host
Tres parámetros —boost_hostnames
, bad_hostnames
y only_hostnames
— indican a DeepSearch qué páginas web priorizar, evitar o usar exclusivamente. Para comprender su funcionamiento, considere el proceso de búsqueda y lectura en DeepSearch:
- Fase de Búsqueda: El sistema busca en la web y recupera una lista de URLs de sitios web con sus fragmentos.
- Fase de Selección: El sistema decide qué URLs visitar (no las visita todas por limitaciones de tiempo y coste).
boost_hostnames
: Los dominios listados aquí tienen mayor prioridad y mayor probabilidad de ser visitados.bad_hostnames
: Estos dominios nunca serán visitados.only_hostnames
: Cuando se define, solo se visitarán las URLs que coincidan con estos nombres de host.
Aquí hay algunas notas importantes sobre los parámetros de nombre de host. En primer lugar, el sistema siempre utiliza fragmentos devueltos por los motores de búsqueda como pistas iniciales para construir cadenas de razonamiento. Estos parámetros de nombre de host solo afectan las páginas web que visita el sistema, no la forma en que formula las consultas de búsqueda.
En segundo lugar, si las URL recopiladas no contienen los dominios especificados en only_hostnames
, el sistema podría dejar de leer las páginas web por completo. Recomendamos usar estos parámetros solo cuando esté familiarizado con su pregunta de investigación y comprenda dónde es probable que se encuentren las posibles respuestas (o dónde definitivamente no deberían encontrarse).
Caso especial: Investigación académica
Para la investigación académica, podría ser conveniente restringir las búsquedas y lecturas a arxiv.org. En este caso, simplemente configure "search_provider": "arxiv"
y todo se basará en arxiv como única fuente. Sin embargo, las preguntas genéricas o triviales podrían no obtener respuestas eficientes con esta restricción, por lo que solo use "search_provider": "arxiv"
para investigación académica seria.
Código de idioma de búsqueda
search_language_code
es otro parámetro que afecta a las fuentes web, obligando al sistema a generar consultas en un idioma específico, independientemente de la entrada original o los pasos intermedios de razonamiento. Generalmente, el sistema decide automáticamente el idioma de la consulta para obtener la mejor cobertura de búsqueda, pero a veces resulta útil el control manual.
Casos de uso para el control del idioma
Investigación de mercado internacional: Al estudiar el impacto de una marca o empresa local en los mercados internacionales, puede forzar que las consultas siempre utilicen el inglés con "search_language_code": "en"
para una cobertura global, o usar el idioma local para obtener información regional más específica.
Investigación global con indicaciones en otros idiomas: Si su entrada siempre está en chino o japonés (porque sus usuarios finales hablan principalmente estos idiomas), pero el alcance de su investigación es global y no solo de sitios web locales en chino o japonés, el sistema podría inclinarse automáticamente hacia el idioma de su indicación. Utilice este parámetro para forzar las consultas en inglés para una cobertura internacional más amplia.
Chatea con DeepSearch
¿Qué es DeepSearch?
LLM estándar
RAG y LLM fundamentados
Búsqueda profunda
Precios de API
Producto | Punto final de API | Descripciónarrow_upward | Sin clave APIkey_off | con clave APIkey | con clave API Premiumkey | Latencia media | Recuento de uso de tokens | Solicitud Permitida | |
---|---|---|---|---|---|---|---|---|---|
API de lector | https://r.jina.ai | Convertir URL a texto compatible con LLM | 20 RPM | 500 RPM | trending_up5000 RPM | 7.9s | Cuente la cantidad de tokens en la respuesta de salida. | GET/POST | |
API de lector | https://s.jina.ai | Busque en la web y convierta los resultados en texto compatible con LLM | block | 100 RPM | trending_up1000 RPM | 2.5s | Cada solicitud cuesta una cantidad fija de tokens, a partir de 10000 tokens | GET/POST | |
Búsqueda profunda | https://deepsearch.jina.ai/v1/chat/completions | Razonar, buscar e iterar para encontrar la mejor respuesta. | block | 50 RPM | 500 RPM | 56.7s | Cuente el número total de tokens en todo el proceso. | POST | |
API de incrustación | https://api.jina.ai/v1/embeddings | Convertir texto/imágenes en vectores de longitud fija | block | 500 RPM & 1,000,000 TPM | trending_up2,000 RPM & 5,000,000 TPM | ssid_chart depende del tamaño de entrada help | Cuente la cantidad de tokens en la solicitud de entrada. | POST | |
API de reclasificación | https://api.jina.ai/v1/rerank | Clasificar documentos por consulta | block | 500 RPM & 1,000,000 TPM | trending_up2,000 RPM & 5,000,000 TPM | ssid_chart depende del tamaño de entrada help | Cuente la cantidad de tokens en la solicitud de entrada. | POST | |
API de clasificador | https://api.jina.ai/v1/train | Entrenar un clasificador usando ejemplos etiquetados | block | 20 RPM & 200,000 TPM | 60 RPM & 1,000,000 TPM | ssid_chart depende del tamaño de entrada | Los tokens se cuentan como: input_tokens × num_iters | POST | |
API de clasificador (Disparo cero) | https://api.jina.ai/v1/classify | Clasificar las entradas utilizando la clasificación de disparo cero | block | 200 RPM & 500,000 TPM | 1,000 RPM & 3,000,000 TPM | ssid_chart depende del tamaño de entrada | Los tokens se cuentan como: input_tokens + label_tokens | POST | |
API de clasificador (Pocos disparos) | https://api.jina.ai/v1/classify | Clasifique las entradas utilizando un clasificador de pocos disparos entrenado | block | 20 RPM & 200,000 TPM | 60 RPM & 1,000,000 TPM | ssid_chart depende del tamaño de entrada | Los tokens se cuentan como: input_tokens | POST | |
API de segmentación | https://api.jina.ai/v1/segment | Tokenizar y segmentar textos largos | 20 RPM | 200 RPM | 1,000 RPM | 0.3s | El token no se cuenta como uso. | GET/POST |