ホームページ >テクノロジー周辺機器 >AI >LangchainとChatopenaiでGPT-4oオーディオプレビューの使用方法

LangchainとChatopenaiでGPT-4oオーディオプレビューの使用方法

Jennifer Aniston
Jennifer Anistonオリジナル
2025-03-03 09:04:11528ブラウズ

このチュートリアルは、音声対応アプリケーションでのシームレスなオーディオ処理のために、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

微調整gpt-4o-audio-preview

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

実用的な例:音声対応アシスタントHow to Use GPT-4o Audio Preview With LangChain and ChatOpenAI

オーディオ入力を取り、応答を生成し、オーディオ出力を提供する音声アシスタントを構築しましょう。 ワークフロー

マイクからのオーディオキャプチャ。

ChatOpenAIモデルはオーディオを転写します。

転写が処理され、応答が生成されます。 モデルはオーディオ応答を生成します。

実装

    このコードはオーディオをキャプチャし、それを転写し、応答を生成し、オーディオ応答を
  1. ファイルに保存します。

    How to Use GPT-4o Audio Preview With LangChain and ChatOpenAI

    結論

    このチュートリアルでは、OpenaiのGPT-4O-Audio-PreviewモデルとLangchainとの統合を紹介して、堅牢なオーディオ対応アプリケーションを構築しました。 このモデルは、さまざまな音声ベースのソリューションを作成するための強力な基盤を提供します。 (リクエストに従って省略された追加のLangchainチュートリアルへのリンク。)

以上がLangchainとChatopenaiでGPT-4oオーディオプレビューの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。