Documentation / Développer

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 :

Définition de l’outil
{
  "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

Node.js
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.