Узнайте, как создать аудиоприложение LangChain на Python всего за 5 минут!
В этом руководстве вы узнаете, как импортировать аудиоданные с помощью Langchain и разработать приложение, способное отвечать на запросы об аудиофайле, благодаря новейшей интеграции LangChain с AssemblyAI.
Что такое LangChain?
Разработанная Харрисоном Чейзом и дебютировавшая в октябре 2022 г. LangChain представляет собой платформу с открытым исходным кодом, предназначенную для создания надежных приложений на основе больших языковых моделей, таких как чат-боты типа ChatGPT и различные специализированные приложения.
Langchain призвана вооружить инженеров по обработке данных всеобъемлющим набором инструментов для использования больших языковых моделей в различных областях применения, таких как чат-боты, автоматизированные ответы на вопросы, резюмирование текстов и т.д.
Подробнее о LangChain и больших языковых моделях (LLM) читайте в другом моем учебном пособии.
AssemblyAI предлагает самый быстрый путь к аудиорешениям на базе ИИ. Воспользуйтесь простым API, чтобы подключиться к готовым моделям ИИ, предназначенным для транскрипции и понимания речи. Компания AssemblyAI, специализирующаяся на прикладном ИИ, занимается разработкой, обучением и внедрением передовых моделей ИИ, которые разработчики и команды разработчиков могут легко внедрять в свои приложения и продукты.
Учебное пособие
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
Установите свой API-ключ AssemblyAI. Вы можете получить свой бесплатный 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
Получите ключ API OpenAI и установите его.
На терминале в папке с приложением установите ключ API OPENAI.
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 и вы увидите следующий результат. Это должен быть ответ на ваш вопрос.
Лесные пожары начались в Канаде.
Изменим вопрос еще раз. Спросим, как звали профессора, которого вызвали рассказать о лесных пожарах в Канаде.
Ответ должен быть Питер ДиКарло.
Спросим, как это повлияло на здоровье людей?
Ниже приводится ответ, который вы должны получить.
Воздействие высоких концентраций твердых частиц в воздухе может привести к целому ряду проблем со здоровьем, включая поражение дыхательной, сердечно-сосудистой и неврологической систем. Наиболее уязвимыми являются люди с еще не сформировавшимся организмом (дети), пожилые люди и люди с уже имеющимися заболеваниями.
Продолжайте задавать вопросы, связанные с аудио, и чат-бот будет отвечать на ваши вопросы.
Надеюсь, этот небольшой и простой учебник помог вам научиться настраивать виртуальную среду, устанавливать необходимые пакеты и писать код на Python для расшифровки аудиофайлов. Использование LangChain и AssemblyAI делает его более уникальным. Более того, вы интегрировали API OpenAI и добавили в свое приложение функцию ответа на вопросы, превратив его не просто в инструмент транскрипции, а в интерактивную платформу для анализа аудиоданных.