Agents en tools
Agents
Een agent is een Odoo-gebruiker die je bedrijf voor Abstr.ax instelt. Hij heeft eigen
rechten in Odoo, bijvoorbeeld sales voor orders en klanten, of finance voor facturen.
Een agent ziet alleen de modellen die je bedrijf voor hem toelaat, met de recordregels van
zijn Odoo-gebruiker.
Je kunt 1 of meer agents gebruiken. Je bedrijf bepaalt welke.
Het argument agent
Elke tool heeft het argument agent. Je assistent vult het in:
- Met 1 agent is het argument optioneel.
- Met meer agents noemt de assistent de agent in elke aanroep. De instructies van de verbinding beschrijven je agents, zodat de assistent kan kiezen. Je kunt het ook zelf zeggen: "Gebruik de agent finance."
- Een tool die gegevens wijzigt, aanvaardt alleen de agents die gegevens mogen wijzigen.
Wat de assistent kan doen
- Modellen en velden zoeken:
odoo_schema_search,odoo_models,odoo_fields. De assistent zoekt hier eerst, zodat hij geen veldnamen raadt. - Gegevens lezen:
odoo_search,odoo_read,odoo_aggregate,odoo_report. - Berekenen:
odoo_computevoert een kort Python-script uit op Odoo-gegevens en geeft alleen het resultaat terug. - Gegevens wijzigen:
odoo_create,odoo_write,odoo_call,odoo_post_message. Alleen een agent met schrijfrechten heeft deze tools, en je client vraagt je toestemming voor elke wijziging.
De toolreferentie toont alle argumenten.
Recepten
Een recept is een vaste reeks tool-aanroepen met een eigen naam, bijvoorbeeld "open
facturen van een klant". Je assistent stelt een recept voor met de tool propose_recipe.
Nadat een beheerder van je bedrijf het goedkeurt, kan iedereen met die agent het meteen
uitvoeren, zonder nieuwe verbinding: list_recipes geeft de goedgekeurde recepten met hun
parameters, run_recipe voert een recept uit dat leest, en run_write_recipe een recept
dat gegevens wijzigt. De instructies van de verbinding noemen ook de goedgekeurde recepten.
Een stap kan odoo_compute uitvoeren: het recept is dan een goedgekeurd script dat alleen
zijn resultaat teruggeeft. Zo blijven de antwoorden kort. Het script krijgt zijn waarden via
inputs. Een stap met foreach loopt 1 keer voor elk element van een lijst, bijvoorbeeld
om elke lijn van een afschrift af te punten na 1 goedkeuring. Faalt een element, dan stopt
het recept en zegt het welk element; de elementen ervoor zijn uitgevoerd.
Grote antwoorden
Abstr.ax geeft elk record dat Odoo teruggeeft; het zet zelf geen maximum. Een antwoord dat te
groot is voor het gesprek blijft 1 uur volledig bewaard als resource: de assistent krijgt een
samenvatting met het aantal en de eerste rijen, en links naar het volledige antwoord als JSON
en als CSV. Je client kan die links ophalen. Om te rekenen op een grote set gebruikt de
assistent odoo_compute, dat de gegevens op de server leest en alleen het resultaat
teruggeeft.
Excel- en CSV-bestanden
odoo_export schrijft records naar een Excel- (XLSX) of CSV-bestand met de export van Odoo.
Een veldpad volgt een relatie, bijvoorbeeld partner_id/name, en partner_id/id geeft de
externe id. Het antwoord bevat een downloadlink die het bestand 1 uur lang in een browser
opent, zonder login: wie de link heeft, kan het bestand in dat uur openen. Het bestand is
ook een resource van het gesprek.
odoo_import importeert een CSV- of Excel-bestand met de import van Odoo: elke rij, of geen
enkele als 1 rij faalt, met het rijnummer van het bestand in de melding. Rij 1 is de kop met
de veldpaden, of de assistent geeft het veldpad van elke kolom. Een kolom id met een
externe id zorgt ervoor dat een 2e import van hetzelfde bestand de records bijwerkt in plaats
van ze opnieuw toe te voegen. De assistent kan een eerdere export via zijn resource weer
importeren, na een wijziging.
Taal
De tools, de fouten en de Odoo-gegevens komen in je taal: Engels, Nederlands of Frans. Abstr.ax haalt de taal uit je aanmeldprofiel. Je bedrijf kan ze wijzigen.