Verwenden Sie den Ausgangsparser von Langchain, um Informationen aus der Chatgpt -Eingabeaufforderung zu extrahieren
Dieses Jupyter -Notizbuch zeigt, wie man Langchains StructuredOutputParser verwendet, um strukturierte Informationen aus ChatGPT -Eingabeaufforderung zu extrahieren.
Importiert notwendige Bibliotheken wie OpenAI , LangChain und definiert eine ChatOpenAI -Instanz.
Definiert die Beispielausgabestruktur mit Feldern wie "gift" , "delivery_days" , "price_value" .
Zeigt ein Beispiel für den Kundenbewertungstext an, das analysiert werden soll.
Konstruiert ResponseSchema für jedes Ausgangsfeld.
Erstellt ein StructuredOutputParser unter Verwendung der Antwortschemata.
Definiert eine schnelle Vorlage, die die Anweisungen des Parser -Formats enthält.
Fordert ChatGPT auf, den Überprüfungstext und die Ausgabe im strukturierten Format zu analysieren.
Analysiert die JSON -Antwort, um Geschenk, Liefertage und Preiswert in ein Wörterbuch zu extrahieren.
Zusammenfassend zeigt das Notizbuch, wie der Ausgangsparser von Langchain verwendet werden kann, um strukturierte Daten aus freien ChatGPT-Antworten zu erhalten und so ein Umlauf-Engineering für die Informationsextraktion zu ermöglichen.
Jupyter Notebook -Link: Langchain_Output_parser_prompt_engineering.ipynb (das Experiment wird in Google Colab durchgeführt)
Um das GPT-3,5-Turbo- Modell von OpenAI mit Langchain zu verwenden, ist ein API-Schlüssel erforderlich. Der API -Schlüssel kann von hier aus erhalten werden.
Um die Zufälligkeit und Kreativität des generierten Textes durch die LLM zu steuern, haben wir bei der Initialisierung der ChatOpenAI -Instanz Temperatur = 0,0 verwendet. Die Temperatur ist ein numerischer Wert, der zwischen 0 und 1 eingestellt ist. Eine Temperatur von 0 bedeutet, dass das Modell immer das wahrscheinlichste Wort für die Erzeugung auswählt, während eine Temperatur von 1 bedeutet, dass das Modell eher weniger wahrscheinliche Wörter auswählt, was zu einer kreativeren und unerwarteten Ausgabe führt. Im Allgemeinen hängt die optimale Temperatureinstellung von der jeweiligen Aufgabe ab. Bei Aufgaben, die Genauigkeit und Tatsachen erfordern, wie die Beantwortung oder Zusammenfassung des Textes, wird normalerweise eine niedrigere Temperatur bevorzugt. Bei Aufgaben, die Kreativität und Originalität erfordern, wie z. B. Gedichte oder Ideen für Geschichten zu erzeugen, kann eine höhere Temperatur besser geeignet sein. Da unsere Aufgabe darin besteht, strukturierte Informationen aus ChatGPT -Eingabeaufforderung zu extrahieren, setzen wir die Temperatur auf 0,0.
Ausgangsparser: Sprachmodelle Ausgabe Text. Aber oft möchten Sie mehr strukturierte Informationen als nur Text erhalten. Hier helfen Ausgabeparser helfen, Sprachmodellantworten zu strukturieren. Es gibt zwei Hauptmethoden, die ein Ausgangsparser implementieren muss:
Für unser promptes Engineering analysieren wir Kundenbewertungen, um 3 Informationen zu extrahieren:
Eine Beispielstruktur der Ausgabe aus einer Überprüfung, die wir analysieren möchten:
{
"gift" : true ,
"delivery_days" : 3 ,
"price_value" : " pretty affordable! "
}Promptierte Vorlage:
For the following text, extract the following information:
gift: Was the item purchased as a gift for someone else?
Answer True if yes, False if not or unknown.
delivery_days: How many days did it take for the product
to arrive? If this information is not found, output -1.
price_value: Extract any sentences about the value or price,
and output them as a comma separated Python list.
text: {text}
{format_instructions}
Hier bezieht sich Text auf die Kundenüberprüfung und format_instructions ist eine Zeichenfolge, die Anweisungen für die Formatierung des Sprachmodells enthält.
Die LLM -Antwort kann dann leicht in den Ausgangsparser eingespeist werden, um strukturierte Daten in unser gewünschtes JSON/Wörterbuch -Format zu erhalten.
Als Beispiel haben wir die folgende Überprüfung verwendet:
This leaf blower is pretty amazing. It has four settings:
candle blower, gentle breeze, windy city, and tornado.
It arrived in two days, just in time for my wife's
anniversary present.
I think my wife liked it so much she was speechless.
So far I've been the only one using it, and I've been
using it every other morning to clear the leaves on our lawn.
It's slightly more expensive than the other leaf blowers
out there, but I think it's worth it for the extra features.
Der Ausgangsparser hat Ausgabe:
{
'gift': False,
'delivery_days': '2',
'price_value': "It's slightly more expensive than the other leaf blowers out there, but I think it's worth it for the extra features."
}