mirror of
https://github.com/mintlify/docs.git
synced 2026-09-14 13:35:46 +08:00
90007452c6
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
116 lines
3.8 KiB
Plaintext
116 lines
3.8 KiB
Plaintext
---
|
|
title: "Crear mensaje de assistant"
|
|
openapi: /es/discovery-openapi.json POST /v2/assistant/{domain}/message
|
|
keywords:
|
|
[
|
|
"mensaje de assistant",
|
|
"incrustar",
|
|
"chat",
|
|
"integrar",
|
|
"v2",
|
|
"ai sdk v5",
|
|
"ai sdk v6"
|
|
]
|
|
---
|
|
|
|
<Info>
|
|
El endpoint de mensaje de assistant v2 es compatible con **AI SDK v5 o superior**. Si usas AI SDK v4, utiliza en su lugar el [endpoint de mensaje de assistant v1](/es/api/assistant/create-assistant-message).
|
|
</Info>
|
|
|
|
<div id="integration-with-usechat">
|
|
## Integración con `useChat`
|
|
</div>
|
|
|
|
El hook `useChat` del AI SDK de Vercel es la forma recomendada de integrar la assistant API en tu aplicación.
|
|
|
|
<Steps>
|
|
<Step title="Instalar AI SDK">
|
|
```bash
|
|
npm i ai@^6 @ai-sdk/react
|
|
```
|
|
</Step>
|
|
|
|
<Step title="Usar el hook">
|
|
```tsx
|
|
import { useState } from "react";
|
|
import { useChat } from "@ai-sdk/react";
|
|
import { DefaultChatTransport } from "ai";
|
|
|
|
function MyComponent({ domain }) {
|
|
const [input, setInput] = useState("");
|
|
|
|
const { messages, sendMessage } = useChat({
|
|
transport: new DefaultChatTransport({
|
|
api: `https://api.mintlify.com/discovery/v2/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",
|
|
},
|
|
],
|
|
},
|
|
}),
|
|
});
|
|
|
|
return (
|
|
<div>
|
|
{messages.map((message) => (
|
|
<div key={message.id}>
|
|
{message.role === "user" ? "User: " : "Assistant: "}
|
|
{message.parts
|
|
.filter((part) => part.type === "text")
|
|
.map((part) => part.text)
|
|
.join("")}
|
|
</div>
|
|
))}
|
|
<form
|
|
onSubmit={(e) => {
|
|
e.preventDefault();
|
|
if (input.trim()) {
|
|
sendMessage({ text: input });
|
|
setInput("");
|
|
}
|
|
}}
|
|
>
|
|
<input value={input} onChange={(e) => setInput(e.target.value)} />
|
|
<button type="submit">Send</button>
|
|
</form>
|
|
</div>
|
|
);
|
|
}
|
|
```
|
|
|
|
**Configuración obligatoria:**
|
|
|
|
* `transport` - Usa `DefaultChatTransport` para configurar la conexión con la API.
|
|
* `body.fp` - Identificador de huella digital (usa `'anonymous'` o un identificador único 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 le proporciona al assistant. Cada objeto de contexto contiene:
|
|
* `type` - Puede ser `'code'` o `'textSelection'`.
|
|
* `value` - El fragmento de código o el contenido de texto seleccionado.
|
|
* `path` (opcional) - Ruta al archivo o a la página de origen.
|
|
* `elementId` (opcional) - Identificador del elemento de la interfaz de usuario que contiene el contexto.
|
|
* `body.currentPath` - La ruta de la página que el usuario está viendo en ese momento. Cuando se proporciona, el assistant utiliza este contexto para ofrecer respuestas más relevantes. Longitud máxima: 200 caracteres.
|
|
</Step>
|
|
</Steps>
|
|
|
|
Consulta [useChat](https://ai-sdk.dev/docs/reference/ai-sdk-ui/use-chat) y [Transport](https://ai-sdk.dev/docs/ai-sdk-ui/transport) en la documentación del AI SDK para más detalles.
|
|
|
|
<div id="rate-limits">
|
|
## Límites de uso
|
|
</div>
|
|
|
|
La API del assistant tiene los siguientes límites:
|
|
|
|
* 10.000 solicitudes por organización de Mintlify por hora
|
|
* 10.000 solicitudes por IP por día |