Saltar al contenido principal

Descripción

Hemos integrado las cinco interfaces principales de Jina AI, ayudándote a construir fácilmente potentes agentes inteligentes. Estas interfaces son adecuadas principalmente para los siguientes escenarios:
  • Embeddings vectoriales (Embeddings): Aplicable a escenarios multimodales de preguntas y respuestas RAG, como atención al cliente inteligente, contratación inteligente y preguntas y respuestas sobre bases de conocimiento.
  • Reordenamiento (Rerank): Mediante la optimización de los resultados candidatos de Embedding, los ordena según la relevancia temática, mejorando significativamente la calidad de las respuestas de los modelos de lenguaje grandes.
  • Búsqueda profunda (DeepSearch): Realiza búsqueda y razonamiento profundos hasta encontrar la respuesta óptima, especialmente adecuada para tareas complejas como proyectos de investigación y desarrollo de soluciones de producto.
  • Búsqueda web (Search): Pasa una consulta y obtén el cuerpo limpio de la página de resultados del buscador (SERP), listo para introducirlo directamente en un LLM para preguntas y respuestas con conexión web y RAG.
  • Lector web (Reader): Pasa cualquier URL y obtén el cuerpo Markdown limpio de esa página tras la conversión, ideal para extraer contenido web y alimentar un LLM.
Hemos mejorado la API de Jina AI para admitir futuras extensiones, por lo que el uso puede diferir ligeramente de la implementación nativa oficial.

Inicio rápido

Sustituye API_KEY por AIHUBMIX_API_KEY y el enlace del endpoint del modelo; los demás parámetros y el uso son totalmente coherentes con la web oficial de Jina AI. Sustitución de endpoints:
  • Embeddings vectoriales (Embeddings): https://jina.ai/embeddings -> https://aihubmix.com/v1/embeddings
  • Reordenamiento (Rerank): https://api.jina.ai/v1/rerank -> https://aihubmix.com/v1/rerank
  • Búsqueda profunda (DeepSearch): https://deepsearch.jina.ai/v1/chat/completions -> https://aihubmix.com/v1/chat/completions
  • Búsqueda web (Search): https://s.jina.ai/?q= -> https://aihubmix.com/v1/jina/search?q=
  • Lector web (Reader): https://r.jina.ai/<url> -> https://aihubmix.com/v1/jina/reader/<url>
    Si la dirección principal actual de la API no está disponible, sustituye el dominio de esta configuración por la dirección de respaldo https://api.inferera.com; conserva la ruta sin cambios.

Embeddings

El Embedding de Jina AI admite tanto texto plano como imágenes multimodales y funciona excelentemente en tareas multilingües.

Parámetros de la solicitud

model
string
requerido
Nombre del modelo, lista de modelos disponibles:
  • jina-clip-v2: Multimodal, multilingüe, 1024 dimensiones, ventana de contexto de 8K, 865M parámetros
  • jina-embeddings-v3: Modelo de texto, multilingüe, 1024 dimensiones, ventana de contexto de 8K, 570M parámetros
  • jina-colbert-v2: Modelo ColBERT multilingüe, contexto de 8K tokens, 560M parámetros, utilizado para embedding y reordenamiento
  • jina-embeddings-v2-base-code: Modelo optimizado para búsqueda de código y documentación, 768 dimensiones, ventana de contexto de 8K, 137M parámetros
input
array
requerido
Texto o imagen de entrada; los distintos modelos admiten diferentes formatos de entrada. Para texto, proporciona un array de cadenas; para modelos multimodales, proporciona un array de objetos que contengan los campos text o image.
embedding_format
string
predeterminado:"float"
Tipo de datos devueltos, valores opcionales:
  • float: Predeterminado, devuelve un array de floats. El formato más común y fácil de usar; devuelve una lista de floats
  • binary_int8: Devuelve un formato binario empaquetado int8. Almacenamiento, búsqueda y transmisión más eficientes
  • binary_uint8: Devuelve un formato binario empaquetado uint8. Almacenamiento, búsqueda y transmisión más eficientes
  • base64: Devuelve una cadena codificada en base64. Transmisión más eficiente
