ホームページ >テクノロジー周辺機器 >AI >LangchainとChatopenaiでGPT-4oオーディオプレビューの使用方法
このチュートリアルは、音声対応アプリケーションでのシームレスなオーディオ処理のために、OpenaiのGPT-4O-Audio-PreviewモデルをLangchainで活用する方法を示しています。 モデルのセットアップ、オーディオ処理、テキスト、オーディオ応答の生成、および高度なアプリケーションの構築について説明します。
Advanced GPT-4O-Audio-Previewユースケースこのセクションでは、洗練されたAIソリューションを作成するためのツールバインディングやマルチステップワークフローなど、高度な技術について詳しく説明しています。 オーディオを転写する音声アシスタントを想像してみてください
およびは外部データソースにアクセスします。このセクションでは、どのように表示されますか。 ツール呼び出し
ツール呼び出しは、外部ツールまたは関数を統合することにより、AI機能を強化します。 オーディオ/テキストのみを処理する代わりに、モデルはAPIと対話したり、計算を実行したり、気象データなどの情報にアクセスしたりできます。 Langchainのメソッドは、外部ツールをGPT-4O-Audio-Previewモデルとシームレスに統合します。モデルは、これらのツールをいつ、どのように利用するかを決定します。このコードは、OpenWeatherMap APIを使用してA
ツールを定義します。 場所を取り、天気データを取得し、フォーマットされた文字列を返します。チェーンタスク:マルチステップワークフローbind_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())ツールを使用します。
GetWeather
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)微調整により、特定のタスクのカスタマイズが可能になります。たとえば、医療転写アプリケーションは、医療用語で訓練されたモデルの恩恵を受ける可能性があります。 OpenAIを使用すると、カスタムデータセットで微調整できます。 (Brevityのために省略されたコードの例ですが、概念には
インスタンス化で微調整されたモデルIDを使用することが含まれます。)GetWeather
実用的な例:音声対応アシスタント
オーディオ入力を取り、応答を生成し、オーディオ出力を提供する音声アシスタントを構築しましょう。 ワークフロー
マイクからのオーディオキャプチャ。
ChatOpenAI
モデルはオーディオを転写します。
転写が処理され、応答が生成されます。 モデルはオーディオ応答を生成します。
実装
結論
このチュートリアルでは、OpenaiのGPT-4O-Audio-PreviewモデルとLangchainとの統合を紹介して、堅牢なオーディオ対応アプリケーションを構築しました。 このモデルは、さまざまな音声ベースのソリューションを作成するための強力な基盤を提供します。 (リクエストに従って省略された追加のLangchainチュートリアルへのリンク。)以上がLangchainとChatopenaiでGPT-4oオーディオプレビューの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。