mirror of
https://github.com/SillyTavern/SillyTavern-Extras.git
synced 2026-10-16 21:43:12 +00:00
[GH-ISSUE #23] [Feature request] ChromaDB vector database #20
Labels
No labels
bug
duplicate
planned
pull-request
under consideration
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
SillyTavern/SillyTavern-Extras#20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @maceter on GitHub (May 15, 2023).
Original GitHub issue: https://github.com/SillyTavern/SillyTavern-Extras/issues/23
Add support for
chromadbto manage inlinity context sizes.It's already implemented in oobabooga - https://github.com/oobabooga/text-generation-webui/tree/main/extensions/superbooga
I'll try to make a pull request for this in a week, but if you have some suggestions for api design, please tell.
For now I want to make these endpoints:
/api/chroma/add-message- add message to dbid- some id of message, to sort them chronologicallychat_id- id of chat to storecontent- text of messagerole- user/system/bot/api/chroma/query- query relevant messagesquery- for example, latest user's messagechat_id- id of chat to queryid,chat_id,contentandroleAnd of course this all should be later connected to SillyTavern. There is a very high demand of this feature in ai roleplay communities.
@Cohee1207 commented on GitHub (May 15, 2023):
Looks like an exceptionally good idea, I had this in mind for quite some time already. API structure looks good to me.
ChromaDB also has a node.js port, which is actually better for data persistence, because Extras do not have any way to save data across sessions, this might be a downside for those who use extras on colab. So I guess you could add these straight to SillyTavern's server.js.
@maceter commented on GitHub (May 15, 2023):
Node.JS version requires additional server written in python anyway.
About persistence - just send whole chat history when chat is loaded. It'll take a while to process all data, though.
But it's easier to sync actual chats with db this way.
@Cohee1207 commented on GitHub (May 15, 2023):
Didn't know that. Ok, that makes sense.