dimensions
integer
predeterminado:"1024"
El número de dimensiones utilizadas en el cómputo. Valores admitidos:
  • 1024
  • 768

1. Uso multimodal

2. Uso con texto puro

Proporciona solo un array de cadenas de texto; no incluyas el campo image.

Rerank

El Reranker tiene como objetivo mejorar la relevancia de la búsqueda y la precisión del RAG. Analiza en profundidad los resultados iniciales de la búsqueda, considera las interacciones sutiles entre la consulta y el contenido del documento, y reordena los resultados de la búsqueda para colocar los más relevantes en los primeros puestos.

Parámetros de la solicitud

model
string
requerido
Nombre del modelo, lista de modelos disponibles:
  • jina-reranker-m0: Reordenador multimodal y multilingüe de documentos, contexto de 10K, 2,4B parámetros, para la ordenación de documentos visuales
query
string
requerido
Texto de la consulta de búsqueda, utilizado para comparar con los documentos candidatos
top_n
integer
Número de documentos más relevantes a devolver. Por defecto devuelve todos los documentos
documents
array
requerido
Array de documentos candidatos; se reordenará según su relevancia respecto a la consulta
max_chunk_per_doc
integer
predeterminado:"4096"
Longitud máxima de fragmento por documento; aplicable únicamente a Cohere (no admitido por Jina). Predeterminado: 4096.
Los documentos largos se truncarán automáticamente al número de tokens especificado.

1. Uso multimodal

Descripción de la respuesta

Respuesta exitosa:
  • model: El nombre del modelo utilizado
  • results: Un array de resultados de reordenamiento ordenados por puntuación de relevancia en orden descendente; cada elemento contiene:
    • index: La posición del índice en el array de documentos original
    • relevance_score: Una puntuación de relevancia entre 0 y 1; las puntuaciones más altas indican mayor relevancia respecto a la consulta
  • usage: Estadísticas de uso
    • total_tokens: Número total de tokens procesados en esta solicitud

2. Uso con texto

El reordenamiento de texto admite tanto tareas multilingües como regulares, de manera similar al uso de embeddings, pasando un array.

DeepSearch

DeepSearch combina capacidades de búsqueda, lectura y razonamiento para encontrar la mejor respuesta posible. Es totalmente compatible con el formato de la Chat API de OpenAI: simplemente sustituye api.openai.com por aihubmix.com para empezar.
El stream devolverá el proceso de razonamiento.

Parámetros de la solicitud

model
string
requerido
Nombre del modelo, modelos disponibles:
  • jina-deepsearch-v1: Modelo predeterminado; busca, lee y razona hasta encontrar la mejor respuesta
stream
boolean
predeterminado:"true"
Si se habilita la respuesta en streaming. Se recomienda encarecidamente mantener esta opción activada; las solicitudes a DeepSearch pueden tardar mucho en completarse, y desactivar el streaming puede resultar en un error ‘524 Timeout’
messages
array
requerido
La lista de mensajes de conversación entre el usuario y el asistente. Admite múltiples tipos (modales) de mensajes, como texto (.txt, .pdf), imágenes (.png, .webp, .jpeg), etc. El tamaño máximo del archivo es de 10 MB

Formato de mensaje multimodal

DeepSearch admite múltiples tipos de formatos de mensaje, que pueden incluir texto puro (message), archivos (file) e imágenes (image). A continuación, ejemplos de distintos formatos:

1. Mensaje de texto puro

2. Mensaje con archivo adjunto

3. Mensaje con imagen

Todos los archivos e imágenes deben estar previamente codificados en formato data URI, con un tamaño máximo de archivo de 10 MB.

Ejemplo de llamada

Ten en cuenta que la llamada en streaming con Python desde la web oficial de Jina AI no tendrá respuesta; consulta nuestro ejemplo.

Descripción de la respuesta

