{"id":28493379,"url":"https://github.com/qdrant/qdrant-haystack","last_synced_at":"2025-08-28T12:23:02.587Z","repository":{"id":104791037,"uuid":"595687936","full_name":"qdrant/qdrant-haystack","owner":"qdrant","description":"An integration of Qdrant ANN vector database backend with Haystack ","archived":false,"fork":false,"pushed_at":"2025-04-07T17:32:33.000Z","size":562,"stargazers_count":44,"open_issues_count":9,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-08T09:08:33.072Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qdrant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-31T15:56:08.000Z","updated_at":"2025-01-10T15:22:03.000Z","dependencies_parsed_at":"2023-10-03T02:28:29.361Z","dependency_job_id":"a01aa13e-5d9e-4aa1-ac70-f51f8be8e4e7","html_url":"https://github.com/qdrant/qdrant-haystack","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/qdrant/qdrant-haystack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdrant%2Fqdrant-haystack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdrant%2Fqdrant-haystack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdrant%2Fqdrant-haystack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdrant%2Fqdrant-haystack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qdrant","download_url":"https://codeload.github.com/qdrant/qdrant-haystack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdrant%2Fqdrant-haystack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272498308,"owners_count":24944819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-28T02:00:10.768Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-08T09:08:36.349Z","updated_at":"2025-08-28T12:23:02.579Z","avatar_url":"https://github.com/qdrant.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# qdrant-haystack\n\n\u003e [!IMPORTANT]\n\u003e The V2 implementation of `qdrant-haystack` has been moved to [deepset-ai/haystack-core-integrations](https://github.com/deepset-ai/haystack-core-integrations).\n\u003e Find the latest documentation [here](https://haystack.deepset.ai/integrations/qdrant-document-store).\n\nAn integration of [Qdrant](https://qdrant.tech) vector database with [Haystack](https://haystack.deepset.ai/)\nby [deepset](https://www.deepset.ai).\n\nThe library finally allows using Qdrant as a document store, and provides an in-place replacement\nfor any other vector embeddings store. Thus, you should expect any kind of application to be working\nsmoothly just by changing the provider to `QdrantDocumentStore`.\n\n## Installation\n\n`qdrant-haystack` might be installed as any other Python library, using pip or poetry:\n\n```bash\npip install qdrant-haystack\n```\n\n```bash\npoetry add qdrant-haystack\n```\n\n## Usage\n\nOnce installed, you can already start using `QdrantDocumentStore` as any other store that supports\nembeddings.\n\n```python\nfrom qdrant_haystack import QdrantDocumentStore\n\ndocument_store = QdrantDocumentStore(\n    \"localhost\",\n    index=\"Document\",\n    embedding_dim=512,\n    recreate_index=True,\n    hnsw_config={\"m\": 16, \"ef_construct\": 64}  # Optional\n)\n```\n\nThe list of parameters accepted by `QdrantDocumentStore` is complementary to those used in the\nofficial [Python Qdrant client](https://github.com/qdrant/qdrant_client).\n\n### Using local in-memory / disk-persisted mode\n\nQdrant Python client, from version 1.1.1, supports local in-memory/disk-persisted mode. That's\na good choice for any test scenarios and quick experiments in which you do not plan to store\nlots of vectors. In such a case spinning a Docker container might be even not required.\n\nThe local mode was also implemented in `qdrant-haystack` integration.\n\n#### In-memory storage\n\nIn case you want to have a transient storage, for example in case of automated tests launched\nduring your CI/CD pipeline, using Qdrant Local mode with in-memory storage might be a preferred\noption. It might be simply enabled by passing `:memory:` as first parameter, while creating an\ninstance of `QdrantDocumentStore`.\n\n```python\nfrom qdrant_haystack import QdrantDocumentStore\n\ndocument_store = QdrantDocumentStore(\n    \":memory:\",\n    index=\"Document\",\n    embedding_dim=512,\n    recreate_index=True,\n    hnsw_config={\"m\": 16, \"ef_construct\": 64}  # Optional\n)\n```\n\n#### On disk storage\n\nHowever, if you prefer to keep the vectors between different runs of your application, it\nmight be better to use on disk storage and pass the path that should be used to persist\nthe data.\n\n```python\nfrom qdrant_haystack import QdrantDocumentStore\n\ndocument_store = QdrantDocumentStore(\n    path=\"/home/qdrant/storage_local\",\n    index=\"Document\",\n    embedding_dim=512,\n    recreate_index=True,\n    hnsw_config={\"m\": 16, \"ef_construct\": 64}  # Optional\n)\n```\n\n### Connecting to Qdrant Cloud cluster\n\nIf you prefer not to manage your own Qdrant instance, [Qdrant Cloud](https://cloud.qdrant.io/)\nmight be a better option.\n\n```python\nfrom qdrant_haystack import QdrantDocumentStore\n\ndocument_store = QdrantDocumentStore(\n    \"https://YOUR-CLUSTER-URL.aws.cloud.qdrant.io\",\n    index=\"Document\",\n    api_key=\"\u003c\u003c YOUR QDRANT CLOUD API KEY \u003e\u003e\",\n    embedding_dim=512,\n    recreate_index=True,\n)\n```\n\nThere is no difference in terms of functionality between local instances and cloud clusters.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdrant%2Fqdrant-haystack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqdrant%2Fqdrant-haystack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdrant%2Fqdrant-haystack/lists"}