Git Product home page Git Product logo

tjaensch-resume-qa's Introduction

Thomas Jaensch Resume Chat! ๐Ÿš€๐Ÿค–*

This is an interactive resume app built with OpenAI (GPT3.5 Large Language Model), LangChain (LLM plumbing code), Chroma (vector store), and Chainlit (UI). The app is deployed with Docker on Google Cloud Platform.

Live Link on Google Cloud Platform

https://tjaensch-resume-qa-bajcruqfrq-uc.a.run.app/

Chroma Q&A with Sources Element

This repository contains a Chainlit application that provides a question-answering service using documents stored in a Chroma vector store. It allows users to upload PDF documents, which are then chunked, embedded, and indexed for efficient retrieval. When a user asks a question, the application retrieves relevant document chunks and uses OpenAI's language model to generate an answer, citing the sources it used.

High-Level Description

The app.py script performs the following functions:

  1. PDF Processing (process_pdfs): Chunks PDF files into smaller text segments, creates embeddings for each chunk, and stores them in Chroma.
  2. Document Indexing (index): Uses SQLRecordManager to track document writes into the vector store.
  3. Question Answering (on_message): When a user asks a question, the application retrieves relevant document chunks and generates an answer using OpenAI's language model, providing the sources for transparency.

Code Definitions

  • process_pdfs: Function that processes PDF files and indexes them into Chroma.
  • on_chat_start: Event handler that sets up the Chainlit session with the necessary components for question answering.
  • on_message: Event handler that processes user messages, retrieves relevant information, and sends back an answer.
  • PostMessageHandler: Callback handler that posts the sources of the retrieved documents as a Chainlit element.

Screenshot


* Template code from the Chainlit cookbook repo https://github.com/Chainlit/cookbook/tree/main/chroma-qa-chat

tjaensch-resume-qa's People

Contributors

tjaensch avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.