La respuesta de DeepSearch se envía en streaming por defecto e incluye tanto los pasos intermedios de razonamiento como la respuesta final. El último bloque del stream contiene la respuesta final, una lista de las URLs visitadas y los detalles de uso de tokens. Si se desactiva el streaming, solo se devolverá la respuesta final: los pasos intermedios de “razonamiento” se omitirán. Nota: Este objeto JSON difiere del formato utilizado por Jina AI.
Ejemplo de retorno en Python: Consulta la salida en streaming devuelta directamente por la API. Basado en el s.jina.ai de Jina AI: pasa una consulta y obtén el cuerpo limpio de la página de resultados del buscador (SERP), listo para introducirlo directamente en un LLM para preguntas y respuestas con conexión web y RAG. El endpoint admite tanto GET como POST.
Formato de respuesta (Markdown por defecto): por defecto devuelve una lista de resultados en Markdown concatenada, lista para pasar a un LLM; cuando necesites datos estructurados (title / url / content y usage de cada resultado), añade el encabezado de solicitud Accept: application/json para obtener JSON en su lugar.

Parámetros de la solicitud

q
string
requerido
Texto de la consulta. Debe codificarse en URL cuando se llama desde código.
num
integer
predeterminado:"5"
Número máximo de resultados a devolver; la cantidad real depende de cuántos resultados haya disponibles.
gl
string
Código de país / región, p. ej. US.
hl
string
Idioma de la interfaz, p. ej. en.
site
string
Restringe la búsqueda a sitios concretos; se puede pasar varias veces, p. ej. site=jina.ai&site=github.com.
X-Respond-With
string
predeterminado:"markdown"
Formato del cuerpo de los resultados, uno de markdown / html / text.
X-Retain-Images
string
Política de retención de imágenes; pasa none para eliminar las imágenes y ahorrar tokens.
X-No-Cache
boolean
Omite la caché y obtiene los resultados más recientes.
Además, la búsqueda invoca al Reader para extraer el cuerpo de cada resultado, por lo que todos los encabezados de solicitud X-* que controlan el formato del cuerpo listados en «Lector web (Reader)» también se aplican a los resultados de búsqueda.

Ejemplo de llamada

La consulta y los parámetros pueden pasarse como parámetros de consulta de la URL mediante GET (recomendado, lo más conciso), o en un cuerpo de solicitud JSON mediante POST; ambos llegan al mismo endpoint y devuelven el mismo resultado. Los ejemplos siguientes añaden Accept: application/json para devolver JSON por defecto; elimina ese encabezado para obtener una lista de resultados en Markdown limpia (véase el primer ejemplo Curl-markdown).

Descripción de la respuesta

Por defecto (sin Accept) devuelve una lista en Markdown concatenada, donde cada entrada indica sucesivamente el título, el enlace de origen, la descripción (si la hay) y el cuerpo:
Con Accept: application/json devuelve JSON estructurado:
  • data: array de resultados de búsqueda (la cantidad se controla con num; el ejemplo anterior devuelve 5 pero aquí solo se muestran los 2 primeros; content es el cuerpo completo, truncado en el ejemplo), cada uno con title, url, content, usage.tokens.
  • Facturación: se cobra por la suma de los usage.tokens de cada resultado; Jina cobra oficialmente un mínimo de 10000 tokens por búsqueda, por lo que el cargo final es el mayor de los dos, es decir, max(10000, suma de tokens).

Lector web (Reader)

Basado en el r.jina.ai de Jina AI: pasa cualquier URL y obtén el cuerpo Markdown limpio de esa página tras la conversión, cómodo para extraer contenido web y alimentar un LLM. Además de páginas web, también admite el análisis de imágenes (descritas por un modelo de visión) y archivos locales (PDF, Word / Excel / PPT, HTML, imágenes).
Formato de respuesta (Markdown por defecto): por defecto devuelve directamente el cuerpo Markdown limpio, listo para pasar a un LLM; cuando necesites JSON estructurado con usage y campos como title / url (el cuerpo está en data.content), añade el encabezado de solicitud Accept: application/json.

Parámetros de la solicitud

