diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 48d88f8e2c..8a6dc21c47 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -21,4 +21,4 @@ jobs: - name: Codespell uses: codespell-project/actions-codespell@v2 with: - exclude_file: CODE_OF_CONDUCT.md + exclude_file: docs/CODE_OF_CONDUCT.md diff --git a/QUICK_START_GRPC.md b/QUICK_START_GRPC.md deleted file mode 100644 index ff484e559f..0000000000 --- a/QUICK_START_GRPC.md +++ /dev/null @@ -1,148 +0,0 @@ -# Quick Start with Qdrant using GRPC - -DISCLAIMER: The GRPC API for Qdrant are under development and disabled by default in production builds. -Limited functionality is exposed at the moment. This draft tutorial is for testing and internal use only. - -## Install grpcurl -This tutorial would use the grpcurl command line tool in order to perform grpc requests. Please follow the -steps provided in the [grpcurl repository](https://github.com/fullstorydev/grpcurl) in order to install it. - -## Build Qdrant with GRPC feature -The GRPC feature is disabled by default in order not to impact the production binary until complete. -In order to run qdrant with grpc feature enabled, executed the following command: -```bash -QDRANT__SERVICE__GRPC_PORT="6334" cargo run --bin qdrant -``` -It will run qdrant exposing both json and grpc API. If you do not want to use JSON API, add ``--no-default-features `` -flag as well: -```bash -QDRANT__SERVICE__GRPC_PORT="6334" cargo run --no-default-features --bin qdrant -``` -Note that actix is not compiled in this case. - -## GRPC Service Health Check -Execute the following command -```bash -grpcurl -plaintext -import-path ./lib/api/src/grpc/proto/ -proto qdrant.proto -d '{}' 0.0.0.0:6334 qdrant.Qdrant/HealthCheck -``` -Here and below the ```./lib/api/src/grpc/proto/``` should be a path to the folder with a protobuf schemas. -Expected response: -```json -{ - "title": "qdrant - vector search engine", - "version": "" -} -``` - -## Collections - -### Create collection -First - let's create a collection with dot-production metric. -```bash -grpcurl -plaintext -import-path ./lib/api/src/grpc/proto/ -proto qdrant.proto -d '{ - "collection_name": "test_collection", - "vectors_config": { - "params": { - "size": 4, - "distance": "Dot" - } - } - }' \ -0.0.0.0:6334 qdrant.Collections/Create -``` - -Expected response: -```json -{ - "result": true, - "time": 0.482865481 -} -``` - -### List all collections -We can now view the list of collections to ensure that the collection was created: -```bash -grpcurl -plaintext -import-path ./lib/api/src/grpc/proto/ -proto qdrant.proto 0.0.0.0:6334 qdrant.Collections/List -``` - -Expected response: -```json -{ - "collections": [ - { - "name": "test_collection" - } - ], - "time": 9.4219e-05 -} -``` - -### Update collection -The collection could also be updated: -```bash -grpcurl -plaintext -import-path ./lib/api/src/grpc/proto/ -proto qdrant.proto -d '{ - "collection_name": "test_collection", - "optimizers_config": { - "max_segment_size": 100 - } - }' \ -0.0.0.0:6334 qdrant.Collections/Update -``` - -## Add points -Let's now add vectors with some payload: - -```bash -grpcurl -plaintext -import-path ./lib/api/src/grpc/proto/ -proto qdrant.proto -d '{ - "collection_name": "test_collection", - "wait": true, - "points": [ - { - "id": { - "num": 1 - }, - "vectors": { - "vector": { "data": [0.05, 0.61, 0.76, 0.74] } - }, - "payload": { - "city": { "string_value": "Berlin" }, - "country": { "string_value": "Germany" }, - "population": { "integer_value": 1000000 }, - "square": { "double_value": 12.5 }, - "coords": { - "struct_value": { - "fields":{ - "lat": { "double_value": 1.0 }, - "lon": { "double_value": 2.0 } - } - } - } - } - }, - {"id": {"num": 2}, "vectors": {"vector": {"data": [0.18, 0.01, 0.85, 0.80]}}, "payload": {"square": {"list_value": {"values": [{"integer_value": 10}, {"integer_value": 11}]}} }}, - {"id": {"num": 3}, "vectors": {"vector": {"data": [0.24, 0.18, 0.22, 0.45]}}, "payload": {"count": {"list_value": {"values": [{"integer_value": 0}]}} }}, - {"id": {"num": 4}, "vectors": {"vector": {"data": [0.24, 0.18, 0.22, 0.45]}}, "payload": {"coords": {"list_value": {"values": [{ "struct_value": {"fields": { "lat": { "double_value":1.0 }, "lon": { "double_value": 2.0 } } } }, { "struct_value": {"fields": { "lat": { "double_value":3.0 }, "lon": { "double_value": 4.0 } } } }] }} }}, - {"id": {"num": 5}, "vectors": {"vector": {"data": [0.35, 0.08, 0.11, 0.44]}}} - ] -}' \ -0.0.0.0:6334 qdrant.Points/Upsert -``` - -Expected response: -```json -{ - "result": { - "status": "Completed" - }, - "time": 0.004128988 -} -``` - -### Delete collection -The qdrant.Collections/UpdateCollections rpc could also be used to delete a collection: -```bash -grpcurl -plaintext -import-path ./lib/api/src/grpc/proto/ -proto qdrant.proto -d '{ - "collection_name": "test_collection" - }' \ -0.0.0.0:6334 qdrant.Collections/Delete -``` diff --git a/README.md b/README.md index 38d52910fa..b21bf9e809 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ With Qdrant, embeddings or neural network encoders can be turned into full-fledg Qdrant is also available as a fully managed **[Qdrant Cloud](https://cloud.qdrant.io/)** ⛅ including a **free tier**.

