只需 5 分钟,即可学会如何使用 Python 构建 LangChain 音频应用程序!
由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!
本指南将教您如何使用 Langchain 导入音频数据,并借助 LangChain 与 AssemblyAI 的最新集成,开发一个能够回答有关音频文件查询的应用程序。
LangChain是什么?
LangChain由 Harrison Chase 开发,于 2022 年 10 月首次亮相,它是一个开源平台,旨在构建由大型语言模型驱动的强大应用程序,例如 ChatGPT 等聊天机器人和各种定制应用程序。
Langchain 旨在为数据工程师提供一套全面的工具包,以便在各种用例中使用 LLM,例如聊天机器人、自动问答、文本摘要等等。
在我的另一篇教程中,您可以了解更多关于LangChain 和大型语言模型(LLM) 的信息。
使用 LangChain 构建 LLM 应用程序的入门指南!
帕万·贝拉加蒂 ・ 2023 年 8 月 30 日
AssemblyAI是什么?
AssemblyAI提供最快捷的 AI 音频解决方案。利用简单易用的 API,即可调用专为语音转录和理解而设计的即用型 AI 模型。作为一家专注于应用 AI 的公司,AssemblyAI 致力于开发、训练和部署前沿 AI 模型,以便开发人员和产品团队能够将其无缝集成到他们的应用程序或产品中。
教程
LangChain 提供与 AssemblyAI 的集成,使您只需几行代码即可导入音频数据。
创建并激活新的虚拟环境
# Mac/Linux:
python3 -m venv venv
. venv/bin/activate
# Windows:
python -m venv venv
.\venv\Scripts\activate.bat
安装 LangChain 和 AssemblyAI Python 包
pip install langchain
pip install assemblyai
设置您的 AssemblyAI API 密钥。您可以在这里获取免费的 API 密钥。
【注:本教程示例将使用mp3音频文件链接。音频内容为对约翰·霍普金斯大学环境健康与工程系副教授彼得·迪卡洛的采访,他探讨了加拿大山火对美国空气质量的影响。采访内容涵盖了导致烟雾扩散的因素、空气中高浓度颗粒物带来的健康风险、弱势群体以及气候变化可能导致的空气质量恶化。】
创建一个Python文件demo.py,并添加以下代码。
import assemblyai as aai
# replace with your API token
aai.settings.api_key = f"Your API Key"
# URL of the file to transcribe
FILE_URL = "https://github.com/AssemblyAI-Examples/audio-examples/raw/main/20230607_me_canadian_wildfires.mp3"
transcriber = aai.Transcriber()
transcript = transcriber.transcribe(FILE_URL)
print(transcript.text)
现在,使用以下命令运行应用程序。
Python3 demo.py
让我们使用 OpenAI 添加问答功能
获取 OpenAI API 密钥并进行设置。
在终端的应用程序文件夹内,设置 OPENAI API 密钥。
export OPENAI_API_KEY=<Your API Key>
返回你的demo.py文件,修改代码以使其能够处理问答格式。
from langchain.document_loaders import AssemblyAIAudioTranscriptLoader
from langchain.llms import OpenAI
from langchain.chains.question_answering import load_qa_chain
FILE_URL = "https://github.com/AssemblyAI-Examples/audio-examples/raw/main/20230607_me_canadian_wildfires.mp3"
loader = AssemblyAIAudioTranscriptLoader(FILE_URL)
docs = loader.load()
llm = OpenAI()
qa_chain = load_qa_chain(llm, chain_type="stuff")
answer = qa_chain.run(input_documents=docs,
question="Where did the wildfire start?")
print(answer)
使用该命令运行应用程序Python3 demo.py,您应该会看到以下输出。这应该能解答您的问题。
The wildfires started in Canada.
我们再换个问题。我们来问问,那位被叫来谈论加拿大野火问题的教授叫什么名字?
答案应该是Peter DiCarlo
让我们来问问how did it impact the health of people?
吧。以下是您应该得到的答案。
Exposure to high levels of particulate matter in the air can lead to a host of health problems, including impacts to the respiratory system, cardiovascular system, and neurological system. People most vulnerable are those whose bodies are still developing (children), the elderly, and people with preexisting health conditions.
持续提出与音频相关的问题,聊天机器人就会持续回答你的问题。
我希望这篇简短易懂的教程能帮助你学习如何搭建虚拟环境、安装必要的软件包,以及编写 Python 代码来转录音频文件。使用 LangChain 和 AssemblyAI 会让你的应用更加独特。更重要的是,你集成了 OpenAI 的 API,为你的应用添加了问答功能,使其不仅是一个转录工具,更是一个用于音频数据分析的交互式平台。
文章来源:https://dev.to/pavanbelagatti/learn-how-to-build-a-langchain-audio-app-with-python-in-just-5-minutes-n4o
