Clivern / Tyran

🐺 A Vector Search as a Service.
https://shorturl.at/N0dPH
MIT License
3 stars 1 forks source link

Tyran Logo

Tyran

A Vector Search as a Service.

Tyran Chart


Tyran is a vector search as a service, designed to efficiently retrieve relevant context for large language models (LLMs). Tyran organizes documents alongside their associated metadata, such as topic, project or team, to enhance the search process.

Quick Start

[!IMPORTANT]

Make sure you have docker and docker-compose installed for the quick start.

To run Tyran with sqlite and qdrant on port 8000 on docker.

$ wget https://raw.githubusercontent.com/Clivern/Tyran/main/docker-compose-sqlite.yml \
    -O docker-compose.yml

$ export OPENAI_API_KEY=~~key goes here~~

$ docker-compose up -d

To run Tyran with mysql and qdrant on port 8000 on docker.

$ wget https://raw.githubusercontent.com/Clivern/Tyran/main/docker-compose-mysql.yml \
    -O docker-compose.yml

$ export DB_USERNAME=tyran
$ export DB_PASSWORD=D1q9f0C2PEW
$ export OPENAI_API_KEY=~~key goes here~~

$ docker-compose up -d

To test the setup, create a simple document and then query it.

$ curl -X POST \
  http://127.0.0.1:8000/api/v1/document \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"content": "Hello World", "metadata": {"type":"testdata"}}'

{
  "id": "3d0ffff3-5d05-46e3-84c3-b805aad93a81",
  "content": "Hello World",
  "metadata": {
    "type": "testdata"
  },
  "createdAt": "2024-09-06T11:16:00",
  "updatedAt": "2024-09-06T11:16:00"
}

$ curl -X POST \
  http://127.0.0.1:8000/api/v1/document/search \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{"text": "hi world", "limit": 1, "metadata": {"type":"testdata"}}'

[
  {
    "id": "3d0ffff3-5d05-46e3-84c3-b805aad93a81",
    "content": "Hello World",
    "metadata": {
      "type": "testdata"
    },
    "createdAt": "2024-09-06T11:13:27",
    "updatedAt": "2024-09-06T11:13:27",
    "score": 0.85183966
  }
]

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Tyran is maintained under the Semantic Versioning guidelines and release process is predictable and business-friendly.

See the Releases section of our GitHub project for changelogs for each release version of Tyran. It contains summaries of the most noteworthy changes made in each release. Also see the Milestones section for the future roadmap.

Bug tracker

If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at https://github.com/Clivern/Tyran/issues

Security Issues

If you discover a security vulnerability within Tyran, please send an email to hello@clivern.com

Contributing

We are an open source, community-driven project so please feel free to join us. see the contributing guidelines for more details.

License

© 2024, Tyran. Released under MIT License.

Tyran is authored and maintained by @Clivern.