De gidsen
Kies de klus die je doet
Elke samenvatting hieronder is lang genoeg om de vraag op zichzelf te beantwoorden, zodat je kunt bepalen of de volledige pagina je volgende twintig minuten waard is voordat je hem opent.
Een LLM aanroepen vanuit Delphi
Stuur een prompt vanuit een VCL-, FMX- of consoletoepassing en krijg een antwoord terug, van een gehost model zoals OpenAI of Anthropic Claude, of van een model dat op je eigen machine draait via Ollama. Er zijn twee routes. TsgcAIChat zet elke provider achter één API, dus van leverancier wisselen is één toewijzing aan Provider, en de clients per leverancier TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic en TsgcHTTP_API_Ollama ontsluiten elke leveranciers-API volledig wanneer je vision-invoer, batches, embeddings of transcriptie nodig hebt.
Daarna behandelt de pagina de drie dingen die elk project vervolgens tegenkomt. Streaming, zodat tekst in de memo verschijnt terwijl het model nog schrijft, zowel op het niveau van de gedecodeerde delta's als op het niveau van de ruwe events. Tool calling, waarbij je een Pascal-functie beschrijft als JSON Schema en het model je vraagt die uit te voeren. En de keuze tussen een gehost model en een lokaal model, wat voor alles wat onder een verwerkersovereenkomst valt een compliancebeslissing is en geen prestatiebeslissing.
Nodig: sgcWebSockets Enterprise of het losse package sgcAI. De REST-clients compileren op Windows, macOS, Linux, iOS en Android; TsgcAIChat werkt alleen op Windows, dus de pagina laat beide routes zien.
Lees de gids →
Een gebruiker inloggen met OAuth2 en PKCE
De Authorization Code-flow met PKCE, de flow die elke provider tegenwoordig verwacht van een native desktoptoepassing, aangestuurd door één niet-visuele component. Geen ingebouwde browser, geen eigen webserver, geen REST-framework. TsgcHTTP_OAuth2_Client genereert de verifier, leidt de challenge af, opent de systeembrowser, luistert op een loopback-redirect, wisselt de code in en vuurt OnAfterAccessToken af met het token.
Waar de flow op de desktop misgaat is de redirect, dus daar besteedt de pagina echt tijd aan: waarom de redirect een loopback-adres is en geen publieke URL, wat je bij de provider registreert, en wat redirect_uri_mismatch je vertelt. Daarna komen refresh tokens aan bod, zodat de browser nooit een tweede keer opengaat, het opslaan van een credential zonder het te laten rondslingeren, de kant-en-klare Google- en Microsoft-componenten, en de XOAUTH2-overdracht die Gmail en Microsoft 365 nu vereisen over SMTP en IMAP.
Nodig: sgcWebSockets Standard en hoger, of het losse package sgcAuth. Windows, macOS, Linux, iOS en Android. Alleen de server-helft van de autorisatie is een Enterprise-functie.
Lees de gids →
Twee Delphi-toepassingen verbinden met WebRTC
Twee toepassingen op twee verschillende netwerken die een chatkanaal, een microfoonstream en een camerastream rechtstreeks met elkaar uitwisselen, zonder mediaserver ertussen en zonder browser in het proces. De pagina splitst WebRTC op in de vier problemen die het in werkelijkheid is: de sessie beschrijven als een SDP offer en answer, die beschrijving naar de andere kant brengen, een pad door de NATs vinden, en de bytes verplaatsen.
Signalling is het deel dat je zelf schrijft, dus het staat er volledig in als een domme relay over TsgcWebSocketServer met drie soorten berichten. Daarna de peer connection en zijn events, ICE-kandidaten en wat host-, server reflexive- en relay-kandidaten je elk kosten, de TURN-schakelaar die mensen vergeten, SCTP-datakanalen met betrouwbaarheid per kanaal, en audio- en videotracks, die een ander transport zijn met andere faalgevallen dan een datakanaal. De pagina sluit af met de storingen die helemaal geen foutmelding opleveren, en dat is wat peer to peer lastig te debuggen maakt.
Nodig: de peer connection en de ICE- en TURN-clients horen bij sgcWebSockets Enterprise. De offer- en answer-methoden, datakanalen en mediatracks vragen het pack sgcWebRTC bovenop Enterprise, dat ook in All-Access zit. Een STUN-client komt al met Standard.
Lees de gids →
Er worden meer klussen uitgeschreven. Staat degene die jij doet er nog niet bij, dan behandelt de blog artikel voor artikel een groot deel van hetzelfde terrein, en wijst ondersteuning je intussen naar het juiste demoproject.