ChatGPT plugins begrijpen

Gebouwd voor snelheid: ~10ms latentie, zelfs onder belasting
De razendsnelle manier om je modellen te bouwen, volgen en implementeren!
- Verwerkt 350+ RPS op slechts 1 vCPU — geen tuning nodig
- Productieklaar met volledige enterprise-ondersteuning
ChatGPT is een krachtig taalmodel dat input van gebruikers kan begrijpen en erop kan reageren. Het beschikt ingebouwd over veel nuttige functies, maar soms hebben gebruikers extra functionaliteit nodig die niet standaard beschikbaar is. Dat is waar plugins uitkomst bieden.
Plugins zijn add-ons die de mogelijkheden van ChatGPT uitbreiden. Ze stellen gebruikers in staat om actuele informatie op te halen, berekeningen uit te voeren of te communiceren met diensten van derden als reactie op een verzoek van de gebruiker. Zo zou een plugin bijvoorbeeld de mogelijkheid kunnen toevoegen om naar informatie te zoeken binnen een specifieke website of te integreren met de CRM-software van een gebruiker.
Of een agenda-plugin voor ChatGPT zou kunnen werken door gebruikers in staat te stellen evenementen en herinneringen rechtstreeks in de chatinterface in te plannen. Een gebruiker zou bijvoorbeeld kunnen typen "plan een vergadering met John op vrijdag om 14:00 uur", waarna ChatGPT de intentie herkent en communiceert met de agenda-plugin om het evenement aan te maken.
0:00/1×
Instacart ChatGPT Plugin in actie
De Instacart plugin voor ChatGPT is een bestaande plugin waarmee gebruikers eenvoudig receptingrediënten aan hun Instacart-winkelwagentje kunnen toevoegen zonder de chatinterface te verlaten. Als een gebruiker bijvoorbeeld vraagt "Welke ingrediënten heb ik nodig om lasagna te maken?", kan ChatGPT een lijst geven van de benodigde ingrediënten voor lasagna en aanbieden om deze toe te voegen aan het Instacart-winkelwagentje van de gebruiker. De gebruiker kan de bestelling vervolgens met een eenvoudige klik bevestigen, waarna de Instacart plugin automatisch alle benodigde ingrediënten aan hun winkelwagentje toevoegt.
Hoe werken Plugins?
Om een plugin te maken, kunnen ontwikkelaars een API beschikbaar stellen via hun website en een manifestbestand maken dat de API op een gestandaardiseerde manier beschrijft. ChatGPT kan deze bestanden vervolgens lezen en de AI-modellen in staat stellen om te communiceren met de door de ontwikkelaar gespecificeerde API. Een typische plugin bevat:
- een API,
- een OpenAPI-schema in JSON- of YAML-formaat voor de API,
- een manifestbestand voor de plugin in JSON-formaat.
ChatGPT gebruikt het manifestbestand en het OpenAPI-schema om te begrijpen wat de plugin doet en hoe ermee te communiceren. Wanneer de gebruiker ChatGPT vervolgens een prompt geeft, bepaalt het of het moet communiceren met actieve plugins om aan het verzoek te voldoen en aanroept het de relevante endpoints om het verzoek van de gebruiker uit te voeren. Net als bij het prompten van andere taalmodellen, zul je meerdere prompts en beschrijvingen in het manifest en API-schema willen testen om te zien wat het beste werkt.
OpenAI biedt code voor een voorbeeld-plugin die een vector-DB zoals Pinecone kan doorzoeken en relevante documenten kan retourneren. Bij het beantwoorden van prompts van gebruikers kan ChatGPT deze plugin gebruiken om zijn kennis aan te vullen door te zoeken naar relevante documenten. Binnen een organisatie kan ChatGPT bijvoorbeeld interne bedrijfsdocumenten moeten raadplegen om vragen over het bedrijf te beantwoorden.
Voor deze document retrieval plugin ziet het manifestbestand genaamd ai-plugin.json er ongeveer zo uit:

Merk op dat er velden zijn zoals description_for_model en description_for_human. Het description_for_model-attribuut geeft je de vrijheid om het model algemene instructies te geven over hoe het je plugin moet gebruiken. Over het algemeen is het taalmodel achter ChatGPT zeer goed in staat om natuurlijke taal te begrijpen en instructies op te volgen. Dit is daarom een goede plek om algemene instructies op te nemen over wat je plugin doet en hoe het model deze correct moet gebruiken.
Een plugin implementeren
We gaan de bovenstaande retrieval plugin implementeren op TrueFoundry en koppelen aan ChatGPT. De plugin kan vector-databases zoals Pinecone doorzoeken en relevante documenten retourneren.
💡
Laten we opmerken dat je toegang tot ChatGPT Plugins nodig hebt om een plugin te maken. Je kunt hier toegang voor aanvragen.
Kloon de Github repository
Om deze applicatie te implementeren, moet je deze repository kloonen. Dit is vereist omdat we uiteindelijk het OpenAPI-schema en het manifest moeten bijwerken met de definitieve URL's van de geïmplementeerde plugin-applicatie.
Instellen van de vector-DB: Pinecone
Pinecone is een beheerde vector-database die is gebouwd voor snelheid, schaalbaarheid en snellere oplevering naar productie. Om Pinecone als je vector-databaseprovider te gebruiken, vraag je eerst een API key aan door je aan te melden voor een account. Je hebt toegang tot je API key via de sectie "API Keys" in de zijbalk van je dashboard. Pinecone ondersteunt ook hybride zoeken en is op het moment van schrijven de enige datastore die SPLADE sparse vectors native ondersteunt.
Een volledige Jupyter notebook handleiding voor de Pinecone-variant van de retrieval plugin is hier te vinden. Er is ook een videohandleiding hier beschikbaar.
De app maakt automatisch een Pinecone-index voor je aan wanneer je deze voor het eerst uitvoert. Kies gewoon een naam voor je index en stel deze in als omgevingsvariabele tijdens het implementeren van de applicatie.
De applicatie implementeren op TrueFoundry
Laten we nu de applicatie implementeren op TrueFoundry.
- Maak een gratis account aan bij TrueFoundry en maak een nieuwe workspace aan met een unieke naam.
2. Bij het gebruik van de Pinecone vector-DB heb je de volgende omgevingsvariabelen nodig. Het bearer token wordt gebruikt om verzoeken naar de endpoints te authenticeer.
NameRequiredDescriptionDATASTOREYesDatastore name, set this to pineconeBEARER_TOKENYesYour secret token for authenticating requests to the APIOPENAI_API_KEYYesYour OpenAI API key for generating embeddings with the text-embedding-ada-002 modelPINECONE_API_KEYYesYour Pinecone API key, found in the Pinecone consolePINECONE_ENVIRONMENTYesYour Pinecone environment, found in the Pinecone console, e.g. us-west1-gcp, us-east-1-aws, etc.PINECONE_INDEXYesYour chosen Pinecone index name. Note: Index name must consist of lower case alphanumeric characters or '-'
Ga naar de TrueFoundry secrets console. Maak een nieuwe secret group aan en maak secrets aan die je als omgevingsvariabelen kunt gebruiken.

3. Ga naar de deployment console. Maak een nieuwe service aan in je workspace.
4. Stel in het formulier voor het aanmaken van de service de bron in op de repository-URL die je zojuist hebt gekloond en de build op DockerFile build.
5. Stel in het formulier de poort in op 8080 en kies een geschikt endpoint voor je service:

6. Voeg de omgevingsvariabelen toe en koppel ze aan de secrets die je zojuist hebt aangemaakt.

7. Implementeer en je plugin-webapp en endpoint verschijnen op het deployments tabblad. We gebruiken het hier gegenereerde endpoint om de plugin te registreren bij OpenAI voor gebruik met ChatGPT:

8. Ga naar je Github repository en werk de applicatie-URL bij in zowel het OpenAPI-schema als het manifest in de map ./well-known. Zodra dit is bijgewerkt, kun je de deployment op TrueFoundry bewerken naar de nieuwste commit en opnieuw implementeren vanaf het deployments tabblad.

De plugin testen
Zodra je de API, het manifestbestand en de OpenAPI-specificatie voor je API hebt aangemaakt, ben je klaar om de plugin te verbinden via de ChatGPT UI.
Selecteer in de ChatGPT UI eerst “Develop your own plugin” om de plugin in te stellen en vervolgens “Install an unverified plugin” om deze voor jezelf te installeren.
Eerst moet je het endpoint naar je API-service opgeven. Dit kun je ophalen van het TrueFoundry deployments tabblad. Ten tweede moet je het bearer token opgeven dat wordt gebruikt om API-verzoeken te authenticeren. Zodra dat is gebeurd, is de plugin klaar voor gebruik met ChatGPT (alleen voor jou, aangezien deze niet-geverifieerd is!).
TrueFoundry AI Gateway levert een latentie van ~3–4 ms, verwerkt 350+ RPS op 1 vCPU, schaalt moeiteloos horizontaal en is klaar voor productie, terwijl LiteLLM last heeft van hoge latentie, moeite heeft boven een gemiddeld aantal RPS, geen ingebouwde schaling heeft en het meest geschikt is voor lichte workloads of prototypes.



















.png)

.webp)



.webp)







.webp)





