Saltar al contenido principal

Integración con useChat

El hook useChat del AI SDK de Vercel es la forma recomendada de integrar la API del assistant en tu aplicación.
La API del assistant de Mintlify es compatible con AI SDK v4. Si utilizas AI SDK v5 o posterior, debes configurar un transporte personalizado.
1

Instalar el AI SDK v4

npm i ai@^4.1.15
2

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.MINTLIFY_TOKEN}`,
    },
    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>
  );
}
Configuración obligatoria para Mintlify:
  • 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).
Configuración opcional:
  • 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.
Consulta useChat en la documentación del AI SDK para obtener más información.

Límites de uso

La API del assistant tiene los siguientes límites:
  • 10,000 usos por key al mes
  • 10,000 solicitudes por organización de Mintlify por hora
  • 10,000 solicitudes por IP al día