-
-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to use a **single PostgreSQL database** for AnythingLLM database + vector store? #2057
Comments
PGVector support is already an issue that is TBD (#873) because it frankly isn't as easy to just upsert records since everyone's table schema will vary and that detail adds a ton of complexity |
Thank you for the reply and details. I'm not following how Example:
|
What inevitable will occur is people are going to ask "I want table to specifically be a column on x table" which makes the config more complex (since it will also be easier to mess up). We can just do some like |
Hm...yeah, I don't have the mental model of the guts to speak to a solution. I can help organize if its useful. Sounds like you're saying: Option 1:
Option 2:
Did I get these options correctly identified? I'm not exactly sure what |
That is correct, we would create a embedding table for each workspace or have one giant embedding table that has a |
How do these potential Postgresql options compare with how AnythingLLM handles using Pincecone-as-a-vector-store?
If so, seems that Option 1 would be a good way to alternatively store this schema in Postgresql. Some (naïve) rationale:
|
Not that im against supporting the PGVector stuff there is a very good reason we dont make everyone use PG as their database. We currently use LanceDB as the vectordb and SQLite as the regular DB. Both of these require no services or additional setup and are file-based. Operations around using these solutions run on disk and the user never even knows they are there. Setting up a PG instance is easy, but it doesn't port to desktop. The PGVector in the case where someone uses Pinecone certainly saves money, but even PG costs more to run than saving a file to disk like LanceDB :) As stated, we do intend to support PGVector since its still an open issue and it would add to consolidation in your specific stack, but it is not the best solution for every single person. Using PG+vector would have advantages for more replicable instances of AnythingLLM and centralized storage, which is enough of a reason to support it. |
Totally understand. RE: Defaults:
RE: Desktop:
RE: Cost:
We are very excited about the tools your team has created. We are also working hard to realize them in our environment. Thank you so much for the work you do. Chat soon! |
Totally understand why you would want this and I'm fully on the same page. We for sure would not extend this functionality into the desktop client since that really isn't what the desktop client is for - since it's sole purpose is on-device single-player mode. The docker/self-hosted version however makes perfect sense for the reasons and conversation above! |
Hello @timothycarambat, I see that #873 was created exactly 5 months ago. Is there a plan for this enhancement to AnythingLLM? Thank you |
I have a try in gitee, it seems works |
Hello,
Our team has been able to deploy AnythingLLM as an Azure Web App, and by making this change in
schema.prisma
...:...we're able to connect the Web App to an Azure Database for PostgreSQL database.
We want to use this single PostgreSQL database as...:
/app/server/storage
(this is currently mapped to an Azure SMB Fileshare) andpgvector
extension) (we're currently using Pinecone)This means that app storage is split into 3 different locations. We want to simplify this but can't quite figure out how to get the
/app/server/storage
nor the vector store to use this single PostgreSQL database.Could you assist?
Thank you
The text was updated successfully, but these errors were encountered: