


OpenAI -Funktion Aufruf Tutorial: Erzeugen Sie strukturierte Ausgabe
Verwenden von OpenAI ohne Funktionsaufruf
In diesem Abschnitt generieren wir Antworten mit dem GPT-3.5-Turbo-Modell ohne Funktion, um festzustellen, ob wir konsistente Ausgabe erhalten oder nicht.
Bevor Sie die OpenAI -Python -API installieren, müssen Sie einen API -Schlüssel erhalten und auf Ihrem lokalen System einrichten. Folgen Sie dem GPT-3.5 und GPT-4 über die OpenAI-API im Python-Tutorial, um zu erfahren, wie Sie den API-Schlüssel erhalten und einrichten. Das Tutorial enthält auch Beispiele für das Einrichten von Umgebungsvariablen in Datalab, DataCamps Ai-fähiges Data Notebook.
Weitere Unterstützung finden Sie im Code in der OpenAI -Funktion, die die Arbeitsmappe auf Datalab aufruft.
Upgrade der OpenAI Python -API auf V1 mit:
pip install --upgrade openai -q
Initiieren Sie danach den OpenAI -Client mit dem API -Schlüssel.
import os from openai import OpenAI client = OpenAI( api_key=os.environ['OPENAI_API_KEY'], )
Hinweis : OpenAI bietet neuen Benutzern keine kostenlosen Credits mehr an, daher müssen Sie sie kaufen, um die API zu verwenden.
Wir werden eine zufällige Beschreibung der Schüler schreiben. Entweder können Sie Ihren eigenen Text erstellen oder Chatgpt verwenden, um einen für Sie zu generieren.
student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
Im nächsten Teil schreiben wir eine Aufforderung, Schülerinformationen aus dem Text zu extrahieren und die Ausgabe als JSON -Objekt zurückzugeben. Wir werden den Namen, die Major, die Schule, die Noten und die Clubs in der Beschreibung der Schüler extrahieren.
# A simple prompt to extract information from "student_description" in a JSON format. prompt1 = f''' Please extract the following information from the given text and return it as a JSON object: name major school grades club This is the body of text to extract the information from: {student_1_description} '''
Fügen Sie die Eingabeaufforderung dem OpenAI -API -Chat -CHAT -Abschlussmodul hinzu, um die Antwort zu generieren.
# Generating response back from gpt-3.5-turbo openai_response = client.chat.completions.create( model = 'gpt-3.5-turbo', messages = [{'role': 'user', 'content': prompt_1}] ) openai_response.choices[0].message.content
Die Antwort ist ziemlich gut. Konvertieren wir es in JSON, um es besser zu verstehen.
'{\n "name": "David Nguyen",\n "major": "computer science",\n "school": "Stanford University",\n "grades": "3.8 GPA",\n "club": "Robotics Club"\n}'
Wir werden die `JSON` -Bibliothek verwenden, um den Text in ein JSON -Objekt umzuwandeln.
import json # Loading the response as a JSON object json_response = json.loads(openai_response.choices[0].message.content) json_response
Das Endergebnis ist ziemlich perfekt. Also, warum brauchen wir Funktionsaufrufe?
{'name': 'David Nguyen', 'major': 'computer science', 'school': 'Stanford University', 'grades': '3.8 GPA', 'club': 'Robotics Club'}
Versuchen wir dieselbe Eingabeaufforderung, aber mit einer anderen Schülerbeschreibung.
student_2_description="Ravi Patel is a sophomore majoring in computer science at the University of Michigan. He is South Asian Indian American and has a 3.7 GPA. Ravi is an active member of the university's Chess Club and the South Asian Student Association. He hopes to pursue a career in software engineering after graduating."
Wir werden einfach den Text der Schülerbeschreibung in der Eingabeaufforderung ändern.
prompt2 = f''' Please extract the following information from the given text and return it as a JSON object: name major school grades club This is the body of text to extract the information from: {student_2_description} '''
und führen Sie die Chat -Abschlussfunktion mit der zweiten Eingabeaufforderung aus.
# Generating response back from gpt-3.5-turbo openai_response = client.chat.completions.create( model = 'gpt-3.5-turbo', messages = [{'role': 'user', 'content': prompt_2}] ) # Loading the response as a JSON object json_response = json.loads(openai_response.choices[0].message.content) json_response
Wie Sie sehen können, ist es nicht konsistent. Anstatt einen Club zurückzugeben, hat es die Liste der Clubs zurückgegeben, die von Ravi verbunden sind. Es unterscheidet sich auch vom ersten Schüler.
{'name': 'Ravi Patel', 'major': 'computer science', 'school': 'University of Michigan', 'grades': '3.7 GPA', 'club': ['Chess Club', 'South Asian Student Association']}
OpenAI -Funktion Aufrufe Beispiel
Um dieses Problem zu beheben, werden wir nun eine kürzlich eingeführte Funktion namens Function Calling verwenden. Es ist wichtig, eine benutzerdefinierte Funktion zu erstellen, um die erforderlichen Informationen zu einer Liste von Wörterbüchern hinzuzufügen, damit die OpenAI -API ihre Funktionalität verstehen kann.
- Name : Schreiben Sie den Python -Funktionsnamen, den Sie kürzlich erstellt haben.
- Beschreibung : Die Funktionalität der Funktion.
- Parameter : Innerhalb der „Eigenschaften“ schreiben wir den Namen der Argumente, den Typ und die Beschreibung. Es wird helfen, die API zu eröffnen, um die Welt zu identifizieren, nach der wir suchen.
Hinweis : Stellen Sie sicher, dass Sie das richtige Muster verfolgen. Erfahren Sie mehr über Funktionsaufrufe, indem Sie die offizielle Dokumentation lesen.
pip install --upgrade openai -q
Als nächstes werden wir Antworten für zwei Schülerbeschreibungen unter Verwendung einer benutzerdefinierten Funktion generieren, die dem Argument "Funktionen" hinzugefügt wurde. Danach werden wir die Textantwort in ein JSON -Objekt umwandeln und sie drucken.
import os from openai import OpenAI client = OpenAI( api_key=os.environ['OPENAI_API_KEY'], )
Wie wir sehen, haben wir einheitliche Ausgabe. Wir haben sogar Noten in numerischer anstelle von String erhalten. Die konsistente Ausgabe ist für das Erstellen von Fehlerfreien AI-Anwendungen unerlässlich.
student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
Mehrere benutzerdefinierte Funktionen
Sie können der Chat -Abschlussfunktion mehrere benutzerdefinierte Funktionen hinzufügen. In diesem Abschnitt sehen wir die magischen Funktionen der OpenAI -API und wie sie automatisch die richtige Funktion auswählt und die richtigen Argumente zurückgibt.
In der Python -Liste des Wörterbuchs werden wir eine andere Funktion mit dem Namen „Extract_School_info“ hinzufügen, die uns hilft, Universitätsinformationen aus dem Text zu extrahieren.
Um dies zu erreichen, müssen Sie ein weiteres Wörterbuch einer Funktion mit Namen, Beschreibung und Parametern hinzufügen.
# A simple prompt to extract information from "student_description" in a JSON format. prompt1 = f''' Please extract the following information from the given text and return it as a JSON object: name major school grades club This is the body of text to extract the information from: {student_1_description} '''
Wir werden eine Beschreibung der Stanford University unter Verwendung von ChatGPT generieren, um unsere Funktion zu testen.
# Generating response back from gpt-3.5-turbo openai_response = client.chat.completions.create( model = 'gpt-3.5-turbo', messages = [{'role': 'user', 'content': prompt_1}] ) openai_response.choices[0].message.content
Erstellen Sie die Liste der Schüler- und Schulbeschreibungen und geben Sie sie durch die OpenAI -Chat -Abschlussfunktion, um die Antwort zu generieren. Stellen Sie sicher, dass Sie die aktualisierte benutzerdefinierte Funktion bereitgestellt haben.
'{\n "name": "David Nguyen",\n "major": "computer science",\n "school": "Stanford University",\n "grades": "3.8 GPA",\n "club": "Robotics Club"\n}'
Das GPT-3.5-Turbo-Modell hat automatisch die richtige Funktion für verschiedene Beschreibungstypen ausgewählt. Wir erhalten eine perfekte JSON -Ausgabe für den Schüler und die Schule.
import json # Loading the response as a JSON object json_response = json.loads(openai_response.choices[0].message.content) json_response
Wir können sogar unter dem Namen schauen, den die Ruhe unter Verwendung der Funktion „extract_school_info“ erzeugt.
Anwendungen des Funktionsaufrufs
In diesem Abschnitt erstellen wir einen stabilen Textübersichtsers zusammen, der die Schul- und Schülerinformationen auf eine bestimmte Weise zusammenfasst.
Erstens erstellen wir zwei Python -Funktionen, extract_student_info und extract_school_info, die die Argumente aus Funktionsaufrufen entnehmen und eine zusammengefasste Zeichenfolge zurückgeben.
pip install --upgrade openai -q
- Erstellen Sie die Python -Liste, die aus einer Beschreibung der Schüler, einer zufälligen Eingabeaufforderung und einer Beschreibung besteht. Die zufällige Eingabeaufforderung wird hinzugefügt, um den automatischen Funktionsaufruf Mechaniker zu validieren.
- wir generieren die Antwort mit jedem Text in der Liste "Beschreibungen".
- Wenn ein Funktionsaufruf verwendet wird, erhalten wir den Namen der Funktion und wenden Sie basierend darauf die entsprechenden Argumente mit der Antwort auf die Funktion an. Andernfalls geben Sie die normale Reaktion zurück.
- Drucken Sie die Ausgänge aller drei Proben aus.
import os from openai import OpenAI client = OpenAI( api_key=os.environ['OPENAI_API_KEY'], )
- Beispiel#1 : Das GPT -Modell hat "extract_student_info" ausgewählt, und wir haben eine kurze Zusammenfassung über den Schüler erhalten.
- Beispiel#2 : Das GPT -Modell hat keine Funktion ausgewählt und die Eingabeaufforderung als regelmäßige Frage behandelt, und als Ergebnis haben wir die Biographie von Abraham Lincoln erhalten.
- Beispiel#3 : Das GPT -Modell hat "extract_school_info" ausgewählt, und wir haben eine kurze Zusammenfassung über die Stanford University erhalten.
student_1_description = "David Nguyen is a sophomore majoring in computer science at Stanford University. He is Asian American and has a 3.8 GPA. David is known for his programming skills and is an active member of the university's Robotics Club. He hopes to pursue a career in artificial intelligence after graduating."
Schlussfolgerung
In diesem Tutorial haben wir über OpenAys Funktionsanruf erfahren. Wir haben auch gelernt, wie man es verwendet, um konsistente Ausgänge zu generieren, mehrere Funktionen zu erstellen und einen zuverlässigen Textzusammenfassungen zu erstellen.
Wenn Sie mehr über die OpenAI-API erfahren möchten, sollten Sie die Arbeit mit dem OpenAI-API-Kurs nehmen und die OpenAI-API in Python-Cheat-Blatt verwenden. Definieren Sie verschachtelte JSON -Strukturen im Funktionsschema. Durch Angeben der hierarchischen Beziehungen innerhalb der Parametereigenschaft können Sie sicherstellen, dass das Modell ordnungsgemäß verschachtelte und strukturierte JSON -Ausgänge für komplexe Datenanforderungen erzeugt. API -Aufrufe oder Datenbankabfragen basierend auf den aus dem Modell übergebenen Argumenten ausführen. Dies ermöglicht dynamische Wechselwirkungen mit externen Systemen gleichzeitig gleichzeitig konsistente und strukturierte Antworten.
Was passiert, wenn der Funktionsaufruf des Modells keine definierten Funktionen übereinstimmt? Dies gewährleistet die Flexibilität bei der Handhabung unterschiedlicher Eingabetypen.
Das obige ist der detaillierte Inhalt vonOpenAI -Funktion Aufruf Tutorial: Erzeugen Sie strukturierte Ausgabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Vibe -Codierung verändert die Welt der Softwareentwicklung, indem wir Anwendungen mit natürlicher Sprache anstelle von endlosen Codezeilen erstellen können. Inspiriert von Visionären wie Andrej Karpathy, lässt dieser innovative Ansatz Dev

