首頁 >科技週邊 >人工智慧 >如何使用Langchain和Chatopenai使用GPT-4O音頻預覽

如何使用Langchain和Chatopenai使用GPT-4O音頻預覽

Jennifer Aniston
Jennifer Aniston原創
2025-03-03 09:04:11531瀏覽

>本教程演示瞭如何使用Langchain使用Langchain的OpenAI的GPT-4O-audio-Preigiew模型,用於語音啟用應用程序中的無縫音頻處理。 我們將介紹模型設置,音頻處理,文本和音頻響應生成以及構建高級應用程序。

高級gpt-4o-audio-preiview用例

>本節詳細介紹了高級技術,包括工具綁定和多步工作流,用於創建複雜的AI解決方案。 想像一個語音助手,該語音助手會抄錄音頻

>和>訪問外部數據源 - 本節向您展示瞭如何。 >工具調用

通過集成外部工具或功能,工具調用呼叫可以增強AI功能。 該模型不僅可以處理音頻/文本,還可以與API進行交互,執行計算或訪問天氣數據等信息。

langchain's

方法將外部工具與GPT-4O-audio-preview模型無縫集成。該模型確定了何時以及如何使用這些工具。

>

這是綁定天氣開發工具的一個實踐示例:> bind_tools

此代碼使用OpenWeatherMap API定義了A

工具。 它需要一個位置,獲取天氣數據並返回一個格式的字符串。 >

鏈接任務:多步工作流
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)

GetWeather

>微調gpt-4o-audio-preview

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

>微調允許定制特定任務。例如,醫療轉錄應用程序可以受益於對醫學術語培訓的模型。 OpenAI允許使用自定義數據集進行微調。 (為簡潔而省略了代碼示例,但該概念涉及在 Intantiation中使用微調模型ID。)

實踐:啟用語音的助手

> ChatOpenAI>讓我們構建一個語音助手,該語音助手接受音頻輸入,生成響應並提供音頻輸出。

工作流 從麥克風中捕獲

>

模型轉錄音頻。

轉錄處理以生成響應。
    >
  1. 模型會生成音頻響應。 >
  2. 實現
  3. 此代碼捕獲音頻,轉錄,生成響應並將音頻響應保存到
  4. > file。

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

    結論

    >本教程展示了OpenAI的GPT-4O-Audio-Preiview模型及其與Langchain的集成,用於構建強大的音頻應用程序。 該模型為創建各種基於語音的解決方案提供了堅實的基礎。 (鏈接到根據要求省略的其他Langchain教程的鏈接。)

    >

以上是如何使用Langchain和Chatopenai使用GPT-4O音頻預覽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn