Giter VIP home page Giter VIP logo

quivrhq / quivr Goto Github PK

View Code? Open in Web Editor NEW
32.3K 272.0 3.1K 89.71 MB

Your GenAI Second Brain 🧠 A personal productivity assistant (RAG) ⚡️🤖 Chat with your docs (PDF, CSV, ...) & apps using Langchain, GPT 3.5 / 4 turbo, Private, Anthropic, VertexAI, Ollama, LLMs, Groq that you can share with users ! Local & Private alternative to OpenAI GPTs & ChatGPT powered by retrieval-augmented generation.

Home Page: https://quivr.app

License: Apache License 2.0

Python 40.91% Dockerfile 0.44% CSS 0.44% JavaScript 2.18% TypeScript 43.62% PLpgSQL 7.61% Makefile 0.07% SCSS 4.59% Shell 0.13%
ai llm api chatbot chatgpt database docker frontend openai postgresql

quivr's People

Contributors

b0rra avatar chloemouret avatar dheerapat avatar eltociear avatar evancarlson avatar github-actions[bot] avatar gozineb avatar hdavidviloria avatar imadi-arch avatar joelsprunger avatar klaudioz avatar mamadoudicko avatar matthieujacq avatar mattzcarey avatar metanov avatar michaeltansg avatar murtazahr avatar nguernse avatar nilsjacobsen avatar porter-deployment-app[bot] avatar ravikiranp123 avatar renovate[bot] avatar ruben1701 avatar shaunwei avatar shuruheel avatar stangirard avatar stepanlebedevtheodo avatar vankeer avatar zewed avatar zongziwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quivr's Issues

Debugging a critical failure

Before building quivr out further, I would like to look into this problem: https://twitter.com/bitfalls/status/1657736877007405056?s=20

Specifically, I fed it around 30 markdown documents, but it looks like it does not really follow context and has no real idea what is going on. Every article has a "status" at the top, and when I asked it to give me all active ones, it just gives me random ones, while asking for the status of one I know is active it tells me it is active. This shows me that it can check for status of a targeted ask, but cannot reason on the whole corpus of information. I wonder why this happens and if we can debug it, because unless this is resolved, Quivr is dangerously unreliable to use.

@StanGirard any ideas on what to do to test this and come to a satisfactory output?

Add answers to context

As discussed here.

The ideal UX flow would be:

  • on answer, add three buttons

      1. Build on answer
      1. New context answer
      1. Fork context
  • "Build on answer" adds this question and answer to the DB for future queries.

  • "New context answer" works as it does now, fresh context API call with only current raw-data vectors, previous questions and answers are ignored, even if there are some.

  • "Fork context" allows you to branch off of a certain answer (even past ones) with a different query, like so: suppose there was Context 0 -> Question 1 -> Answer 1 -> Question 2 -> Answer 2. I can scroll up to Answer 1, click Fork Context, and the next query I write will pretend Question 2 and Answer 2 never happened. This allows the user to have branched context-persistent conversations with the API and the ability to fine tune responses from the past based on new prompt insights from the future. It is also very useful for prompt auditing and reporting.

I understand 3) is very hard to build right now as it also requires a separate UI element for the forked conversations so 1) and 2) would be good enough, especially 1) which is very important in longer-context plans.

Stuck at Please wait

The browser shows "PLEASE WAIT " indefinetly. Any ideas? All dependencies installed correctly, ran table creation script in supabase successfully, tried credentials in secrets.toml with and without quotes.
Screenshot 2023-05-15 at 18 50 35

Turn on discussions?

Might be better than issues for discussing future plans / other libraries etc.

Roadmap

Stack End Goal:

  • Python with FastAPI for the Backend
  • NextJS for the WebAPP
  • Electron + NextJS Desktop App

All future code will go toward this.

Looking for NextJS experts ;)

Vector Stores to implement:

  • Weaviate
  • Chromadb

LLM support

  • GPT4all
  • Llama
  • Whisper alternative