URL de destino
string
requerido
La dirección web a leer, añadida directamente al final de la ruta del endpoint, p. ej. /v1/jina/reader/https://jina.ai.
file
file
El archivo local a subir; admite PDF, Word / Excel / PPT, HTML, imágenes, pasado en el campo file mediante POST como multipart/form-data.
url
string
Obligatorio al subir un archivo HTML, se usa como dirección de referencia para resolver los enlaces relativos de la página; no es necesario al subir un PDF.
X-Respond-With
string
predeterminado:"markdown"
Formato de retorno, uno de markdown / html / text / screenshot / pageshot.
X-Retain-Images
string
predeterminado:"all"
Política de retención de imágenes, una de all / none (eliminar imágenes para ahorrar tokens) / alt.
Política de retención de enlaces, una de all / none / text.
X-With-Generated-Alt
boolean
Genera automáticamente texto descriptivo para las imágenes sin alt.
Resume todos los enlaces al final del cuerpo.
X-With-Images-Summary
boolean
Resume todas las imágenes al final del cuerpo.
X-Engine
string
Motor de extracción, uno de browser / direct / cf-browser-rendering.
X-Target-Selector
string
Selector CSS; extrae solo la región de la página que coincide.
X-Remove-Selector
string
Selector CSS; elimina los elementos que coinciden (p. ej. header, footer, nav).
X-Timeout
integer
Tiempo de espera de la extracción en segundos, máx. 180.
X-No-Cache
boolean
Omite la caché y obtiene lo más reciente.
X-Md-Heading-Style
string
predeterminado:"atx"
Estilo de encabezados Markdown, uno de atx (#) / setext (subrayado).
X-Md-Bullet-List-Marker
string
Marcador de lista con viñetas Markdown, uno de - / + / *.
X-Md-Hr
string
Estilo de la línea horizontal Markdown, p. ej. ***.
Estilo de enlaces Markdown, uno de inlined / referenced / discarded.
Los anteriores son solo las opciones comunes. Todos los encabezados de solicitud X-* compatibles con Jina (incluida toda la familia X-Md-*) así como los campos del cuerpo POST (como el script inyectado injectPageScript) son reenviados tal cual por la puerta de enlace; para la lista completa y los valores, consulta la documentación oficial de Jina.

Formato de entrada multimodal

Reader admite tres tipos de entrada. Las páginas web y las imágenes se añaden directamente al final de la ruta del endpoint (GET); los archivos locales se suben mediante POST como multipart/form-data.

1. URL de página web

2. URL de imagen (devuelve una descripción visual)

La dirección de la imagen también se añade al final de la ruta. Reader usa un modelo de visión para generar una descripción (un caption, no un OCR literal) de la imagen y la coloca en content.

3. Subir un archivo local (PDF / Word·Excel·PPT / HTML / imagen)

Ejemplo de llamada

Por defecto devuelve directamente el cuerpo Markdown; añade Accept: application/json para obtener JSON estructurado. Los parámetros opcionales se pasan como encabezados de solicitud X-* y son reenviados todos tal cual por la puerta de enlace a Jina (para la lista completa, véase «Parámetros de la solicitud» arriba).

1. Leer una página web

2. Leer una imagen

Curl

3. Subir un archivo local

Sube mediante POST + multipart/form-data; al subir HTML debes incluir además el campo url como dirección de referencia. La facturación es la misma que al leer una URL.

Descripción de la respuesta

Por defecto (sin Accept) devuelve directamente el cuerpo Markdown (es decir, el contenido de data.content en el JSON de abajo). Por ejemplo, al leer https://example.com:
Con Accept: application/json devuelve JSON estructurado. La estructura del JSON es la misma para los tres tipos de entrada: data es un único objeto que contiene title / url / content / usage.tokens. A continuación, las respuestas reales de los tres tipos de entrada (cuando content es demasiado largo, se conserva el principio y el resto se omite con ). ① Leer una página web (leyendo https://example.com):
② Leer una imagen (content es la descripción generada por el modelo de visión):
③ Subir un archivo local (subiendo un artículo PDF; content es largo, solo se muestra el principio):
  • status: el código de estado de negocio devuelto por Jina upstream; en una llamada de reader correcta es 20000 (coherente con el HTTP 200 externo).
  • Facturación: se cobra por data.usage.tokens (el número real de tokens de salida), sin cargo mínimo (a diferencia del «mínimo de 10000 tokens por búsqueda» de la búsqueda); para contenido extremadamente corto se aplica una unidad mínima de facturación como suelo, de modo que nunca se produce un cargo de cero.

Última actualización: 2026-07-03