-Quick StartClient LibrariesDemo ProjectsIntegrationsContact +Quick StartClient LibrariesDemo ProjectsIntegrationsContact

@@ -83,7 +83,7 @@ Qdrant offers the following client libraries to help you integrate it into your ### Where do I go from here? -- [Quick Start Guide](https://github.com/qdrant/qdrant/blob/master/QUICK_START.md) +- [Quick Start Guide](docs/QUICK_START.md) - End to End [Colab Notebook](https://colab.research.google.com/drive/1Bz8RSVHwnNDaNtDwotfPj0w7AYzsdXZ-?usp=sharing) demo with SentenceBERT and Qdrant - Detailed [Documentation](https://qdrant.tech/documentation/) are great starting points - [Step-by-Step Tutorial](https://qdrant.to/qdrant-tutorial) to create your first neural network project with Qdrant diff --git a/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to docs/CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/docs/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to docs/CONTRIBUTING.md diff --git a/QUICK_START.md b/docs/QUICK_START.md similarity index 100% rename from QUICK_START.md rename to docs/QUICK_START.md diff --git a/docs/favicon.ico b/docs/favicon.ico deleted file mode 100644 index b008bccaea..0000000000 Binary files a/docs/favicon.ico and /dev/null differ diff --git a/docs/roadmap/README.md b/docs/roadmap/README.md index 63f020e4b2..429d3b2104 100644 --- a/docs/roadmap/README.md +++ b/docs/roadmap/README.md @@ -30,7 +30,7 @@ Let us know whenever you have a problem, face an unexpected behavior, or see a l You can do it in any convenient way - create an [issue](https://github.com/qdrant/qdrant/issues), start a [discussion](https://github.com/qdrant/qdrant/discussions), or drop up a [message](https://discord.gg/tdtYvXjC4h). If you use Qdrant or Metric Learning in your projects, we'd love to hear your story! Feel free to share articles and demos in our community. -For those familiar with Rust - check out our [contribution guide](https://github.com/qdrant/qdrant/blob/master/CONTRIBUTING.md). +For those familiar with Rust - check out our [contribution guide](../CONTRIBUTING.md). If you have problems with code or architecture understanding - reach us at any time. Feeling confident and want to contribute more? - Come to [work with us](https://qdrant.join.com/)! diff --git a/docs/roadmap/roadmap-2023.md b/docs/roadmap/roadmap-2023.md index c227563bdc..8447049eca 100644 --- a/docs/roadmap/roadmap-2023.md +++ b/docs/roadmap/roadmap-2023.md @@ -22,7 +22,7 @@ Let us know whenever you have a problem, face an unexpected behavior, or see a l You can do it in any convenient way - create an [issue](https://github.com/qdrant/qdrant/issues), start a [discussion](https://github.com/qdrant/qdrant/discussions), or drop up a [message](https://discord.gg/tdtYvXjC4h). If you use Qdrant or Metric Learning in your projects, we'd love to hear your story! Feel free to share articles and demos in our community. -For those familiar with Rust - check out our [contribution guide](https://github.com/qdrant/qdrant/blob/master/CONTRIBUTING.md). +For those familiar with Rust - check out our [contribution guide](../CONTRIBUTING.md). If you have problems with code or architecture understanding - reach us at any time. Feeling confident and want to contribute more? - Come to [work with us](https://qdrant.join.com/)! @@ -56,4 +56,4 @@ Feeling confident and want to contribute more? - Come to [work with us](https:// * [ ] Extend full-text filtering support * [ ] Support for phrase queries * [ ] Support for logical operators - * [x] Simplify update of collection parameters \ No newline at end of file + * [x] Simplify update of collection parameters