Built an end-to-end web application using,

  • ChromaDB
  • Langchain
  • Streamlit
  • Transformers
  • AWS S3

Summary

It can handle multiple input types, use various large language models (LLMs) locally or via an API, supports multiple speech-to-text models, etc.

It has three main components built with Python, the UI, the Middleware service and the LLM Service.

The Middleware service is responsible for interacting with 3rd party services like Deepgram, AWS, etc., and passes relevant data to the LLM service.

The LLM service is responsible for handling everything from loading models from huggingface to fetching and preparing context from Vector Databases.

Q&A from a PDF

Extracting information from a PDF and answering questions by using it as context.

Q&A from an Audio Sample

Converting the audio sample into transcript using OpenAI’s Whisper or Deepgram’s Nova, then using this data as context for question answering.

Source repositories: Onyx-AI-Studio/studio-ui-streamlit, Onyx-AI-Studio/studio-middleware-service, Onyx-AI-Studio/studio-llm-service