BesluitBron 1.4.4-23 Status Aanmelden

Verloop van een Aanroep

Laatst gewijzigd op .

Eén vraag van een gebruiker leidt tot een of meer aanroepen van gereedschappen. Deze pagina beschrijft wat er tijdens één zo'n aanroep gebeurt, van het binnenkomen op het MCP-adres tot het antwoord aan de assistent.

De stappen

flowchart TD
    A["AI-assistent<br/>tools/call search_documents"] --> E["MCP-adres<br/>welk adres,<br/>welke gereedschapskist"]
    E --> S["McpConnectorSurface<br/>voer dit gereedschap uit"]
    S --> X["ToolExecutor<br/>start tijdmeting,<br/>noteer herkomst"]
    X --> Q["Zoekdienst<br/>schoon de invoer,<br/>controleer de bronnaam,<br/>begrens de omvang"]
    Q --> C{"Staat het antwoord<br/>al in de buffer?"}
    C -->|ja| HIT["UpstreamCache<br/>bekend antwoord"]
    C -->|nee| P["Bronplatform<br/>zoekopdracht in de taal<br/>van het platform"]
    P --> W["UpstreamCache<br/>leg het antwoord vast"]
    HIT --> PREC["Zoekdienst<br/>bepaal de zoekprecisie"]
    W --> PREC
    PREC --> L["Verzoeklogboek<br/>gereedschap, duur, treffers,<br/>omvang, herkomst"]
    L --> R["AI-assistent<br/>resultaat als JSON"]

Wat er in elke stap wordt afgedwongen

  • De invoer wordt geschoond voordat die het platform bereikt. Jokertekens en zoektaalconstructies die de bron zou uitvoeren, worden verwijderd. Een opgegeven bronnaam wordt gecontroleerd tegen de lijst van bestaande bronnen. Een onbekende bron levert een fout op en geen leeg resultaat, want een leeg resultaat zou worden gelezen als "er is niets";
  • De omvang wordt begrensd. Een gereedschap geeft nooit onbeperkt veel treffers terug, want dan vult het antwoord het geheugen van de assistent zonder de vraag beter te beantwoorden. Wat buiten het venster valt, staat in het veld more_to_find uit Zoekprecisie;
  • De precisie wordt bepaald door één gedeelde voorziening en niet per gereedschap opnieuw bedacht;
  • De aanroep wordt gelogd voordat het antwoord vertrekt. Ook een aanroep die op een fout eindigt, staat dus in het logboek.
  • De sessie blijft bij de connector waarop zij is geopend. Een client die een sessie op de ene connector opent en daarna een andere aanspreekt, krijgt een weigering die zegt bij welke connector de sessie hoort. Zonder die regel zou de client de gereedschappen van de eerste connector krijgen onder het adres van de tweede. De dienst onthoudt die koppeling dertig minuten na het laatste verzoek van de sessie; daarna is de sessie ook voor het transport zelf onbekend. De termijn staat onder BesluitBron:Mcp:SessionBindingRetentionMinutes. Vanaf versie 1.3.7.

Wat de assistent terugkrijgt

Een compact JSON-antwoord met de treffers, hun kenmerken bij de bron en de precisievelden. Kent het gereedschap een vervolg, dan staat daar een verwijzing naar: het volgende venster, de volledige tekst van een document of het bijbehorende vergaderstuk.

De assistent verwerkt dat antwoord tot lopende tekst. Die tekst is niet het antwoord van het register. Dat verschil is de reden dat elk resultaat een kenmerk draagt. Zie Bronvermelding.