Februar 2025 war ein weiterer bahnbrechender Monat für die Generative KI, die uns einige der am meisten erwarteten Modell-Upgrades und bahnbrechenden neuen Funktionen gebracht hat. Von Xais Grok 3 und Anthropics Claude 3.7 -Sonett, um g zu eröffnen

Yolo (Sie schauen nur einmal) war ein führender Echtzeit-Objekterkennungsrahmen, wobei jede Iteration die vorherigen Versionen verbessert. Die neueste Version Yolo V12 führt Fortschritte vor, die die Genauigkeit erheblich verbessern

Der Artikel überprüft Top -KI -Kunstgeneratoren, diskutiert ihre Funktionen, Eignung für kreative Projekte und Wert. Es zeigt MidJourney als den besten Wert für Fachkräfte und empfiehlt Dall-E 2 für hochwertige, anpassbare Kunst.

Chatgpt 4 ist derzeit verfügbar und weit verbreitet, wodurch im Vergleich zu seinen Vorgängern wie ChatGPT 3.5 signifikante Verbesserungen beim Verständnis des Kontextes und des Generierens kohärenter Antworten zeigt. Zukünftige Entwicklungen können mehr personalisierte Inters umfassen

Der Artikel erörtert KI -Modelle, die Chatgpt wie Lamda, Lama und Grok übertreffen und ihre Vorteile in Bezug auf Genauigkeit, Verständnis und Branchenauswirkungen hervorheben. (159 Charaktere)

Mistral OCR: revolutionäre retrieval-ausgereifte Generation mit multimodalem Dokumentverständnis RAG-Systeme (Abrufen-Augment-Augmented Generation) haben erheblich fortschrittliche KI

In dem Artikel werden Top -KI -Schreibassistenten wie Grammarly, Jasper, Copy.ai, Writesonic und RYTR erläutert und sich auf ihre einzigartigen Funktionen für die Erstellung von Inhalten konzentrieren. Es wird argumentiert, dass Jasper in der SEO -Optimierung auszeichnet, während KI -Tools dazu beitragen, den Ton zu erhalten
