Heim >Technologie-Peripheriegeräte >KI >So verwenden Sie GPT-4O-Audio-Vorschau mit Langchain und Chatopenai
Dieses Tutorial zeigt, wie das GPT-4O-Audio-Präview-Modell von OpenAI mit Langchain für die nahtlose Audioverarbeitung in sprachfähigen Anwendungen eingesetzt wird. Wir werden das Modell -Setup, die Audioverarbeitung, die Erzeugung von Text- und Audioantwort abdecken und erweiterte Anwendungen erstellen.
Advanced GPT-4O-Audio-Preview-Anwendungsfälle
In diesem Abschnitt werden fortgeschrittene Techniken beschrieben, einschließlich Toolbindung und mehrstufigen Workflows zum Erstellen hoch entwickelter KI-Lösungen. Stellen Sie sich einen Sprachassistenten vor, der Audio und auf externe Datenquellen transkribiert. Dieser Abschnitt zeigt Ihnen, wie.
Toolaufruf verbessert die KI -Funktionen durch Integration externer Tools oder Funktionen. Anstatt ausschließlich Audio/Text zu verarbeiten, kann das Modell mit APIs interagieren, Berechnungen ausführen oder Informationen wie Wetterdaten ausführen.
Langchains bind_tools
-Methode integriert nahtlos externe Tools in das GPT-4O-Audio-Präview-Modell. Das Modell bestimmt, wann und wie diese Tools verwendet werden.
Hier ist ein praktisches Beispiel für die Bindung eines Wetterfetch-Tools:
import requests from pydantic import BaseModel, Field class GetWeather(BaseModel): """Fetches current weather for a given location.""" location: str = Field(..., description="City and state, e.g., London, UK") def fetch_weather(self): API_KEY = "YOUR_API_KEY_HERE" # Replace with your OpenWeatherMap API key url = f"http://api.openweathermap.org/data/2.5/weather?q={self.location}&appid={API_KEY}&units=metric" response = requests.get(url) if response.status_code == 200: data = response.json() return f"Weather in {self.location}: {data['weather'][0]['description']}, {data['main']['temp']}°C" else: return f"Could not fetch weather for {self.location}." weather_tool = GetWeather(location="London, UK") print(weather_tool.fetch_weather())
Dieser Code definiert ein GetWeather
Tool mithilfe der OpenWeatherMap -API. Es benötigt einen Ort, holt Wetterdaten und gibt eine formatierte Zeichenfolge zurück.
Kettenaufgaben ermöglichen komplexe, mehrstufige Prozesse, die mehrere Tools und Modellaufrufe kombinieren. Zum Beispiel könnte ein Assistent Audio transkribieren und dann eine Aktion basierend auf dem transkribierten Standort ausführen. Lassen Sie uns die Audio -Transkription mit einem Wetter -Lookup anketten:
import base64 import requests from pydantic import BaseModel, Field from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI # (GetWeather class remains the same as above) llm = ChatOpenAI(model="gpt-4o-audio-preview") def audio_to_text(audio_b64): messages = [("human", [{"type": "text", "text": "Transcribe:"}, {"type": "input_audio", "input_audio": {"data": audio_b64, "format": "wav"}}])] return llm.invoke(messages).content prompt = ChatPromptTemplate.from_messages([("system", "Transcribe audio and get weather."), ("human", "{text}")]) llm_with_tools = llm.bind_tools([GetWeather]) chain = prompt | llm_with_tools audio_file = "audio.wav" # Replace with your audio file with open(audio_file, "rb") as f: audio_b64 = base64.b64encode(f.read()).decode('utf-8') result = chain.run(text=audio_to_text(audio_b64)) print(result)
Dieser Code transkreibt Audio, extrahiert den Ort und verwendet das GetWeather
-Werwerkzeug, um das Wetter für diesen Ort zu holen.
Feinabstimmung GPT-4O-Audio-Preview
Feinabstimmung ermöglicht die Anpassung für bestimmte Aufgaben. Beispielsweise könnte eine medizinische Transkriptionsanwendung von einem Modell profitieren, das in medizinischer Terminologie geschult wurde. OpenAI ermöglicht eine Feinabstimmung mit benutzerdefinierten Datensätzen. (Code-Beispiel für die Kürze weggelassen, aber das Konzept beinhaltet die Verwendung einer fein abgestimmten Modell-ID in der ChatOpenAI
-Pleiter.)
Praktisches Beispiel: Voice-fähiger Assistent
Erstellen wir einen Sprachassistenten, der Audioeingang nimmt, eine Antwort erzeugt und eine Audioausgabe liefert.
import base64 from langchain_openai import ChatOpenAI llm = ChatOpenAI(model="gpt-4o-audio-preview", temperature=0, model_kwargs={"modalities": ["text", "audio"], "audio": {"voice": "alloy", "format": "wav"}}) audio_file = "input.wav" # Replace with your audio file with open(audio_file, "rb") as f: audio_b64 = base64.b64encode(f.read()).decode('utf-8') messages = [("human", [{"type": "text", "text": "Answer this question:"}, {"type": "input_audio", "input_audio": {"data": audio_b64, "format": "wav"}}])] result = llm.invoke(messages) audio_response = result.additional_kwargs.get('audio', {}).get('data') if audio_response: audio_bytes = base64.b64decode(audio_response) with open("response.wav", "wb") as f: f.write(audio_bytes) print("Audio response saved as response.wav") else: print("No audio response.")
Dieser Code erfasst Audio, transkribiert es, generiert eine Antwort und speichert die Audio -Antwort auf eine .wav
Datei.
Schlussfolgerung
Dieses Tutorial präsentierte das GPT-4O-Audio-Präview-Modell von OpenAI und seine Integration in Langchain zum Aufbau robuster audio-fähiger Anwendungen. Das Modell bietet eine starke Grundlage für die Erstellung verschiedener sprachbasierter Lösungen. (Links zu zusätzlichen Langchain -Tutorials wie angefordert weggelassen.)
Das obige ist der detaillierte Inhalt vonSo verwenden Sie GPT-4O-Audio-Vorschau mit Langchain und Chatopenai. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!