Saltar al contenido principal

Integración con useChat

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

Instalar 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' ? 'User: ' : 'Assistant: '}
          {message.content}
        </div>
      ))}
      <form onSubmit={handleSubmit}>
        <input value={input} onChange={handleInputChange} />
        <button type="submit">Send</button>
      </form>
    </div>
  );
}
Configuración requerida para Mintlify:
  • streamProtocol: 'data' - Requerido para respuestas en streaming.
  • sendExtraMessageFields: true - Requerido para enviar metadatos de mensajes.
  • body.fp - Identificador de huella digital (usa ‘anonymous’ o un identificador de usuario).
  • body.retrievalPageSize - Número de resultados de búsqueda a utilizar (recomendado: 5).
Configuración opcional:
  • body.context - Array de información contextual para proporcionar al asistente. Cada objeto de contexto contiene:
    • type - Ya sea 'code' o 'textSelection'.
    • value - El fragmento de código o el contenido de texto seleccionado.
    • elementId (opcional) - Identificador para el elemento de UI que contiene el contexto.
Ver useChat en la documentación de AI SDK para más detalles.

Límites de uso

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