OpenAI verbindt GPT-4- en GPT-3.5-chatbots aan tools met 'function calling'

OpenAI heeft de functie 'function calling' voorgesteld, waarmee gebruikers met natuurlijke taal functies in tools van derden kunnen aanroepen. Dat was tot nu toe niet mogelijk. Ook kan GPT-3.5 nu meer tokens aan context aan voor input.

GPT-3.5 en GPT-4 werken daarvoor met argumenten binnen een prompt om een functie aan te roepen, meldt OpenAI. Een prompt als 'stuur Arnoud een e-mail over dat hij een nieuwsbericht moet schrijven over function calling' kunnen ontwikkelaars daardoor automatisch laten leiden naar een e-mailprogramma met daarin vooringevuld een naam en inhoud. De functie kan ook werken met bijvoorbeeld het opvragen van weerberichten. De functie zit niet in ChatGPT, maar kan wel in chatbots zitten op basis van GPT-3.5 en GPT-4.

De functie werkt met een json-object met daarin de argumenten voor de functie en de modellen detecteren automatisch wanneer het genereren van die json nodig is. Daarnaast kan GPT-3.5 nu contexten aan van 16.000 tokens, tegenover 4000 van de huidige versie. Dat wordt wel een duurdere versie in gebruik. De huidige GPT-3.5 met 4000 tokens aan context wordt iets goedkoper in gebruik.

Door Arnoud Wokke

Redacteur Tweakers

14-06-2023 • 06:39

36

Reacties (36)

36
35
14
4
0
18
Wijzig sortering
Kan iemand een aantal concrete voorbeelden geven voor Jan en alleman, wat hiermee handiger/sneller/kostenbesparender kan worden?
Wie kan deze vraag beter voor je beantwoorden dan Chatgpt zelf?
(artikel en je vraag in Chatgpt geplakt)

"Met de invoering van de functie 'function calling' en de mogelijkheid om meer contextuele informatie te verwerken, kunnen er verschillende handige, tijdbesparende en kosteneffectieve toepassingen worden gerealiseerd. Hier zijn enkele concrete voorbeelden:

E-mailautomatisering: Stel dat je een e-mail wilt sturen naar een collega, waarin je vraagt om een nieuwsbericht te schrijven over een bepaald onderwerp. Met de nieuwe functie kun je een chatbot instrueren om automatisch een e-mailprogramma te openen, de ontvanger en de inhoud van het bericht in te vullen, en het concept voor te bereiden. Dit bespaart je tijd en moeite bij het opstellen van e-mails.

Weersvoorspellingen: Stel je voor dat je snel de weersvoorspellingen wilt weten voor de komende dagen. Je kunt de chatbot vragen om het weerbericht op te vragen en de relevante informatie weer te geven. Dit kan handig zijn voor dagelijkse planning, reisvoorbereiding of andere activiteiten waarbij kennis van het weer van belang is.

Vertalingen en taalhulp: Met de 'function calling'-functie kunnen chatbots toegang krijgen tot tools voor vertalingen en taalhulp. Je kunt bijvoorbeeld vragen om een bepaalde zin te vertalen naar een andere taal of om synoniemen en definitie van woorden op te zoeken. Dit kan nuttig zijn voor mensen die in een meertalige omgeving werken of voor het verbeteren van taalvaardigheden.

Contentgeneratie en samenvattingen: Als je werkt aan het schrijven van artikelen, blogposts of andere stukken, kan de chatbot je helpen bij het genereren van content. Je kunt de chatbot vragen om relevante informatie en bronnen te verzamelen, samenvattingen te genereren van lange teksten, of zelfs concepten van artikelen te schrijven op basis van specifieke richtlijnen.

Data-analyse: Met de juiste integraties kan de chatbot gegevens uit verschillende bronnen verzamelen en analyseren. Je kunt de chatbot bijvoorbeeld vragen om statistieken te berekenen, grafieken te genereren op basis van gegevenssets, of trends en patronen in de gegevens te identificeren. Dit kan handig zijn voor snelle inzichten en besluitvorming.

Dit zijn slechts enkele voorbeelden om een idee te geven van de mogelijkheden. Met de 'function calling'-functie kunnen ontwikkelaars creatieve toepassingen bedenken die specifiek zijn afgestemd op de behoeften van gebruikers, waardoor processen efficiënter en effectiever kunnen worden uitgevoerd."
Intussen wordt Bard weer uitgesteld (zou deze week live gaan begreep ik) in Europa door klachten van de Ierse privacy waakhond. Wellicht ook goed. Maar OpenAI heeft hier geen last van? Link https://www.google.com/am...oned-rollout-2023-6%3famp

Ontopic: dit biedt wel mooie mogelijkheden, gaat snel deze ontwikkeling.

[Reactie gewijzigd door johnny2000 op 22 juli 2024 21:36]

Zeker heeft OpenAI hier ook last van maar die nemen dus het risico niet te voldoen aan de regelgeving en mogelijke toekomstige boetes. Voor OpenAI zal hier echter een veel lager risico en bedrag aan hangen dan voor Google dus ik snap de reactie wel.
Nee, microsofts lobby in Brussel draait op volle toeren - ze proberen er zelfs door te krijgen dat alleen gecertificeerde AI's in de EU gebruikt mogen worden en dat dan ChatGPT als eerste gecertificeerd wordt.
Ohja, de Lobby van MS doet het super goed. Er wordt ook totaal niet gekeken naar ChatGPT in de EU! europa.eu: EDPB resolves dispute on transfers by Meta and creates task force on Chat GPT
Of misschien toch wel?...

ChatGPT heeft het voordeel/nadeel dat het al op de markt was en het dus niet verstandig is nu terug te trekken. Ze zullen dus alle onderzoeken moeten afwachten en de resultaten over zich heen moeten laten bekomen. Google kiest er nu wijs voor om nog even niet de markt te betreden, waarschijnlijk omdat ze al weten dat ze niet aan alle regels kunnen voldoen. Er is dus geen winst te behalen voor ze.

[Reactie gewijzigd door Caelorum op 22 juli 2024 21:36]

microsoft is amazing, en google is evil
En 20 jaar terug was het precies andersom volgens de mensen hier. Ironisch, niet?
In de praktijk zijn het gewoon megacorporaties die tegelijkertijd fantastische als fantastisch evil dingen doen. Maar op een of andere manier is dat concept niet te begrijpen voor de meeste mensen...
Zo dat wordt fraai! Ben wel benieuwd hoe we de functies & features dan moeten voorstellen aan GPT!
Dit moet eerst door een ontwikkelaar gespecifieerd worden:
quote: OpenAI zelf zegt het volgende:
These use cases are enabled by new API parameters in our /v1/chat/completions endpoint, functions and function_call, that allow developers to describe functions to the model via JSON Schema, and optionally ask it to call a specific function.
(Bron)
De dev docs over function calling bevinden zich hier.

Citaat uit deze dev docs:
The basic sequence of steps for function calling is as follows:
  • Call the model with the user query and a set of functions defined in the functions parameter.
  • The model can choose to call a function; if so, the content will be a stringified JSON object adhering to your custom schema (note: the model may generate invalid JSON or hallucinate parameters).
  • Parse the string into JSON in your code, and call your function with the provided arguments if they exist.
  • Call the model again by appending the function response as a new message, and let the model summarize the results back to the user.

[Reactie gewijzigd door edeboeck op 22 juli 2024 21:36]

Ik zie wel opties voor
buy_stock(fund, amount)
sell_stock(fund, amount)
etc. ...
Ik denk alleen dat je niet zo blij bent met de uitkomst:
Failliet.

GPT is een language model, het is hoofdzakelijk gebaseerd op taal. Het is niet getrained om financiëel expert te zijn.
Daar zijn betere modellen voor, maar ja, die kunnen dan weer niet een onzinverhaal als absolute waarheid aanleveren.
Ik neem aan dat ChatGPT deze functies gewoon zelf kan schrijven...

Kijk je naar de documentatie zoals door @edeboeck beschreven, dan is dat niet enorm complex. Het lijkt dan ook vooral een design (security?) keuze om ChatGPT niet on the fly zelf te laten bepalen
Het gebruikt onderliggend een zelfde soort SYSTEM message als AutoGPT intern doet. Dit kan je dus zelf al enige tijd bewerkstelligen. Een format hiervoor is:
INFORMATION:

