Skip to content

[Suggestion] LlamaIndex audio document loader and RAG pipeline with Deepgram (Python) #289

Description

@deepgram-robot

What to build

A working example showing how to use Deepgram as an audio document loader for LlamaIndex, enabling retrieval-augmented generation (RAG) over audio content. The pipeline should transcribe audio files using Deepgram STT, load them as LlamaIndex Documents with metadata (speakers, timestamps, topics), index them in a vector store, and enable natural language queries over the audio content.

Why this matters

LlamaIndex is one of the two dominant RAG frameworks (alongside LangChain), and developers building knowledge bases frequently need to include audio sources — meeting recordings, lectures, podcasts, customer calls. There's no existing LlamaIndex integration for Deepgram, meaning developers building audio RAG pipelines must write custom loaders from scratch. A first-class loader makes Deepgram the default audio ingestion layer for the LlamaIndex ecosystem.

Suggested scope

  • Language: Python
  • Framework: LlamaIndex (latest stable, llamaindex-core)
  • Deepgram APIs: Pre-recorded STT (Nova-3), Audio Intelligence (topics, summarization, entity detection)
  • Components: Custom DeepgramAudioReader implementing LlamaIndex's BaseReader interface
  • Vector store: Simple in-memory or ChromaDB for demonstration
  • Demo: Transcribe a set of audio files, index them, then query with natural language ("What was discussed about the Q3 budget?")
  • Complexity: Intermediate

Acceptance criteria

  • Runnable with minimal setup (clone, add API key, run)
  • README explains the pattern clearly
  • Uses current SDK versions for both Deepgram and LlamaIndex
  • DeepgramAudioReader properly implements the LlamaIndex reader interface
  • Transcription metadata (speakers, timestamps) is preserved in Document metadata
  • Includes sample audio files or URLs for testing
  • Demonstrates query over transcribed audio content

Raised by the DX intelligence system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions