simila

module
v0.50.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2023 License: Apache-2.0

README

build docker License

Simila

Simila enables syntactic and semantic search across custom data sources.

Features

  • Syntactic full-text search capabilities leveraged by popular search engines.
  • Semantic search powered by large language models.
  • Flexible deployment configurations — run on-premises or use cloud services.
  • Unified API for seamless integration.
  • Tools for search through structured and unstructured data sources.
  • Ability to search through both private and publicly available data sources.

General information

Simila is a service written in Golang. It exposes RESTful and gRPC-based APIs to facilitate data ingestion and text search capabilities. Under the hood, Simila provides syntactic search functionality, leveraging popular full-text search engines such as Postgres (supported), Elasticsearch, Bleve, etc. For semantic search, a Large Language Model (LLM) may be employed to generate embeddings, enabling semantic search over a vector database (currently supported on Postgres).

To run Simila, you need at least two components: the Simila service and the Simila database. The Simila service is an executable that can be built from the source in the repository or downloaded as a Docker container. The Simila database is a component that supports both full-text and vector search. In a minimalistic configuration, Postgres can be used as the Simila database.

Semantic search capabilities are provided by integrating with an LLM model for calculating embeddings. These embeddings are then stored in the Simila database and being used for the semantic search.

API

The Simila API is based on the concepts and available over gRPC and HTTP protocols.

How to run

Here are some examples, how Simila can be run:

License

Apache License 2.0, see LICENSE.

Directories

Path Synopsis
api
genpublic/v1
Package similapi provides primitives to interact with the openapi HTTP API.
Package similapi provides primitives to interact with the openapi HTTP API.
cmd
examples
pkg
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL