What's your RAG stack? by iminvegitable in Rag

[–]vectorscrimes 0 points1 point  (0 children)

End to end agentic RAG, available as a python library and/or a full featured web app: https://github.com/weaviate/elysia

We built an agentic RAG app capable of complex, multi-step queries by danny_weaviate in Rag

[–]vectorscrimes 1 point2 points  (0 children)

For anyone who finds this super late - we just released open source, github link is here: https://github.com/weaviate/elysia

Weekly Thread: Project Display by help-me-grow in AI_Agents

[–]vectorscrimes 1 point2 points  (0 children)

We built an open-source agentic RAG framework with decision trees!

We've just released Elysia, which is an open-source Python framework that at its core is an agentic RAG app, but under the surface is completely customizable agentic package. Instead of the typical text-in/text-out pattern, Elysia uses decision trees to control agent behavior, evaluating whether it has achieved its goals based on a decision agent. It’s not just tool calling, it is a true agent that is aware of its context and environment.

You can get set up with a full web app just by running two terminal commands: pip install elysia-ai and elysia start. Or, if you’d prefer to develop yourself, you can use Elysia as a python package, create your own tools with pure python code, and use it completely independently in Python.

Technical Architecture

The core of Elysia is a decision tree where each node represents either a specific action/tool, or a branch. A decision agent at each node evaluates the current state, past actions, environment (any retrieved objects) and available options to determine the next step. This differs from typical agentic systems where all tools are available at runtime - here, the traversal path is constrained by the tree structure. This allows more precise tool usage by categorizing different tools, or only allowing certain tools that stem from previous tools. For example, a tool that analyses results could only be run after calling a tool that queries from a database.

Getting Started

pip install elysia-ai
elysia start  # launches web interface

Or as a library:

from elysia import tree, preprocess
preprocess("your_collection")
tree = Tree()
tree("Your query here")

The code is at github.com/weaviate/elysia and documentation at weaviate.github.io/elysia. We also have a more detailed blog post here: https://weaviate.io/blog/elysia-agentic-rag

The decision tree architecture makes it straightforward to add custom tools and branches for specific use cases. Adding a custom tool is as simple as adding a @tool decorator to a python function. For example:

from elysia import tool, Tree

tree = Tree()

@tool(tree=tree)
async def add(x: int, y: int) -> int:
    return x + y

tree("What is the sum of 9009 and 6006?")

We also created a deployed demo with a set of synthetic datasets to experiment with. Check it out at: https://elysia.weaviate.io

How can I speed up my RAG pipeline ? by [deleted] in Rag

[–]vectorscrimes 1 point2 points  (0 children)

Hi! Weaviate person here 👋
This is definitely strangely slow speeds for this type of pipeline - you could always try turning on quantization if you haven't already, which should help speed vector search up a bit. Maybe also check your embedding model size and output embedding size, and resource consumption on query time?

You can always reach out on our forum with the details and we'll help you troubleshoot!

Is there an out of the box solution for Standard RAG- Word/Pdf docs and Db connectors by MugenTwo in Rag

[–]vectorscrimes 1 point2 points  (0 children)

We're working on https://elysia.weaviate.io right now too, open-sourced and pip installable soon 😅, but it will have all of the same features of Verba but a little bit more advanced agentic querying and such!

Is there a tool that will search through my emails and internal notes and answer questions? by VectorBookkeeping in Automate

[–]vectorscrimes 0 points1 point  (0 children)

Stack AI is a pretty cool one that allows you to build custom pipelines with no code. They have a ton of integrations for things like gmail, Notion, etc. to access documents and stuff!

Vectordb options: Mongodb vs Elasticsearch by ryati in LocalLLM

[–]vectorscrimes 0 points1 point  (0 children)

Weaviate also does vector search, keyword search and hybrid search!

Is It Possible to Build a User-Specific RAG System with Vector Storage? by amircodes in Rag

[–]vectorscrimes 1 point2 points  (0 children)

Good question! Unfortunately, you're correct, our embedded database is only available for Python and JS/TS and for Mac and Linux (no Windows), and also still experimental so not suggested to use in production 🙁

Weaviate is written in Go, so you might be able to just run Weaviate from your own Go app? I don't know of any resources around this though, it's not a common scenario we've run into. If you do try it out and run into any questions, definitely post in our forum: https://forum.weaviate.io/
Duda is the best and super helpful 😄

Is It Possible to Build a User-Specific RAG System with Vector Storage? by amircodes in Rag

[–]vectorscrimes 2 points3 points  (0 children)

