A Vector Search as a Service.
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.
[!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
}
]
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.
If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at https://github.com/Clivern/Tyran/issues
If you discover a security vulnerability within Tyran, please send an email to hello@clivern.com
We are an open source, community-driven project so please feel free to join us. see the contributing guidelines for more details.
© 2024, Tyran. Released under MIT License.
Tyran is authored and maintained by @Clivern.