Gå til indhold

Kunstig intelligens

AI er valgfrit. Uden en konfigureret udbyder sendes intet nogen steder hen. basedb kan tale med OpenAI, Anthropic og Mistral med din egen nøgle — og med enhver server, der taler OpenAIs API: Azure, en virksomhedsgateway, en model, der køres hos dig.

Så længe der ikke er gemt nogen indstilling i brugerfladen, læser API’et sit miljø:

Fenêtre de terminal
BASEDB_AI_PROVIDER=mistral # openai, anthropic, mistral eller openai_compatible
BASEDB_AI_MODEL=mistral-small-latest
MISTRAL_API_KEY=… # eller BASEDB_AI_API_KEY

Nøglen læses fra BASEDB_AI_API_KEY eller ellers fra udbyderens sædvanlige navn (OPENAI_API_KEY, ANTHROPIC_API_KEY, MISTRAL_API_KEY).

BASEDB_AI_PROVIDER=openai_compatible sender kaldene, i OpenAIs format, til adressen i BASEDB_AI_BASE_URL: det, der står før /chat/completions, parametre inklusive. BASEDB_AI_HEADERS føjer til hvert kald de headere, som serveren kræver, som et JSON-objekt.

Fenêtre de terminal
# Azure OpenAI: implementeringens navn som model, nøglen i headeren api-key
BASEDB_AI_PROVIDER=openai_compatible
BASEDB_AI_MODEL=mon-deploiement
BASEDB_AI_BASE_URL=https://ma-ressource.openai.azure.com/openai/v1
BASEDB_AI_HEADERS='{"api-key":"…"}'
# Azures ældre form, pr. implementering: parameteren bliver stående efter stien
BASEDB_AI_BASE_URL=https://ma-ressource.openai.azure.com/openai/deployments/mon-deploiement?api-version=2024-10-21
# En model, der køres af Ollama, uden nøgle
BASEDB_AI_PROVIDER=openai_compatible
BASEDB_AI_MODEL=llama3.1
BASEDB_AI_BASE_URL=http://ollama:11434/v1

Med openai_compatible er nøglen valgfri: hvis BASEDB_AI_API_KEY er angivet, sendes den som Authorization: Bearer. En header i BASEDB_AI_HEADERS erstatter nøglens — for eksempel en gateway, der vil have sin egen Authorization.

BASEDB_AI_BASE_URL og BASEDB_AI_HEADERS gælder også de tre andre udbydere, når de nås via en gateway: for anthropic er adressen det, der står før /messages. De to variabler hører til miljøets udbyder, og kun til den: et arbejdsområde, der har valgt en anden, får hverken adressen, headerne eller nøglen. Når API’et starter, skriver det den valgte udbyder i loggen og advarer om en ugyldig adresse eller et ugyldigt JSON-objekt.

En intern gateway med et selvsigneret TLS-certifikat, eller en virksomhedsproxy, der gensignerer trafikken, får kaldene til at fejle: BASEDB_AI_PROVIDER_SSL_VERIFY=false holder op med at kontrollere certifikatet kun for denne udbyder — alle instansens andre udgående kald, og den udbyder, et arbejdsområde måtte have valgt, bliver stadig kontrolleret. Det anføres ved opstart. Da nøglen følger med i hvert kald, bør du kun bruge det på et netværk, du selv kontrollerer.

AI er ikke en felttype, men et tilvalg: kontakten AI i et felts formular — tekst, lang tekst, URL, tal, enkeltvalg, boolesk, dato — får feltet udfyldt af en model ud fra en instruktion, der citerer andre kolonner:

Résume {{Notes}} en une phrase.
Catégorie de {{Description}} parmi les choix de la liste.
  • Feltet beregnes, så snart rækken findes, og derefter hver gang en citeret kolonne ændres — og, hvis du vil, efter en tidsplan (højst hvert 15. minut).
  • Kolonnen beholder sin type: et svar, hvor intet kan læses i den type (et tal, der ikke kan findes, et valg, der ikke findes), afvises i stedet for at blive skrevet.
  • Slår du tilvalget fra, kan feltet igen redigeres manuelt, og værdierne bevares.
  • De citerede værdier sendes til udbyderen: aktiveringen kræver udtrykkeligt samtykke.

BASEDB_AI_FIELD_QUOTA begrænser disse beregninger pr. time og pr. arbejdsområde (300 som standard).

En automatisering kan spørge AI i et af sine trin: en instruktion, der citerer rækken og de tidligere trin, og et svar, der læses i den valgte type, og som de efterfølgende trin skriver, sender eller citerer. Samme regler som for et felt: samtykke, når der gemmes, kun det, instruktionen citerer, sendes, og hvert kald logges og tælles med i BASEDB_AI_FIELD_QUOTA.

  • Kladder: beskriv en tabel eller en formel i én sætning, og få et forslag, du kan gennemlæse. Kun etiketter, typer og den indtastede sætning sendes — ingen celleværdier.
  • Skabeloner: beskriv en hel database — »opfølgning på mine kunders reklamationer« — og få tabeller, eksempelrækker, visninger, dashboard og automatiseringer, som du kan finjustere og derefter oprette. Kun sætningen sendes. Se Databaseskabeloner.
  • Copilot: en samtale om den viste database. Du beder om et filter, en forespørgsel, kolonner, en tabel, et sæt testdata; hvert forslag kommer som et kort og anvendes med ét klik ad de samme veje som formularerne.

Som standard sendes kun strukturen til udbyderen. Afkrydsningsfeltet »Tillad læsning af data« lader Copilot læse rækker i samtalen (højst 50 pr. læsning) og svare ud fra dem — hver læsning listes under svaret.

I afsnittet Dashboards foreslår Copilot spørgsmål, ændringer af dashboardet og værdier til dets filtre, som kan anvendes med ét klik. Samme regler: uden samtykke sendes kun strukturen — tabeller og felter, databasens dashboards og spørgsmål, definitionen af kortene på det viste dashboard (deres spørgsmål, deres tekster) —, aldrig resultaterne eller de værdier, der er valgt i filtrene. Afkrydsningsfeltet »Tillad læsning af data« tilføjer disse værdier og kortenes resultater under de viste filtre, højst 50 rækker pr. læsning, hver listet under svaret.

I afsnittet Automatiseringer foreslår Copilot en hel automatisering — den på skærmen, ændret, eller en ny — som den lægger på editorens flow uden nogensinde at gemme den: du gennemlæser den og gemmer den derefter. Samme regler: uden samtykke sendes kun strukturen — tabeller og felter, databasens automatiseringer, den på skærmen, dens seneste kørsler uden nogen værdier, personer og Slack-kanaler under pladsholdere —, og afkrydsningsfeltet »Tillad læsning af data« tilføjer læste rækker, højst 50 pr. læsning.

BASEDB_AI_QUOTA begrænser de interaktive kald pr. time og pr. arbejdsområde (120 som standard).

basedb er fri software fra Eodia, et AI-native softwarestudie.