Skip to main content

llama-index readers assemblyai integration

Project description

AssemblyAI Audio Transcript Loader

pip install llama-index-readers-assemblyai

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:

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.readers.assemblyai import 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 text
  • SENTENCES: Multiple documents, splits the transcription by each sentence
  • PARAGRAPHS: Multiple documents, splits the transcription by each paragraph
  • SUBTITLES_SRT: One document with the transcript exported in SRT subtitles format
  • SUBTITLES_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

llama_index_readers_assemblyai-0.4.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file llama_index_readers_assemblyai-0.4.0.tar.gz.

File metadata

File hashes

Hashes for llama_index_readers_assemblyai-0.4.0.tar.gz
Algorithm Hash digest
SHA256 820bbc6e9160fedbd74c7f03630c4eff183570a4d7041d25c84fc3beebb73026
MD5 71a1197ba846ca385e764eafec4bb705
BLAKE2b-256 5f404ebec79eef71f93fb769e6ea4f658ec2c367e4fe80d0f945401826e6954c

See more details on using hashes here.

File details

Details for the file llama_index_readers_assemblyai-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_readers_assemblyai-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4a430dc38aa8def3ab855c7e00ddcaf915fa5ed225044c8d7ed05d4dcbc822f
MD5 e8418cfcd40a7435ab444938f0321dd8
BLAKE2b-256 3388fe85968dc4d80ced48afc01f597d4fff859acc7e85e0914984c97a7d5dc2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page