Ga naar inhoud

Kennis

Kennis is wat een agent kan weten: de documenten en gegevens van een organisatie, zo opgeslagen dat een model er tijdens een beurt in kan zoeken. Kennis is een laag met meerdere onderdelen. Je kiest per toepassing hoe documenten worden verwerkt, waarin ze doorzoekbaar worden en hoe een agent zoekt.

De onderdelen, in de volgorde waarin ze werken

flowchart LR
    ext["Extern systeem<br/>website, SharePoint, Google Drive, S3, Zendesk"] -.->|"synchroniseert"| col
    col["Collectie<br/>waar bronnen staan"] --> ing["Ingest-pipeline<br/>hoe een bron doorzoekbaar wordt"]
    ing --> idx["Index<br/>zoeken op betekenis en trefwoord"]
    ing --> kg["Graaf<br/>zoeken op entiteiten en relaties"]
    idx --> tool["Zoektool<br/>wat de agent aanroept"]
    kg --> tool
    col --> tool
    tool --> agent["Agent"]
Onderdeel Wat het is
Collectie waar bronnen staan. Een bron is één document, tabel of bestand, en hoort bij precies één collectie. Je vult een collectie zelf, of zij haalt documenten op uit een systeem dat je al gebruikt
Ingest-pipeline de stappen die een bron doorzoekbaar maken: laden, lezen, splitsen, inbedden, tabellen of feiten eruit halen. Begin met een ingebouwd sjabloon; bouw een eigen pipeline als je andere stappen nodig hebt
Index kiest een of meer collecties en bevat hun bronnen als fragmenten met embeddings, en als rijen voor tabellen. Een index doorzoek je op betekenis en op trefwoord
Graaf kiest een of meer collecties en bevat de entiteiten waar de documenten over gaan (bedrijven, personen, producten) en de relaties daartussen, volgens een schema dat je zelf schrijft. Een graaf bevraag je op verbanden
Zoektool een zoekopdracht met een naam, die een agent als tool aanroept. De zoektool draait een retrieval-pipeline en bereikt precies de indexen, grafen en collecties die die pipeline noemt

Eén collectie kan meerdere indexen en grafen voeden, elk met een eigen pipeline. De documenten staan er dan één keer; alleen de verwerking verschilt.

In een beurt bereikt een model kennis via een tool. Meestal is dat een zoektool: het model kiest de vraag, en welke bronnen de tool bereikt, leg jij vast. Bied je de tool core__search_index aan, dan doorzoekt het model een index rechtstreeks (MCP). Je applicatie kan een index ook zelf doorzoeken via de API, buiten een beurt.

Wanneer gebruik je dit: een index of een graaf

De vraag is Gebruik Voorbeeld
"welke passages gaan hierover?" een index "Hoe lang heb ik om te declareren?"
"wat hangt hiermee samen, en hoe?" een graaf "Welke leveranciers leveren een product waarin deze stof zit?"
allebei een zoektool die een index en een graaf combineert "Wat zegt het contract van de leverancier van product X over levertijd?"

Begin met een index. Die werkt op elk document zonder voorbereiding. Voeg een graaf toe als vragen over verbanden gaan die verspreid over veel documenten staan. Een graaf vraagt meer: je schrijft een schema, en feiten uit tekst halen kost modeltokens per fragment.

Externe bronnen

Een collectie kan een gekoppelde bron hebben: een website, een SharePoint-site, een map in Google Drive, een S3-bucket of Zendesk. Core synchroniseert de documenten naar de collectie. Elk document wordt een gewone bron, dus indexen, grafen en zoektools werken er precies zo mee als met een bron die je zelf toevoegde.

Ruimte voor meer methoden

De laag is zo ingedeeld dat opslag en zoekmethode los van elkaar staan. Een pipeline bestaat uit stappen uit een catalogus, en een zoektool kan meerdere bronnen en zoekstappen combineren. Welke stappen en sjablonen jouw installatie aanbiedt, lees je in het segment Sjablonen van Kennis en met GET /knowledge/pipeline-components en GET /knowledge/pipeline-templates. Deze handleiding beschrijft wat er nu is: indexen, grafen en de zoekstappen daarover.

Wat geen kennis is: datastores en geheugen

Twee onderdelen lijken op kennis en staan er los van, in de groep Gegevens en geheugen:

  • Een datastore bevat gestructureerde records die een agent leest én schrijft: een klantenlijst, de instellingen van een integratie. Je zoekt een record op met zijn sleutel of filtert de records op hun velden, niet met een zoekvraag (Datastores).
  • Geheugen bevat losse feiten die tussen aanroepen blijven staan, per persoon of gedeeld: een voorkeur van een klant, een eerder besluit (Geheugen).

Het verschil in één zin: in kennis zoekt een agent, in documenten die de organisatie aanlevert; een datastore en geheugen zijn gegevens die een agent tijdens het werk ook zelf bijwerkt.

Wie wat bereikt

  • De capability knowledge zet kennis aan voor een sleutel.
  • De policy bepaalt welke collecties, indexen en grafen een sleutel bereikt, op naam of op label, en welke bronnen een persoon binnen een index terugvindt.
  • Een zoektool aanroepen vraagt twee dingen van de policy: een regel over Tools die de zoektool toestaat, en regels die de index, graaf of collectie erachter toestaan. Core vraagt beide bij elke aanroep. Mist er een, dan bestaat de tool voor die sleutel niet.

Hoe het samenhangt

  • Een agent krijgt kennis door een zoektool in zijn tools op te nemen.
  • Een zoektool is een tool als elke andere: hij heet knowledge__<naam>, past in een toolset en valt onder de regels over tools.
  • Collecties, pipelines, indexen en zoektools kunnen in een publicatie, zodat een klant dezelfde kennisopzet krijgt.
  • Inlezen en zoeken worden gemeten als verbruik (Inzicht).

Verder

Tutorial: Geef een agent kennis uit eigen bedrijfsinformatie.

Onderdeel Lees
Alles via de API, van collectie tot zoektool Kennis via de API
Collecties en gekoppelde bronnen Collecties in de console
Indexen Indexen in de console
Grafen Grafen via de API, Grafen in de console
Zoektools Zoektools in de console
Pipelines en sjablonen Pipelines in de console