Features

  • Copy/Paste information #19
  • Training brain with its answers #16
  • Sources to output #11
  • Self Hosting LLM and Embeddings #5
  • History of answers #13
  • Zip Ingestion

Language Support

Everything is fine, but this prompt does not support languages other than English

Copy/Paste Content

Allow users to copy paste content in a text.input_area

Looking for a contributor

Website redesign for www.quivr.app

Hi there, I would like to work on the website redesign for quivr.app. Could you please assign this issue to me? I have experience with website design and development with Next JS, and I am excited to contribute to this project. Thank you!

Deploying on Vercel ?

Could you please show how to deploy this project on Vercel for better access, (such as how to set the needed openai_api_key\supabase_service_key\supabase_url, etc, tried to set them into the env.vars but got 404), thanks!

Cloud Version

Deploy the app to streamlit

Needs to load the API_KEY and all via the streamlit app.

It means adding a configuration box to ask the users for their API_KEYS instead of reading it from a secret

add source to output

Hi,

would be great if you could add a link to the referenced document in the output.

thanks

Whisper limits

Whisper API limits upload to 25MB. If it is case maybe you will need to chunk the audio file before processsing

Additional prerequisite: pycryptodome

Hi,

I was just trying to install this code and it failed for me because I did not have pycryptodome, so I was wondering if it would be good to add it to the list?

This was on a new clean install of Ubuntu 22.04

Joe

How do I run this step?

Run the migration script on the Supabase database via the web interface

Sorry, I'm new to this stuff and this simple sentence is very beginner-unfriendly to me. Could you point me out where to find the web interface?

filter based on the file_name in metadata

Hey, your app is really great. a filter based on the file_name in metadata while calling ConversationalRetrievalChain would be great so that I can ask questions to selected documents only.

Multiple brains with their own data and settings

Individuals and organizations would need multiple brains depending on the use case. For example, I may create separate brains for programming, growth strategy, product management, philosophy, negotiation, healthcare innovation, politics, and artificial intelligence.

Each could require its own set documents, chunk size, chunk overlap, foundation model, and in the future, even its own data model. For example, each brain may require not just retrieval of context relevant to the query, but for the retrieved context to cover various types of data. For a financial advisor, depending on the query, it may make sense for the context to include some mix of news, market data, and applied reasoning data (equity research reports).

Error uploading files on Windows

I got Quivr up and running, Windows 10, but am having issues when I try to upload a file. It seems it doesn't have permission to access the Temp folder? It should as far as I can tell.

PermissionError: [Errno 13] Permission denied: 'C:\Users\29158~1.1E1\AppData\Local\Temp\tmpl5t8vu99.txt'
Traceback:

File "C:\Users\Laptop\Documents\GitHub\quivr\venv\Lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 565, in _run_script
exec(code, module.dict)
File "C:\Users\Laptop\Documents\GitHub\quivr\main.py", line 66, in
file_uploader(supabase, openai_api_key, vector_store)
File "C:\Users\Laptop\Documents\GitHub\quivr\files.py", line 37, in file_uploader
file_processors[file_extension](vector_store, file)
File "C:\Users\Laptop\Documents\GitHub\quivr\loaders\txt.py", line 5, in process_txt
return process_file(vector_store, file, TextLoader, ".txt")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Laptop\Documents\GitHub\quivr\loaders\common.py", line 19, in process_file
documents = loader.load()
^^^^^^^^^^^^^
File "C:\Users\Laptop\Documents\GitHub\quivr\venv\Lib\site-packages\langchain\document_loaders\text.py", line 17, in load
with open(self.file_path, encoding=self.encoding) as f:

Input Zip File

Allow users to load a zip that will be de-zipped

Looking for a contributor

Should this work with the free version of OpenAI?

Hi,

Should one be able to test this system with the free version of OpenAI?

I have managed to install all of the software but I received an error saying I had reached my OpenAI limit when trying to upload my first PDF.

I am currently exploring the alternative Anthropic models as well.

Thanks

Joe

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.