Your name is AutoGPT, a stock broker, try to handle user questions or if needed ask the user for more information.

CONSTRAINTS:

1. ~4000 word limit for short term memory. Your short term memory is short, so immediately save important information to files.
2. If you are unsure how you previously did something or want to recall past events, thinking about similar events will help you remember.
3. Exclusively use the commands listed in double quotes e.g. "command name"

COMMANDS:

1. Buy stock: "buy_stock", args: "index": "<index>", "amountOfShared":<amount of shares>,
"name": "<name>"
2. Sell stock: "sell_stock", args: "index": "<index>", "amountOfShared":<amount of shares>, "name": <name>
3. Ask user: "ask", args: "message": "<message in language of user in email format>"

PERFORMANCE EVALUATION:

1. Continuously review and analyze your actions to ensure you are performing to the best of your abilities.
2. Constructively self-criticize your big-picture behavior constantly.
3. Reflect on past decisions and strategies to refine your approach.
4. Every command has a cost, so be smart and efficient. Aim to complete tasks in the least number of steps.

You should only respond in JSON format as described below

RESPONSE FORMAT:
{
"thoughts":
{
"text": "thought",
"reasoning": "reasoning",
"plan": "- short bulleted\n- list that conveys\n- long-term plan",
"criticism": "constructive self-criticism",
"speak": "thoughts summary to say to user"
},
"command": {
"name": "command name",
"args":{
"arg name": "value"
}
}
}

Ensure the response can be parsed by Python json.loads
Je parsed vervolgens de array die je dan weer hierboven krijgt. Het enige wat OpenAI heeft gedaan is dit intern laten genereren. Vermelden ze trouwens ook zelf:
Under the hood, functions are injected into the system message in a syntax the model has been trained on. This means functions count against the model's context limit and are billed as input tokens. If running into context limits, we suggest limiting the number of functions or the length of documentation you provide for function parameters.
Bovenstaande kan je ook gewoon in ChatGPT gooien om te kijken wat de responses zijn, als je goede input hebt, kan je allerlei dingen automatiseren.

[Reactie gewijzigd door XiniX88 op 22 juli 2024 21:36]

Ik kijk met erg veel interesse naar de ontwikkeling hiervan!
Tot nu toe heb ik al best wel wat leuke python dingetjes laten maken door ChatGPT.
Ook herschrijven van stukken etc gaat wat mij betreft al zeer goed.
Ik moet zeggen dat ik juist iets andere ervaringen hoor en heb. “Stackoverflow” functies kan hij makkelijk aan, maar bij iets meer complexiteit gaat het toch vaker mis. Maar daarvoor moet je sowieso redigeren. Ik heb zelf een tijdje tests laten schrijven voor bestaande classen en liep dan tegen de 4000 tokens op. Wel was ik aangenaam verrast. Ik merkte dat iedereen het eerst gebruikte, maar dat het gebruik wel is afgevlakt/verminderd, in mijn omgeving dan.

Maar blijft leuk speelgoed🤣
Ik hoor inderdaad vaker dat het met complexe zaken misgaat, dat heb ik zelf nog niet getest.
Het enige wat ik wel kan zeggen is dat het voor simpelere zaken (hier en daar wat queries erbij) of bijv de Django ORM hij toch wel mooie dingen weet te maken. Ik heb het voornamelijk gebruikt om stukjes code te herschrijven/versimpelen/versnellen en dat ging super.

In mijn omgeving ken ik ook niemand meer die ChatGPT gebruikt.. ikzelf eigenlijk ook niet meer.
De grootste beperking voor nu vind ik dat hij niet op internet kan zoeken.
Ik ben dus overgestapt op Bing Chat voor wat vragen die ik zelf niet wil uitzoeken :)
Als je je hele code in uitschrijft in mensentaal tot aan de logica toe. Dan kom je best ver met chatgpt. Je moet wel alle logica zelf voorkauwen want anders komt het bijna op hetzelfde neer als chatgpt vragen wat voor weer het morgen wordt.

Maar om al die logica voor te kunnen kauwen moet je zelf dus kunnen programmeren. En dan kom je weer terug op hetzelfde he, je hebt kennis nodig voor chatgpt je kan helpen.

