Agents IA et LLM
Donnez aux assistants IA un outil de recherche dans les fiches officielles de médicaments, plutôt que de les laisser deviner à partir de leurs données d’entraînement.
Définir un outil de recherche
Décrivez l’endpoint de recherche comme un outil. La plupart des API de modèles acceptent un JSON Schema comme celui-ci :
{
"name": "search_medicines",
"description": "Search official medicine records of one country by brand name, active ingredient or national code. Returns records with their source, licence and limitations.",
"input_schema": {
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Two-letter lowercase country code, e.g. it, es, us."
},
"q": {
"type": "string",
"description": "Name, active ingredient or identifier, 3–120 characters."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"country",
"q"
]
}
}
Exécuter l’outil
export async function searchMedicines({ country, q, limit = 10 }) {
const params = new URLSearchParams({ country, q, limit: String(limit) })
const response = await fetch(`https://api.medifontis.com/v1/drugs?${params}`, {
headers: { Authorization: `Bearer ${process.env.MEDIFONTIS_API_KEY}` },
})
if (!response.ok) return { error: (await response.json()).error }
const { results } = await response.json()
// Keep the fields a model needs, including where each record comes from.
return results.map(({ name, identifiers, sourceId, sourceUrl, licence, limitations }) => ({
name, identifiers, sourceId, sourceUrl, attribution: licence?.attribution, limitations,
}))
}
Bonnes pratiques d’ancrage des réponses
- Citez la source et son attribution dans chaque réponse qui utilise une fiche.
- Ne présentez jamais une fiche comme un conseil de prescription ou une preuve de disponibilité.
- Utilisez des identifiants, et non des noms, pour les recherches ultérieures.
Documentation lisible par machine
Le contrat complet est disponible au format OpenAPI 3.1, et un résumé pour les modèles de langage à l’adresse /llms.txt.