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
}
'{}Génère un message de réponse de l’Assistant pour le domaine spécifié.
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 du SDK AI de Vercel est la méthode recommandée pour intégrer l’API de l’Assistant à votre application.
Installer le SDK AI v4
npm i ai@^4.1.15
Utiliser le 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,
},
streamProtocol: 'data',
sendExtraMessageFields: true,
});
return (
<div>
{messages.map((message) => (
<div key={message.id}>
{message.role === 'user' ? 'Utilisateur : ' : 'Assistant : '}
{message.content}
</div>
))}
<form onSubmit={handleSubmit}>
<input value={input} onChange={handleInputChange} />
<button type="submit">Envoyer</button>
</form>
</div>
);
}
streamProtocol: 'data' - Requis pour les réponses en streaming.sendExtraMessageFields: true - Requis pour envoyer les métadonnées des messages.body.fp - Identifiant d’empreinte (utilisez ‘anonymous’ ou un identifiant utilisateur).body.retrievalPageSize - Nombre de résultats de recherche à utiliser (recommandé : 5).L’en-tête Authorization requiert un jeton Bearer. Consultez la documentation sur la clé d’API de l’Assistant pour savoir comment obtenir votre clé d’API.
L’identifiant de domaine figurant dans votre URL domain.mintlify.app. Vous pouvez le trouver à la fin de l’URL de votre Dashboard. Par exemple, dashboard.mintlify.com/organization/domain a pour identifiant de domaine domain.
Identifiant d’empreinte permettant de suivre les sessions de conversation. Utilisez « anonymous » pour les utilisateurs anonymes ou fournissez un identifiant utilisateur unique.
Tableau de messages dans la conversation. Côté frontend, vous voudrez probablement utiliser la fonction handleSubmit du hook useChat fourni par le package @ai-sdk pour ajouter les messages des utilisateurs et gérer les réponses en streaming, plutôt que de définir manuellement les objets de ce tableau, car ils comportent de très nombreux paramètres.
Afficher attributs enfants
Identifiant unique du message
Rôle de l’expéditeur du message
system, assistant, data, user Le contenu du message
Horodatage de création du message
Tableau facultatif d’annotations du message
Identifiant facultatif utilisé pour maintenir la continuité d’une conversation sur plusieurs messages. Lorsqu’il est fourni, il permet au système d’associer les messages suivants au même fil de conversation. Le threadId est renvoyé dans la réponse sous la forme event.threadId lorsque event.type === 'finish'.
Nombre de résultats de recherche dans la documentation à prendre en compte pour générer la réponse. Des valeurs plus élevées offrent davantage de contexte mais peuvent augmenter le temps de réponse. Recommandé : 5.
Message généré avec succès
Objet de réponse qui diffuse des segments de flux de données formatés avec le statut, les en-têtes et le contenu spécifiés. Cela correspond à ce qui est attendu par l’AI SDK, tel que documenté sur ai-sdk.dev/docs/ai-sdk-ui/streaming-data. Plutôt que d’écrire votre propre analyseur, il est recommandé d’utiliser le hook useChat d’ai-sdk, comme documenté ici.
Cette page vous a-t-elle été utile ?