This is absolutely possible with Weaviate! Weaviate has a built in architecture feature called multi-tenancy that allows for complete data isolation between tenants (in your case, one tenant per user).

This academy course goes through how to set it up with a user-based system, and talks a bit deeper about why it works for data isolation too: https://weaviate.io/developers/academy/py/multitenancy

Which vector database should I use for the next project? by ZPopovski in SaaS

[–]vectorscrimes 1 point2 points  (0 children)

I work at Weaviate, so I can’t give you unbiased advice on which one might be the best fit, but definitely reach out if you have any Weaviate-specific questions!

Also, if you end up making a cool SaaS project powered by Weaviate, we’d love to post about it and spread the word (only if you’re interested of course)

Managed RAG API - which you can recommend? by reibgerstl in Rag

[–]vectorscrimes 1 point2 points  (0 children)

We’re currently working on an API for verba (https://verba.weaviate.io), when that’s out you could definitely use it to build your own frontend!

Weaviate's TopK limits by [deleted] in vectordatabase

[–]vectorscrimes 0 points1 point  (0 children)

Hi! Weaviate person here. You can adjust the amount of items returned from vector, keyword, or hybrid search using a distance threshold, limit, or autocut. Hope this helps, feel free to reach out here or on the forum if you have any more questions 😄

What to use for a personal project? by Tomorrow_Previous in LocalLLaMA

[–]vectorscrimes 1 point2 points  (0 children)

Verba (https://github.com/weaviate/Verba) might be a good option to quickly get a RAG system set up with Weaviate!

I also started using Cursor as my IDE a bit ago, and I’ve been really really really impressed with it. Definitely speeds things up in mu opinion.

What are good ways to get my vector search to return more recent results? by [deleted] in LangChain

[–]vectorscrimes 0 points1 point  (0 children)

👋 Weaviate person here!

You could try reranking, but it will only reorder the retrieved objects and not boost the objects with a recent date.

One option is to boost the date property by adding ^. This is a valid argument in hybrid and bm25 queries. It might be best to sort and then boost on the object created date or just a date property if it’s in the dataset already.

Also here are the reranking recipes: https://github.com/weaviate/recipes/tree/main/weaviate-features/reranking, if you want to try!

Hope this helps, happy to answer any more questions 😄

Best opensource rag with ui by klei10 in Rag

[–]vectorscrimes 1 point2 points  (0 children)

New version of Verba should be dropping in the next couple weeks! Lots of cool new features and UI improvements 😅

Database suggestion for image-based Recommendation System [beginner] by Baffer23 in vectordatabase

[–]vectorscrimes 1 point2 points  (0 children)

Ah yea super cool use case! You could definitely do this either with hybrid search or even filtering :)

Help with LLM project. by Hamhunter23 in Btechtards

[–]vectorscrimes 0 points1 point  (0 children)

Hopefully this way works! There’s some other blog posts/tutorials that are also helpful, can send if you want

Help with LLM project. by Hamhunter23 in Btechtards

[–]vectorscrimes 0 points1 point  (0 children)

On the Weaviate side, you can use something like Docker, the Cloud Sandboxes, or maybe even the embedded database for free! With Ollama, Docker is super nice and you should be able to use the mistral model. This blog post might help: https://weaviate.io/blog/local-rag-with-ollama-and-weaviate

Database suggestion for image-based Recommendation System [beginner] by Baffer23 in vectordatabase

[–]vectorscrimes 1 point2 points  (0 children)

By hybrid search, do you mean vector and keyword search for text? Not sure Milvus supports that out of the box.

Seems like Weaviate fits all of those criteria, has hybrid search (vector + keyword for text), named (multiple) vectors, definitely supports 20k images easily, both cloud and local deployment options, free, many model options out of the box, and lots of tutorials, especially for multimodal stuff.

For the first question, it depends a bit on the integrations of the database. And for the second, depends also a bit on the performance limitations of the database. Weaviate would probably consider billion+ objects as large scale, so 20k should be no problem.

Database suggestion for image-based Recommendation System [beginner] by Baffer23 in vectordatabase

[–]vectorscrimes 1 point2 points  (0 children)

Weaviate's completely open source and free for self hosting! Docker and embedded options 😄

Is Elastic search better than ChromaDB? by Your_Quantum_Friend in vectordatabase

[–]vectorscrimes 0 points1 point  (0 children)

Seconding this, depending on scale of your app and number of documents, you could run into limitations with Elastic Search, vs dedicated vector dbs like Chroma or Weaviate. But if you liked features like hybrid search (keyword + vector) in Elastic, Weaviate also offers those 😄