danny-avila / LibreChat

Enhanced ChatGPT Clone: Features Anthropic, AWS, OpenAI, Assistants API, Azure, Groq, o1, GPT-4o, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, langchain, DALL-E-3, ChatGPT Plugins, OpenAI Functions, Secure Multi-User System, Presets, completely open-source for self-hosting. Actively in public development.
https://librechat.ai/
MIT License
17.74k stars 2.94k forks source link

Enhancement: Semantic search for conversation #618

Open HyunggyuJang opened 1 year ago

HyunggyuJang commented 1 year ago

Contact Details

No response

What features would you like to see added?

Currently, meilisearch (exact match) is used for search feature. It would be interesting to see supporting semantic search using vector embedding.

More details

If we can support it, the next stage would be to enable chatbot to access the semantic search result so that all conversations can interact each other.

Which components are impacted by your request?

General

Pictures

No response

Code of Conduct

danny-avila commented 1 year ago

Yes, this is my next big push on the project. I'm wrapping up handling ChatGPT plugins/openAPI specs. Just need to write documentation for this. Then going all in on file indexing/vector integrations.

However, I would like to mention that vector retrieval of documents will be prioritized over messages. Messages, especially contextually will be tricky, unless you explicitly ask the LLM for a look back at previous messages based on a semantic search. I think this last point is the move forward, because then it can function reliably as a plugin.

Ideally, every endpoint/AI provider could benefit from this and I will have to sit down and think of the best design patterns for this. This is kind of a separate point but a necessary refactor moving forward.

A semantic search bar of all messages, similar to meilisearch, would probably be after all the things above.

I've been actively researching all the necessary tools for this and I'm just finalizing on the big picture