curl --request POST \
--url https://api.mintlify.com/discovery/v1/assistant/{domain}/message \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fp": "<string>",
"messages": [
{
"id": "foobar",
"role": "user",
"content": "how do i get started",
"parts": [
{
"type": "text",
"text": "How do I get started"
}
]
}
],
"threadId": null,
"retrievalPageSize": 5,
"filter": null
}
'{}Genera un mensaje de respuesta del assistant para el domain especificado. Compatible con AI SDK v4.
curl --request POST \
--url https://api.mintlify.com/discovery/v1/assistant/{domain}/message \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fp": "<string>",
"messages": [
{
"id": "foobar",
"role": "user",
"content": "how do i get started",
"parts": [
{
"type": "text",
"text": "How do I get started"
}
]
}
],
"threadId": null,
"retrievalPageSize": 5,
"filter": null
}
'{}useChatuseChat del AI SDK de Vercel es la forma recomendada de integrar la API del assistant en tu aplicación.
Usar el hook
import { useChat } from 'ai/react';
function MyComponent({ domain }) {
const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat({
api: `https://api.mintlify.com/discovery/v1/assistant/${domain}/message`,
headers: {
'Authorization': `Bearer ${process.env.PUBLIC_MINTLIFY_ASSISTANT_KEY}`,
},
body: {
fp: 'anonymous',
retrievalPageSize: 5,
context: [
{
type: 'code',
value: 'const example = "code snippet";',
elementId: 'code-block-1',
},
],
},
streamProtocol: 'data',
sendExtraMessageFields: true,
});
return (
<div>
{messages.map((message) => (
<div key={message.id}>
{message.role === 'user' ? 'Usuario: ' : 'Assistant: '}
{message.content}
</div>
))}
<form onSubmit={handleSubmit}>
<input value={input} onChange={handleInputChange} />
<button type="submit">Enviar</button>
</form>
</div>
);
}
streamProtocol: 'data' - Obligatorio para respuestas en streaming.sendExtraMessageFields: true - Obligatorio para enviar metadatos de los mensajes.body.fp - Identificador de huella digital (usa ‘anonymous’ o un identificador de usuario).body.retrievalPageSize - Número de resultados de búsqueda que se usarán (recomendado: 5).body.context - Array de información contextual que se proporciona al assistant. Cada objeto de contexto incluye:
type - Puede ser 'code' o 'textSelection'.value - El fragmento de código o el contenido de texto seleccionado.elementId (opcional) - Identificador del elemento de la interfaz de usuario que contiene el contexto.La cabecera Authorization espera un token de tipo Bearer. Usa una clave de API para assistant (con el prefijo mint_dsc_). Esta es una clave pública segura para utilizar en código del lado del cliente. Genérala desde la página de claves de API de tu dashboard.
El identificador de domain de tu URL domain.mintlify.app. Se puede encontrar al final de la URL de tu dashboard. Por ejemplo, en dashboard.mintlify.com/organization/domain, el identificador de domain es domain.
Identificador de huella para el seguimiento de sesiones de conversación. Usa “anonymous” para usuarios anónimos o proporciona un identificador de usuario único.
Array de mensajes de la conversación. En el frontend, probablemente quieras usar la función handleSubmit del hook useChat del paquete @ai-sdk para añadir los mensajes del usuario y gestionar las respuestas en streaming, en lugar de definir manualmente los objetos de este array, ya que tienen tantos parámetros.
Mostrar atributos secundarios
Un identificador opcional que se utiliza para mantener la continuidad de la conversación a lo largo de varios mensajes. Cuando se incluye, permite que el sistema asocie los mensajes posteriores con el mismo hilo de conversación. El threadId se devuelve en la respuesta como event.threadId cuando event.type === 'finish'.
Número de resultados de búsqueda en la documentación que se utilizarán para generar la respuesta. Valores más altos proporcionan más contexto, pero pueden aumentar el tiempo de respuesta. Recomendado: 5.
Criterios de filtrado opcionales para la búsqueda.
Mostrar atributos secundarios
Mensaje generado correctamente.
Objeto de respuesta con segmentos de datos en flujo formateados con el estado, los encabezados y el contenido especificados. Para más información, consulta la documentación de AI SDK en ai-sdk.dev/docs/ai-sdk-ui/streaming-data. Usa el hook useChat de AI SDK para gestionar el flujo de la respuesta.
¿Esta página le ayudó?