Skip to content

canuysal/persona

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Persona

Persona is a Q&A chatbot for individuals. You can give it some context (RAG) with pdf, odt or text files and serve it on your webpage. You can also have chat messages delivered to your telegram account with your bot.

Live Demo: https://canuysal.vercel.app

How to use

LangChain Server (LangServe)

  • Get a ChatGPT API KEY.
  • mv .env.sample .env and fill the variables.
  • Install dependencies:
    sudo apt install pandoc
    conda create --name persona -c conda-forge python=3.11
    conda activate persona
    pip install -r requirements.txt
    
    Out of the box only .odt and .txt files are supported. If you want to parse pdf, install unstructured[pdf] package as well. It requires pytorch and makes the docker image too large.
  • Place your resume in the /data
  • Run the server with python ./server.py

Frontend

  • cd frontend
  • yarn install
  • mv .env.sample .env and fill the variables.
  • yarn dev

Telegram logging

  • Create a telegram bot with @BotFather: guide
  • Start the bot using /start (only required after bot creation)
  • Get your telegram chat id from @userinfobot.
  • Set environment variables.

TODO

  • Live demo
  • GDrive / S3 Bucket support.
  • Memory

About

Q&A chatbot based on user provided context (resume, articles, webpages..). Python (LangChain) & Next.js

Topics

Resources

Stars

Watchers

Forks

Contributors