[Reactie gewijzigd door BlaDeKke op 22 juli 2024 21:36]

Meteen kan de secretaresse de deur uit. Scheelt een hoop kosten en een bot is nooit ziek :+
Op een dag gaat het daar wel naartoe...
...waarmee de rijken rijker worden en de armen weer armer. Of misschien ook wel niet. Want de ICT-ers werken zichzelf er nu uit, maar ik zie een ChatGPT nog geen loodgieterswerk doen of een muurtje metselen. Misschien komt er een tijd dat een ICT-er amper €50,-/uur kan vragen (want ChatGPT doet het eigenlijke werk) en de loodgieter €125,-.
Waar gaan we uitkomen. Ik ben benieuwd...
Misschien komt er een tijd dat een ICT-er amper €50,-/uur kan vragen (want ChatGPT doet het eigenlijke werk) en de loodgieter €125,-.
Dat is nu al het geval hoor, die loodgieters zijn onbetaalbaar geworden tegenwoordig ;)

Een generative AI kan niet een ICTer vervangen maar kan het werk van een ICT wel een stuk efficiënter maken. Het is en blijft een generatieve AI geen Data uit startrek.
Als je het werk efficiënter maakt dan vervang je toch ICT-ers. Zoals: Het project waar vroeger 10 ICT-ers voor nodig waren kan nu met 5. Dan heb je er toch 5 vervangen, of niet?

Niet dat dit erg is. Betekend gewoon dat die andere 5 aan een ander project kunnen werken en dat we dus twee projecten af krijgen voor dezelfde hoeveelheid arbeid --> Welvaart neemt toe.
Dat komt inderdaad op hetzelfde neer. Al denk ik niet dat je een 2x efficiëntie verhoging krijgt door gebruik van generative AI of een AI zoals copilot. Dat verschil in efficiëntie heb je al in ICT land. Niet iedereen is even goed en dat hoeft ook niet.

Ik denk dat je juist meer voor minder krijgt. Er zijn genoeg projecten die niet gedaan worden omwille de kosten/baten. Door efficiënter te werken kan je "goedkoper" werken waardoor de drempel kosten/baten anders uitpakt.

Ook denk ik dat de code een stuk beter kan worden hierdoor. Net zoals je door de inzet van tools zoals SonarQube/Sonarlint je betere kwaliteit code "kan" leveren, is het gebruik van bijvoorbeeld copilot een aanwinst om je code beter te maken.

Je wordt als ITér niet vervangen door AI maar je wordt vervangen door iemand die AI gebruikt als tool (conclusie uit meerdere sessies over dit onderwerp in futuretech en techorama) :)
Kijk naar andere systemen waar mensen op afstand werken, volledig geautomatiseerde haven terminals, zitten nog steeds menselijke operators in stoelen verderop de moeilijke handelingen te doen. Tegelijk is er nog volop recruitment ook in die branche. Er zijn gewoon te weinig vakmensen op allerlei gebied. 100.000 parttime zzp coaches en consultants geen probleem, veel mensen die verantwoordelijkheid mijden en enkel willen werken wanneer het ze uitkomt. Ik bedoel geef ze eens ongelijk als je zo je geld kan verdien. Tegelijk vakmensen waar wat druk op moet kunnen staan en concrete resultaten van verwacht mogen worden, daar merk je echt haast op alle vakgebieden nu tekorten.

[Reactie gewijzigd door OruBLMsFrl op 22 juli 2024 21:36]

Alleen... als we alles willen automatiseren, is er opeens weer werk voor niet 10 ICTers, maar voor 20 ICTers die ook nog eens allemaal een AI gebruiken.

Win-Win.

En om eerlijk te zijn, waarom stelt alleen een IT-er zichzelf in vraag?
Hoe moeilijk is het om 2 PP buizen in elkaar te schuiven of 2 PVC buizen aan elkaar te lijmen? Maar niemand stelt een loodgieter in vraag.

Waarom zou een hyper geavanceerde ITer ooit vervangen worden als zelfs een loodgieter niet vervangen wordt? Iemand moet het werk doen en rarara, veel mensen kunnen nu eenmaal héél weinig.
Waarom zou een hyper geavanceerde ITer ooit vervangen worden als zelfs een loodgieter niet vervangen wordt? Iemand moet het werk doen en rarara, veel mensen kunnen nu eenmaal héél weinig.
je hebt denk ik 2 werelden. De fysieke wereld én de digitale wereld. Voor beide worden continu verbeteringen aangebracht door automatisering waarmee een (deel) van het werk overgenomen kan worden. Ook een loodgieter krijgt nieuwe materialen en gereedschap waardoor zijn werk makkelijker en efficiënter wordt. Een loodgieter vervangen gaat (nog) niet omdat een loodgieter niet alleen "doet" maar ook onderzoekt hoe een probleem opgelost kan worden of wat de oorzaak is. Zo ook een ITer, die klopt niet alleen code maar kijkt ook naar het geheel, zoals functionele wensen, architectuur, nu kiezen voor een snelle fix want prio 1 of gedegen oplossen. Vertalen van functionele wens naar techniek enz
Het werk van een loodgieter is al een jaar of 2000 hetzelfde: zorgen dat het water weg kan lopen, door middel van de zwaartekracht en zonder al te veel lekken :)

Ik heb zelf mijn riolering, afwatering en sanitair gedaan bij me thuis, als IT-er. En zoiets is een fluitje van een cent. Je moet eventjes inlezen, maar om eerlijk te zijn, als ik een nieuwe programmeertaal wil leren, moet ik me ook eventjes inlezen. Alleen is het inlezen daar 1000x moeilijker.

IT-ers hebben een minderwaardigheidscomplex. De meeste mensen slagen er amper in om hun eigen wachtwoord correct in te typen. IT-ers gaan er altijd nodig zijn en enkel meer.
De IT'er kan zich bezig gaan houden met de leukere technische zaken.

Laat chat gpt die beleidsstukken voor de accountants maar lekker tikken.

Ik zie ChatGPT en dergelijke nog niet ff een server uit de doos in het rack hangen. Inrichten van de VM's gaat nu ook al vol automatisch.

Dus zal vooral de administratieve last verlichten, ik kan niet wachten tot de eerste plugins voor servicedesk tools een beetje loskomen. Scheelt een hoop typen en simpele vragen beantwoorden.
Weet je een generatieve AI voor mij vandaag al mag gaan doen? de unittests (kan voor een groot deel al in copilot).

Maar het bedenken van een reguliere expressie of een linq/SQL statement is ook iets waar je generatieve AI voor kan inzetten. Werkt best wel goed heb ik gemerkt. Je weet als ontwikkelaar heel goed wat je wilt maar dat omzetten naar de verschillende query talen maakt het weer lastig. Een beetje AI hulp is dan wel lekker.
Ik zie AI ook meer als een rekenmachine nu. Weinig mensen kunnen nog (snel) hoofdrekenen. Zeker als het wat ingewikkelder word. Dat komt door de rekenmachine want minder nodig. En een rekenmachine maakt het leven heel makkelijk.

Maar een rekenmachine heeft accountants niet overbodig gemaakt. Idem voor Excel. En de mensen die vroeger met de hand facturen intikte (wat nog steeds wel gebeurd trouwens) doen nu andere administratieve zaken of maken rapporteringen etc.

AI in de huidige vorm is een aanvulling daarop. En een aanvulling die nog in de kinderschoenen staat want meestal als ik ChatGPT oid gebruik kom ik er niet uit omdat het een te breed model is. Ik zie vooral toekomst in meerdere specifiek getrainde AI's. Eentje voor code, eentje voor marketing-teksten etc.
Op het moment dat robot 's van tesla of boston gekoppeld worden aan een gpt 5.0 zal dat vast wel goed komen.

Ook de fysieke beroepen zullen op een bepaald moment vervallen.
Dit kon toch al met plugins?
Hopelijk komen ze ook met een OS.
Als ik alle positieve reacties zo lees moet ik echt denken aan de film Don't Look Up. De komende tijd is A.I. natuurlijk een leuk speeltje totdat het ontsnapt en de wereld platlegt. Dat wordt gezegd door praktisch elke A.I. expert maar de eindgebruiker maakt zich totaal geen zorgen lijkt het.

Op dit item kan niet meer gereageerd worden.