Stats

Basic Weaviate repo stats
13
1,204
9.8
2 days ago

semi-technologies/weaviate is an open source project licensed under BSD 3-clause "New" or "Revised" License which is an OSI approved license.

Weaviate Alternatives

Similar projects and alternatives to Weaviate

  • GitHub repo go

    The Go programming language

  • GitHub repo faiss

    A library for efficient similarity search and clustering of dense vectors.

  • GitHub repo bolt

  • GitHub repo annoy

    Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk

  • GitHub repo bbolt

    An embedded key/value database for Go.

  • GitHub repo vald

    Vald. A Highly Scalable Distributed Vector Search Engine

  • GitHub repo filter

    Simple apply/filter/reduce package. (by robpike)

  • GitHub repo ply

    Painless polymorphism (by lukechampine)

  • GitHub repo alvd

    alvd = A Lightweight Vald. A lightweight distributed vector search engine works without K8s.

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better Weaviate alternative or higher similarity.

Posts

Posts where Weaviate has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-05-05.
  • proposal: slices: new package to provide generic slice functions · Issue #45955
    reddit.com/r/golang | 2021-05-05
    For example, take this loop in a dot product function which we had to write in Assembly because what the Go compiler produced wasn't fast enough. The reason it's in assembly is because we can use AVX FMA instructions, but notice how the loop is unrolled 4 times. This unrolling actually brought about as much performance gain as the AVX instructions itself. From what I understand the compiler also does unrolling on regular Go for loops. So, if the additional functional call would prevent the unrolling, this could be a quite noticeable performance penalty.
    reddit.com/r/golang | 2021-05-05
    It's a Vector Database, the gif in the README gives a rough example, here's also a video where my colleague demos some semantic search queries.
  • Introducing Weaviate, a fast modular vector search engine with out of the box support for state-of-the-art ML models written in Go
    reddit.com/r/golang | 2021-04-12
    Docs: https://www.semi.technology/developers/weaviate/current/
    reddit.com/r/golang | 2021-04-12
    For a quick example, see the gif at the top of the GitHub Readme.
  • [P] Weaviate vector search engine (demo gif in readme)
  • Weaviate: A cloud-native, modular, real-time vector search engine
    news.ycombinator.com | 2021-04-09
  • Vald: A Highly Scalable Distributed Vector Search Engine
    news.ycombinator.com | 2021-04-07
    Main author and architect of Weaviate (https://github.com/semi-technologies/weaviate) here. This real-time requirement was one of the major design principles from the get-go in Weaviate.

    In Weaviate, any imported vector is immediately searchable, you can update and delete your objects or the vectors attached to the objects and all results are immediately reflected. In addition every write is written to a Write-Ahead-Log, so that writes are persisted, even if the app crashes.

    We wanted to make sure that Weaviate really combines the advantages of AI-based search with the comfort and guarantees you would expect from an "old school" database or search engine.

    news.ycombinator.com | 2021-04-07
    You might be interested in checking out Weaviate (https://github.com/semi-technologies/weaviate) which supports combining vector search with boolean filters. In Weaviate, the vector index is stored alongside an inverted index, so you get the best of both worlds. At the moment on a filtered search, the inverted index is hit first, so you essentially end up with an allow-list of IDs which are then fed to the vector index. If the id isn't on the allow list the next neighbor is selected and so on.

    There are also plans to further optimize this based on how restrictive the boolean filter is. For example, if the filter still matches a lot of of ids (e.g. 50% of all candidates) the approach outlined above works really well. But if if your filter is extremely restrictive and maybe only matches 1k out of 100M results, then this approach is no longer ideal, as the vector index will discard most of the ids it sees. However, in this case it would be more efficient to actually perform a brute-force search on those 1k vectors. This and other optimizations around combined vector and scalar search are on the roadmap.

    news.ycombinator.com | 2021-04-07
  • V1 of the open-source Vector Search Engine Weaviate released
    reddit.com/r/Database | 2021-01-19
    Developer documentation: https://www.semi.technology/developers/weaviate/current/ Github: https://github.com/semi-technologies/weaviate
  • Show HN: Weaviate Vector Search Engine
    news.ycombinator.com | 2021-01-19
  • Weaviate vector search engine V1 is released!
    reddit.com/r/golang | 2021-01-19
    reddit.com/r/golang | 2021-01-19