llama-index readers assemblyai integration
Project description
AssemblyAI Audio Transcript Loader
The AssemblyAI Audio Transcript Loader allows to transcribe audio files with the AssemblyAI API and loads the transcribed text into documents.
To use it, you should have the assemblyai
python package installed, and the environment variable ASSEMBLYAI_API_KEY
set with your API key. Alternatively, the API key can also be passed as an argument.
More info about AssemblyAI:
Installation
First, you need to install the assemblyai
python package.
You can find more info about it inside the assemblyai-python-sdk GitHub repo.
pip install assemblyai
Optionally: You can install the AssemblyAI integration yourself with:
pip install llama-index-readers-assemblyai
Then you can import it with:
from llama_index.readers.assemblyai import AssemblyAIAudioTranscriptReader
As an alternative, you can also use the download_loader()
to install and use this integration (see next section).
Usage
The AssemblyAIAudioTranscriptReader
needs at least the file_path
argument. Audio files can be specified as an URL or a local file path.
from llama_index.core import download_loader
AssemblyAIAudioTranscriptReader = download_loader(
"AssemblyAIAudioTranscriptReader"
)
audio_file = "https://storage.googleapis.com/aai-docs-samples/nbc.mp3"
# or a local file path: audio_file = "./nbc.mp3"
reader = AssemblyAIAudioTranscriptReader(file_path=audio_file)
docs = reader.load_data()
Note: Calling reader.load_data()
blocks until the transcription is finished.
The transcribed text is available in the text
:
docs[0].text
# "Load time, a new president and new congressional makeup. Same old ..."
The metadata
contains the full JSON response with more meta information:
docs[0].metadata
# {'language_code': <LanguageCode.en_us: 'en_us'>,
# 'audio_url': 'https://storage.googleapis.com/aai-docs-samples/nbc.mp3',
# 'punctuate': True,
# 'format_text': True,
# ...
# }
Transcript Formats
You can specify the transcript_format
argument for different formats.
Depending on the format, one or more documents are returned. These are the different TranscriptFormat
options:
TEXT
: One document with the transcription textSENTENCES
: Multiple documents, splits the transcription by each sentencePARAGRAPHS
: Multiple documents, splits the transcription by each paragraphSUBTITLES_SRT
: One document with the transcript exported in SRT subtitles formatSUBTITLES_VTT
: One document with the transcript exported in VTT subtitles format
from llama_index.readers.assemblyai import TranscriptFormat
reader = AssemblyAIAudioTranscripReader(
file_path="./your_file.mp3",
transcript_format=TranscriptFormat.SENTENCES,
)
docs = reader.load_data()
Transcription Config
You can also specify the config
argument to use different audio intelligence models.
Visit the AssemblyAI API Documentation to get an overview of all available models!
import assemblyai as aai
config = aai.TranscriptionConfig(
speaker_labels=True, auto_chapters=True, entity_detection=True
)
reader = AssemblyAIAudioTranscriptReader(
file_path="./your_file.mp3", config=config
)
Pass the API Key as argument
Next to setting the API key as environment variable ASSEMBLYAI_API_KEY
, it is also possible to pass it as argument.
reader = AssemblyAIAudioTranscriptReader(
file_path="./your_file.mp3", api_key="YOUR_KEY"
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for llama_index_readers_assemblyai-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75012a95ef6698cf3607b4097fab68049f79fd8e1ea6653df4dd8def1438ec1c |
|
MD5 | 3d9a0d627bff2647a1b2dd6eee5fe00c |
|
BLAKE2b-256 | aa15a59a434d6f78facc9e8f3ab9bae0ad73ed20677818a987076b2feffdad8e |
Hashes for llama_index_readers_assemblyai-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dad1e237ec65cb6b14b7114c577297704c1b03da76e4c6d6af586f31874f583 |
|
MD5 | d897dfb462d84719df5bcb66217df324 |
|
BLAKE2b-256 | a3299adf82f77a5a434878daad4f6b30603c46f85a4e3a1336b9deeac9251ff8 |