[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-qdrant--qdrant":3,"tool-qdrant--qdrant":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":67,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":79,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":118,"forks":119,"last_commit_at":120,"license":121,"difficulty_score":23,"env_os":122,"env_gpu":123,"env_ram":123,"env_deps":124,"category_tags":129,"github_topics":130,"view_count":151,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":152,"updated_at":153,"faqs":154,"releases":184},2973,"qdrant\u002Fqdrant","qdrant","Qdrant - High-performance, massive-scale Vector Database and Vector Search Engine for the next generation of AI. Also available in the cloud https:\u002F\u002Fcloud.qdrant.io\u002F","Qdrant 是一款专为下一代 AI 应用打造的高性能向量数据库与搜索引擎。它的核心使命是解决海量高维数据（如文本、图像的特征嵌入）难以高效存储和精准检索的难题，让基于语义的匹配、智能推荐及多条件过滤搜索变得简单可靠。\n\n这款工具非常适合后端开发者、AI 工程师及研究人员使用，尤其是那些正在构建大语言模型（LLM）应用、需要实现“记忆”功能或复杂语义搜索场景的技术团队。Qdrant 的独特亮点在于其底层完全采用 Rust 语言编写，这不仅赋予了它极快的响应速度，更确保了在高并发负载下的卓越稳定性。此外，它对扩展过滤条件的原生支持尤为出色，允许用户在执行向量相似度搜索的同时，灵活结合多种元数据进行精细化筛选。\n\n为了降低使用门槛，Qdrant 提供了友好的 Python、Go、JavaScript 等多种客户端库，支持从本地内存测试快速过渡到生产级部署。无论是希望通过 Docker 快速搭建原型的开发者，还是需要企业级云服务的团队，Qdrant 都能提供成熟且灵活的解决方案，帮助你将神经网络编码转化为真正可用的智能应用。","\u003Cp align=\"center\">\n  \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fraw\u002Fmaster\u002Fdocs\u002Flogo-dark.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fraw\u002Fmaster\u002Fdocs\u002Flogo-light.svg\">\n      \u003Cimg height=\"100\" alt=\"Qdrant\" src=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fraw\u002Fmaster\u002Fdocs\u002Flogo.svg\">\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Cb>Vector Search Engine for the next generation of AI applications\u003C\u002Fb>\n\u003C\u002Fp>\n\n\u003Cp align=center>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Factions\u002Fworkflows\u002Frust.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fqdrant\u002Fqdrant\u002Frust.yml?style=flat-square\" alt=\"Tests status\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fapi.qdrant.tech\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocs-OpenAPI%203.0-success?style=flat-square\" alt=\"OpenAPI Docs\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fblob\u002Fmaster\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fqdrant\u002Fqdrant?style=flat-square\" alt=\"Apache 2.0 License\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fqdrant.to\u002Fdiscord\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F907569970500743200?logo=Discord&style=flat-square&color=7289da\" alt=\"Discord\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fqdrant.to\u002Froadmap\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRoadmap-2025-bc1439.svg?style=flat-square\" alt=\"Roadmap 2025\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fcloud.qdrant.io\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQdrant-Cloud-24386C.svg?logo=cloud&style=flat-square\" alt=\"Qdrant Cloud\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n**Qdrant** (read: _quadrant_) is a vector similarity search engine and vector database.\nIt provides a production-ready service with a convenient API to store, search, and manage points—vectors with an additional payload\nQdrant is tailored to extended filtering support. It makes it useful for all sorts of neural-network or semantic-based matching, faceted search, and other applications.\n\nQdrant is written in Rust 🦀, which makes it fast and reliable even under high load. See [benchmarks](https:\u002F\u002Fqdrant.tech\u002Fbenchmarks\u002F).\n\nWith Qdrant, embeddings or neural network encoders can be turned into full-fledged applications for matching, searching, recommending, and much more!\n\nQdrant is also available as a fully managed **[Qdrant Cloud](https:\u002F\u002Fcloud.qdrant.io\u002F)** ⛅ including a **free tier**.\n\n\u003Cp align=\"center\">\n\u003Cstrong>\u003Ca href=\"docs\u002FQUICK_START.md\">Quick Start\u003C\u002Fa> • \u003Ca href=\"#clients\">Client Libraries\u003C\u002Fa> • \u003Ca href=\"#demo-projects\">Demo Projects\u003C\u002Fa> • \u003Ca href=\"#integrations\">Integrations\u003C\u002Fa> • \u003Ca href=\"#contacts\">Contact\u003C\u002Fa>\n\n\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n## Getting Started\n\n### Python\n\n```\npip install qdrant-client\n```\n\nThe python client offers a convenient way to start with Qdrant locally:\n\n```python\nfrom qdrant_client import QdrantClient\nqdrant = QdrantClient(\":memory:\") # Create in-memory Qdrant instance, for testing, CI\u002FCD\n# OR\nclient = QdrantClient(path=\"path\u002Fto\u002Fdb\")  # Persists changes to disk, fast prototyping\n```\n\n### Client-Server\n\nTo experience the full power of Qdrant locally, run the container with this command:\n\n```bash\ndocker run -p 6333:6333 qdrant\u002Fqdrant\n```\n\n> [!CAUTION]\n> Starts an insecure deployment without authentication open to all network interfaces. Please refer to [secure your instance](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fsecurity\u002F#secure-your-instance).\n\nNow you can connect to this with any client, including Python:\n\n```python\nqdrant = QdrantClient(\"http:\u002F\u002Flocalhost:6333\") # Connect to existing Qdrant instance\n```\n\nBefore deploying Qdrant to production, be sure to read our [installation](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Finstallation\u002F) and [security](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fsecurity\u002F) guides.\n\n### Clients\n\nQdrant offers the following client libraries to help you integrate it into your application stack with ease:\n\n- Official:\n  - [Go client](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fgo-client)\n  - [Rust client](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Frust-client)\n  - [JavaScript\u002FTypeScript client](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-js)\n  - [Python client](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-client)\n  - [.NET\u002FC# client](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-dotnet)\n  - [Java client](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fjava-client)\n- Community:\n  - [Elixir](https:\u002F\u002Fhexdocs.pm\u002Fqdrant\u002Freadme.html)\n  - [PHP](https:\u002F\u002Fgithub.com\u002Fhkulekci\u002Fqdrant-php)\n  - [Ruby](https:\u002F\u002Fgithub.com\u002Fandreibondarev\u002Fqdrant-ruby)\n  - [Java](https:\u002F\u002Fgithub.com\u002Fmetaloom\u002Fqdrant-java-client)\n\n### Where do I go from here?\n\n- [Quick Start Guide](docs\u002FQUICK_START.md)\n- End to End [Colab Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Bz8RSVHwnNDaNtDwotfPj0w7AYzsdXZ-?usp=sharing) demo with SentenceBERT and Qdrant\n- Detailed [Documentation](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002F) are great starting points\n- [Step-by-Step Tutorial](https:\u002F\u002Fqdrant.to\u002Fqdrant-tutorial) to create your first neural network project with Qdrant\n\n## Demo Projects\u003Ca href=\"https:\u002F\u002Freplit.com\u002F@qdrant\">\u003Cimg align=\"right\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_26e23a0dcf49.png\" alt=\"Run on Repl.it\">\u003C\u002Fa>\n\n### Discover Semantic Text Search 🔍\n\nUnlock the power of semantic embeddings with Qdrant, transcending keyword-based search to find meaningful connections in short texts. Deploy a neural search in minutes using a pre-trained neural network, and experience the future of text search. [Try it online!](https:\u002F\u002Fqdrant.to\u002Fsemantic-search-demo)\n\n### Explore Similar Image Search - Food Discovery 🍕\n\nThere's more to discovery than text search, especially when it comes to food. People often choose meals based on appearance rather than descriptions and ingredients. Let Qdrant help your users find their next delicious meal using visual search, even if they don't know the dish's name. [Check it out!](https:\u002F\u002Fqdrant.to\u002Ffood-discovery)\n\n### Master Extreme Classification - E-commerce Product Categorization 📺\n\nEnter the cutting-edge realm of extreme classification, an emerging machine learning field tackling multi-class and multi-label problems with millions of labels. Harness the potential of similarity learning models, and see how a pre-trained transformer model and Qdrant can revolutionize e-commerce product categorization. [Play with it online!](https:\u002F\u002Fqdrant.to\u002Fextreme-classification-demo)\n\n\u003Cdetails>\n\u003Csummary> More solutions \u003C\u002Fsummary>\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd width=\"30%\">\n            \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_3a294e6bacd5.png\">\n        \u003C\u002Ftd>\n        \u003Ctd width=\"30%\">\n            \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_ba3d878a0e7c.png\">\n        \u003C\u002Ftd>\n        \u003Ctd width=\"30%\">\n            \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_2d5dadd8541e.png\">\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>\n            Semantic Text Search\n        \u003C\u002Ftd>\n        \u003Ctd>\n            Similar Image Search\n        \u003C\u002Ftd>\n        \u003Ctd>\n            Recommendations\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd>\n            \u003Cimg width=\"300px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_59c71c04f721.png\">\n        \u003C\u002Ftd>\n        \u003Ctd>\n            \u003Cimg width=\"300px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_13f1a28077df.png\">\n        \u003C\u002Ftd>\n        \u003Ctd>\n            \u003Cimg width=\"300px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_97ff02548470.png\">\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>\n            Chat Bots\n        \u003C\u002Ftd>\n        \u003Ctd>\n            Matching Engines\n        \u003C\u002Ftd>\n        \u003Ctd>\n            Anomaly Detection\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n## API\n\n### REST\n\nOnline OpenAPI 3.0 documentation is available [here](https:\u002F\u002Fapi.qdrant.tech\u002F).\nOpenAPI makes it easy to generate a client for virtually any framework or programming language.\n\nYou can also download raw OpenAPI [definitions](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fblob\u002Fmaster\u002Fdocs\u002Fredoc\u002Fmaster\u002Fopenapi.json).\n\n### gRPC\n\nFor faster production-tier searches, Qdrant also provides a gRPC interface. You can find gRPC documentation [here](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Finterfaces\u002F#grpc-interface).\n\n## Features\n\n### Filtering and Payload\n\nQdrant can attach any JSON payloads to vectors, allowing for both the storage and filtering of data based on the values in these payloads.\nPayload supports a wide range of data types and query conditions, including keyword matching, full-text filtering, numerical ranges, geo-locations, and more.\n\nFiltering conditions can be combined in various ways, including `should`, `must`, and `must_not` clauses,\nensuring that you can implement any desired business logic on top of similarity matching.\n\n\n### Hybrid Search with Sparse Vectors\n\nTo address the limitations of vector embeddings when searching for specific keywords, Qdrant introduces support for sparse vectors in addition to the regular dense ones.\n\nSparse vectors can be viewed as an generalization of BM25 or TF-IDF ranking. They enable you to harness the capabilities of transformer-based neural networks to weigh individual tokens effectively.\n\n\n### Vector Quantization and On-Disk Storage\n\nQdrant provides multiple options to make vector search cheaper and more resource-efficient.\nBuilt-in vector quantization reduces RAM usage by up to 97% and dynamically manages the trade-off between search speed and precision.\n\n\n### Distributed Deployment\n\nQdrant offers comprehensive horizontal scaling support through two key mechanisms:\n1. Size expansion via sharding and throughput enhancement via replication\n2. Zero-downtime rolling updates and seamless dynamic scaling of the collections\n\n\n### Highlighted Features\n\n* **Query Planning and Payload Indexes** - leverages stored payload information to optimize query execution strategy.\n* **SIMD Hardware Acceleration** - utilizes modern CPU x86-x64 and Neon architectures to deliver better performance.\n* **Async I\u002FO** - uses `io_uring` to maximize disk throughput utilization even on a network-attached storage.\n* **Write-Ahead Logging** - ensures data persistence with update confirmation, even during power outages.\n\n\n# Integrations\n\nExamples and\u002For documentation of Qdrant integrations:\n\n- [Cohere](https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fqdrant-and-cohere) ([blogpost on building a QA app with Cohere and Qdrant](https:\u002F\u002Fqdrant.tech\u002Farticles\u002Fqa-with-cohere-and-qdrant\u002F)) - Use Cohere embeddings with Qdrant\n- [DocArray](https:\u002F\u002Fdocs.docarray.org\u002Fuser_guide\u002Fstoring\u002Findex_qdrant\u002F) - Use Qdrant as a document store in DocArray\n- [Haystack](https:\u002F\u002Fhaystack.deepset.ai\u002Fintegrations\u002Fqdrant-document-store) - Use Qdrant as a document store with Haystack ([blogpost](https:\u002F\u002Fhaystack.deepset.ai\u002Fblog\u002Fqdrant-integration)).\n- [LangChain](https:\u002F\u002Fpython.langchain.com\u002Fdocs\u002Fintegrations\u002Fproviders\u002Fqdrant\u002F) ([blogpost](https:\u002F\u002Fqdrant.tech\u002Farticles\u002Flangchain-integration\u002F)) - Use Qdrant as a memory backend for LangChain.\n- [LlamaIndex](https:\u002F\u002Fdevelopers.llamaindex.ai\u002Fpython\u002Fframework\u002Fintegrations\u002Fvector_stores\u002Fqdrantindexdemo\u002F) - Use Qdrant as a Vector Store with LlamaIndex.\n- [OpenAI - ChatGPT retrieval plugin](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fchatgpt-retrieval-plugin\u002Fblob\u002Fmain\u002Fdocs\u002Fproviders\u002Fqdrant\u002Fsetup.md) - Use Qdrant as a memory backend for ChatGPT\n- [Microsoft Semantic Kernel](https:\u002F\u002Fdevblogs.microsoft.com\u002Fsemantic-kernel\u002Fthe-power-of-persistent-memory-with-semantic-kernel-and-qdrant-vector-database\u002F) - Use Qdrant as persistent memory with Semantic Kernel\n\n## Contacts\n\n- Have questions? Join our [Discord channel](https:\u002F\u002Fqdrant.to\u002Fdiscord) or mention [@qdrant_engine on Twitter](https:\u002F\u002Fqdrant.to\u002Ftwitter)\n- Want to stay in touch with latest releases? Subscribe to our [Newsletters](https:\u002F\u002Fqdrant.tech\u002Fsubscribe\u002F)\n- Looking for a managed cloud? Check [pricing](https:\u002F\u002Fqdrant.tech\u002Fpricing\u002F), need something personalised? We're at [info@qdrant.tech](mailto:info@qdrant.tech)\n\n## License\n\nQdrant is licensed under the Apache License, Version 2.0. View a copy of the [License file](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fblob\u002Fmaster\u002FLICENSE).\n","\u003Cp align=\"center\">\n  \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fraw\u002Fmaster\u002Fdocs\u002Flogo-dark.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fraw\u002Fmaster\u002Fdocs\u002Flogo-light.svg\">\n      \u003Cimg height=\"100\" alt=\"Qdrant\" src=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fraw\u002Fmaster\u002Fdocs\u002Flogo.svg\">\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Cb>面向下一代AI应用的向量搜索引擎\u003C\u002Fb>\n\u003C\u002Fp>\n\n\u003Cp align=center>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Factions\u002Fworkflows\u002Frust.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fqdrant\u002Fqdrant\u002Frust.yml?style=flat-square\" alt=\"测试状态\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fapi.qdrant.tech\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F文档-OpenAPI%203.0-成功?style=flat-square\" alt=\"OpenAPI文档\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fblob\u002Fmaster\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fqdrant\u002Fqdrant?style=flat-square\" alt=\"Apache 2.0许可证\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fqdrant.to\u002Fdiscord\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F907569970500743200?logo=Discord&style=flat-square&color=7289da\" alt=\"Discord\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fqdrant.to\u002Froadmap\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F路线图-2025-bc1439.svg?style=flat-square\" alt=\"2025年路线图\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fcloud.qdrant.io\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQdrant-云-24386C.svg?logo=云&style=flat-square\" alt=\"Qdrant云\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n**Qdrant**（读作：_quadrant_）是一个向量相似性搜索引擎和向量数据库。\n它提供了一个生产就绪的服务，通过便捷的API来存储、搜索和管理点——即带有附加负载的向量。\nQdrant专为扩展的过滤支持而设计，因此在各种基于神经网络或语义的匹配、分面搜索及其他应用中都非常有用。\n\nQdrant使用Rust语言编写 🦀，这使得它在高负载下依然快速且可靠。请参阅[基准测试](https:\u002F\u002Fqdrant.tech\u002Fbenchmarks\u002F)。\n\n借助Qdrant，嵌入或神经网络编码器可以轻松转化为功能完善的匹配、搜索、推荐等应用！\n\nQdrant还提供完全托管的**[Qdrant云](https:\u002F\u002Fcloud.qdrant.io\u002F)** ⛅，包含**免费层级**。\n\n\u003Cp align=\"center\">\n\u003Cstrong>\u003Ca href=\"docs\u002FQUICK_START.md\">快速入门\u003C\u002Fa> • \u003Ca href=\"#clients\">客户端库\u003C\u002Fa> • \u003Ca href=\"#demo-projects\">演示项目\u003C\u002Fa> • \u003Ca href=\"#integrations\">集成\u003C\u002Fa> • \u003Ca href=\"#contacts\">联系我们\u003C\u002Fa>\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n## 开始使用\n\n### Python\n\n```\npip install qdrant-client\n```\n\nPython客户端提供了一种方便的方式，在本地快速上手Qdrant：\n\n```python\nfrom qdrant_client import QdrantClient\nqdrant = QdrantClient(\":memory:\") # 创建内存中的Qdrant实例，用于测试、CI\u002FCD\n# 或者\nclient = QdrantClient(path=\"path\u002Fto\u002Fdb\")  # 将更改持久化到磁盘，适合快速原型开发\n```\n\n### 客户端-服务器模式\n\n要在本地体验Qdrant的全部功能，请使用以下命令运行容器：\n\n```bash\ndocker run -p 6333:6333 qdrant\u002Fqdrant\n```\n\n> [!注意]\n> 此操作会启动一个不安全的部署，未启用身份验证，并对所有网络接口开放。请参考[保护您的实例](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fsecurity\u002F#secure-your-instance)。\n\n现在您可以使用任何客户端连接到该实例，包括Python：\n\n```python\nqdrant = QdrantClient(\"http:\u002F\u002Flocalhost:6333\") # 连接到现有的Qdrant实例\n```\n\n在将Qdrant部署到生产环境之前，请务必阅读我们的[安装指南](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Finstallation\u002F)和[安全指南](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fsecurity\u002F)。\n\n### 客户端\n\nQdrant提供了以下客户端库，帮助您轻松将其集成到应用程序栈中：\n\n- 官方：\n  - [Go客户端](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fgo-client)\n  - [Rust客户端](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Frust-client)\n  - [JavaScript\u002FTypeScript客户端](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-js)\n  - [Python客户端](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-client)\n  - [.NET\u002FC#客户端](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-dotnet)\n  - [Java客户端](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fjava-client)\n- 社区：\n  - [Elixir](https:\u002F\u002Fhexdocs.pm\u002Fqdrant\u002Freadme.html)\n  - [PHP](https:\u002F\u002Fgithub.com\u002Fhkulekci\u002Fqdrant-php)\n  - [Ruby](https:\u002F\u002Fgithub.com\u002Fandreibondarev\u002Fqdrant-ruby)\n  - [Java](https:\u002F\u002Fgithub.com\u002Fmetaloom\u002Fqdrant-java-client)\n\n### 接下来我该做什么？\n\n- [快速入门指南](docs\u002FQUICK_START.md)\n- 使用SentenceBERT和Qdrant的端到端[Colab笔记本](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Bz8RSVHwnNDaNtDwotfPj0w7AYzsdXZ-?usp=sharing)演示\n- 详细的[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002F)是很好的起点\n- [逐步教程](https:\u002F\u002Fqdrant.to\u002Fqdrant-tutorial)，帮助您创建第一个使用Qdrant的神经网络项目\n\n## 演示项目\u003Ca href=\"https:\u002F\u002Freplit.com\u002F@qdrant\">\u003Cimg align=\"right\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_26e23a0dcf49.png\" alt=\"在Repl.it上运行\">\u003C\u002Fa>\n\n### 探索语义文本搜索 🔍\n\n利用Qdrant释放语义嵌入的力量，超越基于关键词的搜索，在短文中找到有意义的关联。只需几分钟即可部署一个预训练的神经网络进行搜索，体验文本搜索的未来。[在线试用！](https:\u002F\u002Fqdrant.to\u002Fsemantic-search-demo)\n\n### 探索相似图像搜索——美食发现 🍕\n\n探索远不止于文本搜索，尤其是在美食领域。人们往往根据食物的外观而非描述和配料来选择餐点。让Qdrant帮助您的用户通过视觉搜索找到下一道美味佳肴，即使他们不知道这道菜的名字。[去看看吧！](https:\u002F\u002Fqdrant.to\u002Ffood-discovery)\n\n### 掌握极端分类——电商商品分类 📺\n\n进入极端分类这一前沿领域，它是一个新兴的机器学习方向，专门解决具有数百万个标签的多类别和多标签问题。利用相似度学习模型的潜力，了解预训练的Transformer模型和Qdrant如何彻底改变电商商品分类。[在线体验！](https:\u002F\u002Fqdrant.to\u002Fextreme-classification-demo)\n\n\u003Cdetails>\n\u003Csummary> 更多解决方案 \u003C\u002Fsummary>\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd width=\"30%\">\n            \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_3a294e6bacd5.png\">\n        \u003C\u002Ftd>\n        \u003Ctd width=\"30%\">\n            \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_ba3d878a0e7c.png\">\n        \u003C\u002Ftd>\n        \u003Ctd width=\"30%\">\n            \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_2d5dadd8541e.png\">\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>\n            语义文本搜索\n        \u003C\u002Ftd>\n        \u003Ctd>\n            相似图像搜索\n        \u003C\u002Ftd>\n        \u003Ctd>\n            推荐系统\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n    \u003Ctr>\n        \u003Ctd>\n            \u003Cimg width=\"300px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_59c71c04f721.png\">\n        \u003C\u002Ftd>\n        \u003Ctd>\n            \u003Cimg width=\"300px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_13f1a28077df.png\">\n        \u003C\u002Ftd>\n        \u003Ctd>\n            \u003Cimg width=\"300px\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_readme_97ff02548470.png\">\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>\n            聊天机器人\n        \u003C\u002Ftd>\n        \u003Ctd>\n            匹配引擎\n        \u003C\u002Ftd>\n        \u003Ctd>\n            异常检测\n        \u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdetails>\n\n## API\n\n### REST\n\n在线OpenAPI 3.0文档可在此访问：[这里](https:\u002F\u002Fapi.qdrant.tech\u002F)。OpenAPI使您能够轻松为几乎任何框架或编程语言生成客户端。\n\n您也可以下载原始的OpenAPI [定义](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fblob\u002Fmaster\u002Fdocs\u002Fredoc\u002Fmaster\u002Fopenapi.json)。\n\n### gRPC\n\n为了实现更快速的生产级搜索，Qdrant还提供了gRPC接口。gRPC文档可在此查阅：[这里](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Finterfaces\u002F#grpc-interface)。\n\n## 功能\n\n### 过滤与负载\n\nQdrant可以将任意JSON负载附加到向量上，从而允许基于这些负载中的值存储和过滤数据。\n负载支持广泛的数据类型和查询条件，包括关键词匹配、全文过滤、数值范围、地理位置等。\n\n过滤条件可以通过多种方式组合，包括`should`、`must`和`must_not`子句，\n确保您可以在相似度匹配的基础上实现任何所需的业务逻辑。\n\n\n### 带有稀疏向量的混合搜索\n\n为了解决向量嵌入在搜索特定关键词时的局限性，Qdrant除了常规的稠密向量外，还引入了对稀疏向量的支持。\n\n稀疏向量可以被视为BM25或TF-IDF排序的泛化。它们使您能够利用基于Transformer的神经网络能力，有效地权衡各个标记的重要性。\n\n\n### 向量量化与磁盘存储\n\nQdrant提供了多种选项，以降低向量搜索的成本并提高资源效率。\n内置的向量量化可将RAM使用率降低多达97%，并动态管理搜索速度与精度之间的权衡。\n\n\n### 分布式部署\n\nQdrant通过两种关键机制提供全面的水平扩展支持：\n1. 通过分片扩展规模，通过复制提升吞吐量\n2. 零停机滚动更新以及集合的无缝动态扩展\n\n\n### 亮点功能\n\n* **查询计划与负载索引** - 利用存储的负载信息优化查询执行策略。\n* **SIMD硬件加速** - 利用现代CPU x86-x64和Neon架构提升性能。\n* **异步I\u002FO** - 使用`io_uring`最大化磁盘吞吐量，即使是在网络附加存储上也能实现。\n* **预写日志** - 即使在断电情况下，也能通过更新确认确保数据持久化。\n\n\n# 集成\n\nQdrant集成的示例和\u002F或文档：\n\n- [Cohere](https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fqdrant-and-cohere) ([关于使用Cohere和Qdrant构建问答应用的博客文章](https:\u002F\u002Fqdrant.tech\u002Farticles\u002Fqa-with-cohere-and-qdrant\u002F)) - 将Cohere嵌入与Qdrant结合使用\n- [DocArray](https:\u002F\u002Fdocs.docarray.org\u002Fuser_guide\u002Fstoring\u002Findex_qdrant\u002F) - 在DocArray中使用Qdrant作为文档存储\n- [Haystack](https:\u002F\u002Fhaystack.deepset.ai\u002Fintegrations\u002Fqdrant-document-store) - 使用Qdrant作为Haystack的文档存储（[博客文章](https:\u002F\u002Fhaystack.deepset.ai\u002Fblog\u002Fqdrant-integration)）。\n- [LangChain](https:\u002F\u002Fpython.langchain.com\u002Fdocs\u002Fintegrations\u002Fproviders\u002Fqdrant\u002F) ([博客文章](https:\u002F\u002Fqdrant.tech\u002Farticles\u002Flangchain-integration\u002F)) - 将Qdrant用作LangChain的记忆后端。\n- [LlamaIndex](https:\u002F\u002Fdevelopers.llamaindex.ai\u002Fpython\u002Fframework\u002Fintegrations\u002Fvector_stores\u002Fqdrantindexdemo\u002F) - 使用Qdrant作为LlamaIndex的向量存储。\n- [OpenAI - ChatGPT检索插件](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fchatgpt-retrieval-plugin\u002Fblob\u002Fmain\u002Fdocs\u002Fproviders\u002Fqdrant\u002Fsetup.md) - 将Qdrant用作ChatGPT的记忆后端\n- [Microsoft Semantic Kernel](https:\u002F\u002Fdevblogs.microsoft.com\u002Fsemantic-kernel\u002Fthe-power-of-persistent-memory-with-semantic-kernel-and-qdrant-vector-database\u002F) - 使用Qdrant作为Semantic Kernel的持久化内存\n\n## 联系方式\n\n- 有问题吗？加入我们的[Discord频道](https:\u002F\u002Fqdrant.to\u002Fdiscord)或在[Twitter上@qdrant_engine](https:\u002F\u002Fqdrant.to\u002Ftwitter)留言\n- 想及时了解最新发布内容吗？订阅我们的[新闻通讯](https:\u002F\u002Fqdrant.tech\u002Fsubscribe\u002F)\n- 寻求托管云服务？请查看[定价](https:\u002F\u002Fqdrant.tech\u002Fpricing\u002F)，如有个性化需求，请联系[info@qdrant.tech](mailto:info@qdrant.tech)\n\n## 许可证\n\nQdrant采用Apache许可证2.0版授权。您可以查看[许可证文件](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fblob\u002Fmaster\u002FLICENSE)。","# Qdrant 快速上手指南\n\nQdrant 是一个用 Rust 编写的高性能向量搜索引擎和向量数据库，专为下一代 AI 应用设计。它支持存储、搜索和管理带有额外负载（payload）的向量，并提供强大的过滤功能，适用于语义搜索、推荐系统、图像检索等场景。\n\n## 环境准备\n\n*   **操作系统**：Linux, macOS, Windows (推荐通过 Docker 运行以获得最佳一致性)\n*   **前置依赖**：\n    *   **Docker** (推荐方式)：需安装 Docker Engine 和 Docker Compose。\n    *   **Python** (可选)：如需使用 Python 客户端进行开发，需安装 Python 3.8+ 及 pip。\n*   **硬件要求**：支持 x86-64 或 ARM64 架构。利用 SIMD 指令集可获得更佳性能。\n\n## 安装步骤\n\n### 方式一：使用 Docker 快速启动（推荐）\n\n这是体验完整 Qdrant 功能最简单的方式。运行以下命令启动容器，默认将服务暴露在 `6333` 端口：\n\n```bash\ndocker run -p 6333:6333 qdrant\u002Fqdrant\n```\n\n> **注意**：上述命令启动的是未开启身份验证的开发环境实例。生产环境部署请务必参考官方安全指南配置认证。\n\n### 方式二：Python 客户端本地模式（无需服务器）\n\n如果你仅想在本地进行测试、CI\u002FCD 流程或快速原型开发，可以直接安装 Python 客户端并使用内存模式或本地文件模式，无需启动 Docker 容器。\n\n```bash\npip install qdrant-client\n```\n\n## 基本使用\n\n以下示例展示如何使用 Python 客户端连接 Qdrant 并执行基本的向量操作。\n\n### 1. 初始化客户端\n\n**连接本地 Docker 实例：**\n```python\nfrom qdrant_client import QdrantClient\n\n# 连接到运行在 localhost:6333 的 Qdrant 实例\nqdrant = QdrantClient(\"http:\u002F\u002Flocalhost:6333\")\n```\n\n**或使用内存\u002F本地文件模式（无需 Docker）：**\n```python\nfrom qdrant_client import QdrantClient\n\n# 内存模式：重启后数据丢失，适合测试\nqdrant = QdrantClient(\":memory:\") \n\n# 或者持久化到本地磁盘\n# client = QdrantClient(path=\"path\u002Fto\u002Fdb\")\n```\n\n### 2. 创建集合 (Collection)\n\n在存入向量前，需要先定义一个集合来指定向量的维度距离度量方式。\n\n```python\nfrom qdrant_client.http.models import Distance, VectorParams\n\nqdrant.create_collection(\n    collection_name=\"test_collection\",\n    vectors_config=VectorParams(size=4, distance=Distance.COSINE),\n)\n```\n\n### 3. 存入向量 (Upsert)\n\n将向量及其关联的负载（payload，如文本描述、ID 等）存入集合。\n\n```python\nfrom qdrant_client.http.models import PointStruct\n\npoints = [\n    PointStruct(id=1, vector=[0.05, 0.61, 0.76, 0.74], payload={\"city\": \"Berlin\"}),\n    PointStruct(id=2, vector=[0.19, 0.81, 0.75, 0.11], payload={\"city\": \"London\"}),\n    PointStruct(id=3, vector=[0.36, 0.55, 0.47, 0.94], payload={\"city\": \"Moscow\"}),\n]\n\nqdrant.upsert(\n    collection_name=\"test_collection\",\n    points=points,\n)\n```\n\n### 4. 执行搜索 (Search)\n\n根据查询向量查找最相似的点，并可结合负载过滤条件。\n\n```python\nsearch_result = qdrant.search(\n    collection_name=\"test_collection\",\n    query_vector=[0.2, 0.1, 0.9, 0.7],\n    limit=3,\n)\n\nprint(search_result)\n```\n\n至此，你已成功运行 Qdrant 并完成了基本的向量存取与搜索。更多高级功能（如稀疏向量、混合搜索、分布式部署）请参考官方详细文档。","某电商平台的研发团队正在构建一个支持“以图搜图”和“语义推荐”的智能商品搜索系统，需要处理千万级商品图像的特征向量。\n\n### 没有 qdrant 时\n- **检索速度缓慢**：随着商品数据量突破百万级，传统关系型数据库或简单的线性扫描导致搜索响应时间从毫秒级飙升至数秒，用户等待体验极差。\n- **过滤功能匮乏**：难以在执行向量相似度匹配的同时，高效结合“价格区间”、“品牌”、“库存状态”等业务字段进行精细筛选，往往需要先查出结果再在代码层二次过滤，效率低下。\n- **系统稳定性不足**：在高并发促销场景下，自建的向量检索服务常因内存溢出或锁竞争而崩溃，缺乏生产级的高可用保障。\n- **运维开发成本高**：团队需花费大量精力维护底层索引算法和分布式一致性，而非专注于业务逻辑优化。\n\n### 使用 qdrant 后\n- **毫秒级高性能检索**：依托 Rust 编写的高性能内核，qdrant 能在千万级向量库中实现毫秒级响应，即使在大促流量高峰也能保持丝滑流畅。\n- **原生混合搜索能力**：利用其强大的负载（Payload）过滤机制，开发者可直接在单次查询中完成“语义相似 + 多条件筛选”，无需额外的后处理步骤。\n- **生产级稳定可靠**：qdrant 提供了成熟的集群管理和容错机制，轻松应对高负载冲击，确保搜索服务 7x24 小时稳定运行。\n- **快速集成与迭代**：通过简洁的 Python 或 REST API 客户端，团队仅需数行代码即可完成向量存储与检索功能的接入，大幅缩短上线周期。\n\nqdrant 将复杂的向量检索基础设施转化为简单可靠的 API 服务，让开发者能专注于打造下一代 AI 驱动的智能应用体验。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fqdrant_qdrant_ececef31.png","Qdrant","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fqdrant_ae834484.png","Creating advanced vector search technology",null,"info@qdrant.com","qdrant_engine","https:\u002F\u002Fqdrant.tech\u002F","https:\u002F\u002Fgithub.com\u002Fqdrant",[84,88,92,96,100,104,107,110,113,116],{"name":85,"color":86,"percentage":87},"Rust","#dea584",87.3,{"name":89,"color":90,"percentage":91},"Python","#3572A5",11.4,{"name":93,"color":94,"percentage":95},"Shell","#89e051",0.7,{"name":97,"color":98,"percentage":99},"C","#555555",0.3,{"name":101,"color":102,"percentage":103},"Nix","#7e7eff",0.1,{"name":105,"color":106,"percentage":103},"Dockerfile","#384d54",{"name":108,"color":106,"percentage":109},"Just",0,{"name":111,"color":112,"percentage":109},"JavaScript","#f1e05a",{"name":114,"color":115,"percentage":109},"Mermaid","#ff3670",{"name":117,"color":78,"percentage":109},"RenderScript",30018,2148,"2026-04-03T21:34:17","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":125,"python":126,"dependencies":127},"Qdrant 核心服务使用 Rust 编写，推荐通过 Docker 容器部署（命令：docker run -p 6333:6333 qdrant\u002Fqdrant）。Python 客户端支持内存模式（:memory:）用于测试或持久化存储模式。生产环境部署需注意安全配置（默认启动不含认证）。支持多种编程语言客户端（Go, Rust, JS\u002FTS, .NET, Java 等）。","未说明 (客户端库支持 Python)",[128],"qdrant-client",[51,54,14,13],[131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150],"neural-network","search-engine","knn-algorithm","hnsw","vector-search","nearest-neighbor-search","image-search","embeddings-similarity","recommender-system","vector-search-engine","mlops","search-engines","neural-search","similarity-search","vector-database","machine-learning","search","ai-search","ai-search-engine","hybrid-search",7,"2026-03-27T02:49:30.150509","2026-04-06T05:16:54.783537",[155,160,165,170,175,179],{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},13719,"在 ARM64 设备（如 Raspberry Pi 5 或 QNAP NAS）上启动 Docker 镜像时遇到 \"\u003Cjemalloc>: Unsupported system page size\" 错误怎么办？","这是由于 ARM64 系统的页面大小（通常为 16KB）与构建时的默认设置不兼容导致的。解决方案是使用专门修复了 jemalloc 页面大小问题的 Docker 镜像。可以尝试使用社区提供的修复版本：docker run haktansuren\u002Fqdrant-pi5-fixed-jemalloc。如果不希望更换镜像，则需要修改内核页面大小或从头构建多阶段 Docker 镜像以适配当前系统的页面大小。","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fissues\u002F2474",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},13720,"删除并重新创建同名集合后，Qdrant 集群进入不可恢复状态（请求超时或返回 500 错误），如何解决？","这是一个在旧版本中已知的共识算法问题，通常在删除集合后立即用相同名称重建时触发。该问题已在 Qdrant v1.5.0 版本中通过 PR #2508 修复。请立即升级到 v1.5.0 或更高版本。如果当前集群已损坏且无法恢复，唯一的解决办法是卸载应用、清除持久化卷声明（PVC）、重新安装并重建数据。","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fissues\u002F1662",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},13721,"服务重启后出现 \"terminate called without an active exception\" 错误且无法通过端口访问，但 Docker 容器显示运行正常，该如何处理？","这通常是由写入负载过高导致内存溢出或内部异常引起的。有效的解决步骤包括：1. 限制写入速率（在客户端实施限流）；2. 增加容器或服务器的内存配置；3. 升级到最新版本（如 v1.9.1+）。此外，如果存在大量小集合，尝试将它们合并为一个大集合也可能缓解问题，但根本解决方法通常是控制写入并发量。","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fissues\u002F4195",{"id":171,"question_zh":172,"answer_zh":173,"source_url":174},13722,"如何将 Prometheus 监控指标细化到每个集合（Per-collection），以便观察不同集合的点数量或请求延迟？","Qdrant 已支持按集合粒度输出 Prometheus 指标。升级至包含该功能的最新版本后，\u002Fmetrics 端点将自动包含带有 collection 标签的指标。例如，您可以查询 grpc_responses_min_duration_seconds{endpoint=\"\u002Fqdrant.Points\u002FUpsert\",collection=\"my-collection\"} 来获取特定集合的上写延迟。无需创建额外的 API 端点，所有指标均已聚合在标准的 \u002Fmetrics 路径下。","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fissues\u002F3322",{"id":176,"question_zh":177,"answer_zh":178,"source_url":169},13723,"Qdrant 是否支持将副本节点配置为只读节点以分担读取流量？","目前原生不支持直接将副本节点设置为独立的“只读”模式。但是，您可以通过外部手段自行限制对副本节点的写入操作，从而实现类似的读写分离效果。开发团队正在规划相关的功能改进，但在当前版本中，建议通过负载均衡器或应用层逻辑来控制写入流向，仅将读请求分发到所有副本。",{"id":180,"question_zh":181,"answer_zh":182,"source_url":183},13724,"如何加速 Qdrant 的 CI Docker 构建过程以减少开发等待时间？","可以通过优化 Docker 构建策略来显著缩短时间。主要措施包括：1. 启用 Docker 层缓存；2. 在 CI 构建中禁用 `lto = \"fat\"`（链接时优化），仅在生产构建中保留；3. 避免在 CI 中使用第三方服务或改变构建逻辑。实施这些优化后，构建时间可从约 30 分钟减少到 20 分钟甚至更短。","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fissues\u002F1812",[185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280],{"id":186,"version":187,"summary_zh":188,"released_at":189},72629,"v1.17.1","# 更改日志\n\n## 改进\n\n* [里程碑#46](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F46?closed=1) - 延迟点更新，通过 `prevent_unoptimized=true` 高效应用并优化点\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8188 - 使 Gridstore 刷盘操作变为非阻塞，以降低搜索尾延迟\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8235 - 在负载值唯一的情况下提升过滤搜索的性能\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8402 - 将请求追踪 ID 添加到审计日志中\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8460 - 在加载分片时传播 WAL 错误，而非直接 panic\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8301 - 允许对等节点在 URI 为空时使用已用 URI 进行引导\n\n## Bug 修复\n\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8177 - GPU：修复原始 Vulkan 名称指针类型\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8193 - 修复在复制因子 > 1 的情况下创建未初始化分片键的问题，从而修复分层多租户工作流\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8217 - 防止在大量条件情况下出现 `min_should` panic\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8179 - 修复集群快照恢复过程中在 Partial 状态下创建不必要的副本的问题\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8220 - 修复在执行并发摄入时服务器断开连接且未发送响应的错误\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8341 - 安全补丁，强制仅从快照目录进行快照恢复\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8373 - 修复分片传输期间集合级别操作的锁问题\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8438 - 不再因虚拟分片而导致集合级别的操作失败\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8455 - 修复 1.17.0 版本引入的 WAL 读取问题\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8454 - 修复 WAL 重放中的另一处 panic\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8475 - 修复 WAL 增量传输问题：在等价剪枝之前拒绝截断的恢复点\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8514 - 修复地理索引中的错误警告\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8374 - 防止在慢速流式记录传输中长时间锁定分片持有者\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8480 - 修复优化器日志记录中的 panic\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8449 - 修复分块向量存储中的 panic\n\n## 预览功能\n\n这些功能尚未正式发布，但已在构建中提供：\n\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8214 - Prometheus 中的每个集合指标\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8498 - 用于读取审计日志条目的 API\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8469 - 严格模式下的最大批处理大小配置\n\n## Edge\n\n* Qdrant Edge 的 Rust 库 v0.6.0 - https:\u002F\u002Fcrates.io\u002Fcrates\u002Fqdrant-edge\n* Qdrant Edge 的 Python 包 v0.6.0 - https:\u002F\u002Fpypi.org\u002Fproject\u002Fqdrant-edge-py\u002F\n\n","2026-03-27T08:37:25",{"id":191,"version":192,"summary_zh":193,"released_at":194},72630,"v1.17.0","# 更改日志\n\n## 功能 🏋️\n\n* [里程碑#38](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F38?closed=1) - 相关性反馈（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fsearch-relevance\u002F#relevance-feedback)）\n* [里程碑#44](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F44?closed=1) - 用于获取优化进度和阶段详细报告的 API（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Foptimizer\u002F#optimization-monitoring)）\n* [里程碑#40](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F40?closed=1) - 用于获取整个集群聚合遥测数据的 API（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fmonitoring\u002F#cluster-wide-telemetry)）\n* [里程碑#43](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F43?closed=1) - 无限制的更新队列，可平滑处理更新峰值（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Flow-latency-search\u002F)）\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8071 - 添加审计访问日志记录（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fsecurity\u002F#audit-logging)）\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8063 - 添加加权 RRF（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fhybrid-queries\u002F#reciprocal-rank-fusion-rrf)）\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7643 - 添加配置选项以控制更新吞吐量并防止未优化的搜索（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Flow-latency-search\u002F)）\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7929 - 添加可配置的读取扇出延迟，以应对分布式集群中的尾部延迟（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Flow-latency-search\u002F#use-delayed-fan-outs)）\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7963 - 对于 upsert 操作，添加 `update_mode` 参数，可选择 `upsert`、`update` 或 `insert`（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fpoints\u002F#update-mode)）\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7835 - 添加二级 API 密钥配置，以实现分布式集群中零停机密钥轮换\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7838 - 为 `\u002Fmetrics` 端点添加专用 HTTP 端口，用于内部监控\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7615 - 添加列出分片键的 API（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fdistributed_deployment\u002F#user-defined-sharding)）\n\n## 改进 🤸\n\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7802 - 改进读取操作的超时处理\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7750 - 改进更新操作的超时处理，在 WAL 后发生超时更新时防止分片失败\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8025 - 在不创建中间文件的情况下恢复快照，大幅缩短恢复时间并减少磁盘使用\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8059 - 将快照直接恢复到目标文件系统，避免昂贵的文件移动操作\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7883 - 在快照解压后使用 `syncfs` 刷新，以更高效地持久化大量文件\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F8072 - 不锁定分片持有锁","2026-02-20T11:11:50",{"id":196,"version":197,"summary_zh":198,"released_at":199},72631,"v1.16.3","# 更改日志\n\n## 改进\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7755, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7588 - 在尝试访问分段时，尊重搜索和点检索的超时设置\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7685 - 在获取分片统计信息时，尊重遥测超时设置\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7715 - 记录快照下载的持续时间和速度\n\n## 错误修复\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7787, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7791 - 修复在先前的完整传输被中止后，WAL 增量传输会损坏副本的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7801, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7805 - 修复在出现瞬时磁盘 I\u002FO 错误时，刷新操作会丢失更改、可能导致数据损坏的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7792 - 修复在删除无关分片时，错误地中止分片传输的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7741 - 修复 Gridstore 中的刷新错误，该错误在快速交替执行插入和删除操作时，可能导致数据损坏\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7702 - 修复 Gridstore 中的刷新数据竞争问题，该问题在存储被并行清空时，可能导致数据损坏\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7759, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7782 - 修复对包含特殊字符的集合名称的处理问题，例如会导致快照传输失败的情况\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7788 - 修复快照指标并非总能在值为零时进行报告的问题（`snapshot_{creation,recovery}_running`、`snapshot_created_total`）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7783 - 修复在发生恐慌时，遥测中错误报告优化错误的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7765 - 修复在优化正在进行时，收到 SIGINT 信号导致关闭缓慢的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7690 - 修复 Qdrant 在 Windows ARM64 上无法构建的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7683 - 在开发版本中继续支持 RocksDB，直至 1.18.0 版本","2025-12-19T17:45:42",{"id":201,"version":202,"summary_zh":203,"released_at":204},72632,"v1.16.2","# 更改日志\n\n## 改进\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7607 - 改进遥测和指标的请求超时处理\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7623 - 为 Qdrant 服务器发出的 HTTP 请求添加用户代理\n\n## 错误修复\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7674 - 修复可能导致共识破裂或重启时数据损坏的严重 WAL 错误\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7684 - 修复在应用包含非复制集合的共识快照时发生的共识崩溃问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7620 - 修复在具有空 HNSW 图的分段上执行搜索时出现的恐慌\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7629、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7640、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7673 - 修复分片被替换时的资源清理问题，防止在低核心 CPU 上发生死锁\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7621、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7626 - 修复负载索引存储在移除后仍会继续刷新的问题，从而解决 Windows 系统上的数据损坏和 IO 错误\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7624、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7627 - 修复 Gridstore 存储在清空后仍会继续刷新的问题，从而解决数据损坏和 IO 错误\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7614、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7618 - 修复 Windows 下使用 Docker\u002FWSL 并通过绑定挂载方式导致存储损坏的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7678 - 修复 `collections_vector_total` 指标在没有向量时报告 -0.0 的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7649 - 在 `collection_indexed_only_excluded_points` 指标为零时也进行报告","2025-12-04T11:03:49",{"id":206,"version":207,"summary_zh":208,"released_at":209},72633,"v1.16.1","# 更改日志\n\n## 改进\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7514, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7572 - 通过仅读取每个点一次，使全表扫描的批量查询速度提升至多3倍\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7551 - 在启动时主动将向量、payload及payload索引存储从RocksDB迁移至Gridstore，以获得更好且更可预测的性能\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7579 - 为遥测\u002F指标端点添加60秒的内部超时，以防止长时间挂起的任务\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7557 - 添加对重启分片传输操作的验证\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7446 - 延迟Gridstore的刷盘操作，使刷盘行为与其他所有存储组件保持一致\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7580 - 改进共识WAL压缩的日志记录，以帮助调试\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7598 - 将推理请求的超时时间设为用户可配置\n\n## 错误修复\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7564 - 修复在未先升级到Qdrant 1.15.5的情况下，使用用户自定义分片的老集群启动时出现的恐慌\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7577 - 修复在共识快照期间特定时刻杀死节点会导致Raft协议中断的问题，从而防止潜在的崩溃循环\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7587 - 修复在WAL被清空或截断后，因异常的刷盘边缘情况而导致WAL损坏的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7570 - 修复在使用二值量化时，可变分段上重新评分默认值不正确的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7569, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7575 - 将搜索\u002F更新任务分配到正确的运行时环境中，显著减少通用线程和Actix线程的数量\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7558 - 修复分片传输中的数据竞争问题，在初始化分片之前等待传输开始\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7556 - 修复在尝试获取分段读锁失败一段时间后，日志消息显示不正确的问题","2025-11-25T17:16:19",{"id":211,"version":212,"summary_zh":213,"released_at":214},72634,"v1.16.0","# 变更日志\n\n## 功能特性 🌰\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F33?closed=1 - 内联存储：为 HNSW 图添加内联向量选项，以提高 I\u002FO 使用效率（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Foptimize\u002F#inline-storage-in-hnsw-index)）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F37?closed=1 - 分层多租户的租户提升机制：（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fmultitenancy\u002F#tiered-multitenancy)）\n  - 添加 `ReplicatePoints` 操作，用于将基于 payload 的租户提升为专用分片键（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fmultitenancy\u002F#promote-tenant-to-dedicated-shard)）\n  - 为智能路由添加回退分片键，以支持已提升或未提升为专用分片的租户（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fmultitenancy\u002F#query-tiered-multitenant-collection)）\n  - 在创建分片键时，允许指定新副本的初始状态\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7414 - 添加 ACORN-1 搜索方法，在牺牲性能的情况下对大量过滤后的点进行精确搜索（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fsearch\u002F#acorn-search-algorithm)）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7408 - 为全文索引添加 ASCII 折叠（规范化）功能，将变音符号折叠为 ASCII 字符（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Findexing\u002F#ascii-folding)）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7006 - 添加条件更新功能，仅对匹配过滤器的点应用更新（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fpoints\u002F#conditional-updates)）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7100 - 添加 `text_any` 全文过滤器，用于匹配任意查询词（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Foptimize\u002F#inline-storage-in-hnsw-index)）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7065 - 添加自定义 RRF `k` 参数的选项（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fhybrid-queries\u002F#parametrized-rrf)）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7222 - 在严格模式下，指定每个集合的最大 payload 索引数量\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7123 - 为集合添加自定义键值元数据（[文档](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fcollections\u002F#collection-metadata)）\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7291 - 添加性能分析器，用于记录慢速点更新和读取请求\n\n## 性能优化 🏎️\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7385 - 加载 Gridstore 时，将跟踪器数据预加载到内存中，以加快首次访问速度\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7407、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7405 - 在更新运行时启动更新和刷新工作线程，每个本地分片减少使用两个系统线程\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7413 - 在 WAL 中按需使用系统线程，默认情况下每个本地分片减少使用一个系统线程\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7468 - 在 HNSW 构建过程中使用原子位标志，显著提升索引性能","2025-11-17T14:32:11",{"id":216,"version":217,"summary_zh":218,"released_at":219},72635,"v1.15.5","# 更改日志\n\n## 改进\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7157 - 在刷新时确认按过滤器执行的更新\u002F删除操作，防止重启速度极慢\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7217、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7218、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7219、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7220、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7221 - 为 min_should、过滤器、批量更新向量点等添加 API 验证\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7235 - 向移除对等节点操作添加超时参数\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7320 - 减小内部更新批次大小，以最大限度地减少大规模用户批次上的搜索延迟峰值\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7233 - 限制并行加载的分段数量，防止大型集群出现潜在的内存溢出 (OOM)\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7222 - 添加严格模式配置，用于指定有效载荷索引的最大数量\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7240 - 改进可变 ID 跟踪器加载错误时的错误报告\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7151 - 改善刷新问题的错误报告\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7244 - 从集合信息中移除向量计数字段\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7177 - 不再对遥测数据中的对等节点 ID 进行匿名化处理\n\n## 错误修复\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7263 - 修复创建后未刷新可变 ID 跟踪器文件的问题，该问题可能导致分段损坏\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7248 - 修复快照创建结束时的数据竞争问题，该问题会导致部分向量点丢失\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7298、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7306 - 修复快照过程中发生的数据竞争问题，如果某个向量点被移动，可能会导致向量数据损坏\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7241、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7265、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7267、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7269、https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7277 - 修复在流式传输分片快照时 REST 运行时可能出现的死锁\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7015 - 修复 REST 服务器运行时可能出现的死锁\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7172 - 修复在获取所有向量时可能出现的递归死锁\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7203 - 修复滚动 API 中可能出现的死锁\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7303 - 修复从分段中错误删除旧版本向量点的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7194 - 修复带有重复向量点 ID 的 upsert 操作未能正确应用的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7252 - 修复短语匹配忽略未知标记的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7264 - 修复嵌套过滤器的严格模式验证问题","2025-09-30T12:23:50",{"id":221,"version":222,"summary_zh":223,"released_at":224},72636,"v1.15.4","# 更改日志\n\n## 改进\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7005 - 将 Docker 镜像大小缩减 10%-40%\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7073 - 调整指标直方图的桶区间，显示空桶并移除过小的桶\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7111 - 在 Docker 镜像中包含 SBOM\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7119 - 使用 cosign 对 Docker 镜像进行签名\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7110 - 积极迁移磁盘上的旧分片键格式，替换为更 robust 的新格式\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7120 - 更可靠地测量磁盘上的段大小，以改进可用磁盘空间检查\n\n## Bug 修复\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7133 - 修复未能正确加载某些全文索引类型的问题，该问题曾导致索引暂时为空\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7109 - 修复代理段中错误重用已删除旧点的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7106 - 在为快照代理所有段时保留段 ID 映射，避免可能出现的段混淆","2025-08-27T11:24:04",{"id":226,"version":227,"summary_zh":228,"released_at":229},72637,"v1.15.3","# 更改日志\n\n## 改进\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7002 - 优化 AVX 系统上的点积计算\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7049 - 在 Nix 软件包中，使用 rustup 进行 Rust 版本管理\n\n## 错误修复\n\n- \u003Chttps:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F7056> - 修复本地 BM25 因默认参数差异而无法按预期工作的问题\n","2025-08-14T16:30:06",{"id":231,"version":232,"summary_zh":233,"released_at":234},72638,"v1.15.2","# 更改日志\n\n## 改进\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6891 - 在 Qdrant 本地实现 BM25 推理\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6926 - 提升用于全文、整数等的可变映射索引性能\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6993 - 允许在将日志写入文件时调整日志缓冲区大小\n\n## 错误修复\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6954 - 通过将写入延迟至刷新操作，修复空索引存储中的一致性问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6977 - 通过将写入延迟至刷新操作，修复布尔索引存储中的一致性问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6994 - 通过将写入延迟至刷新操作，修复已删除向量的一致性问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6966 - 修复内存映射位标志结构中的刷新逻辑，提升数据一致性\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6975 - 在重放 WAL 日志之前删除无版本点，修复对损坏点的错误使用\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6952 - 修复在多节点环境下自定义分数提升公式中的日期时间错误\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6998 - 在分数提升公式验证错误中，每个索引类型仅显示一次\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6959 - 修复线性衰减函数的范围边界不包含端点的问题\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6958 - 修复 Debian 软件包中的默认存储路径及缺失的 Web UI 资源\n\n## Web UI\n\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-web-ui\u002Fpull\u002F299 - 在集群中以副本\u002F节点矩阵的形式展示集合的分片分布情况\n","2025-08-11T18:04:43",{"id":236,"version":237,"summary_zh":238,"released_at":239},72639,"v1.15.1","# Changelog\r\n\r\n## Improvements\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6931 - gRPC HealthCheck method now works without authentication, making it consistent with REST methods.\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6923 - Use populate storage components with `MADV_SEQUENTIAL` for better IO performance on indexing\r\n\r\n## Bug Fixes\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6932 - Fix point shard routing broken in 1.15 (**Points created in 1.15.0 in multi-shard collections might not behave properly on updates!**)\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6903 - Fix compile error in MUSL builds\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6910 - Fix panic in `\u002Fmetrics` on empty collection data\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6916 - Fix UUID index storage, resulted in missing filter results.\r\n\r\n","2025-07-24T10:18:56",{"id":241,"version":242,"summary_zh":243,"released_at":244},72640,"v1.15.0","# Change log\r\n\r\n## Features 📜\r\n\r\n* [milestone\u002F25](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F25?closed=1) - Phrase Matching in Full-Text index [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Findexing\u002F#phrase-search)]\r\n* [milestone\u002F28](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F28?closed=1) - Stop words support in Full-Text index [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Findexing\u002F#stopwords)]\r\n* [milestone\u002F29](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F29?closed=1) - New multilingual tokenizer enabled by default [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Findexing\u002F#tokenizers)]\r\n* [milestone\u002F32](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F32?closed=1) - Snowball Stemmer in Full-Text index, [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Findexing\u002F#stemmer)]\r\n* [milestone\u002F30](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F30?closed=1) - Asymmetric binary quantization [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fquantization\u002F#asymmetric-quantization)]\r\n* [milestone\u002F31](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F31?closed=1) - 2-bit and 1.5-bit Binary Quantization encoding [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fquantization\u002F#15-bit-and-2-bit-quantization)]\r\n* [milestone\u002F26](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F26?closed=1) - Maximum Marginal Relevance [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fhybrid-queries\u002F#maximal-marginal-relevance-mmr)]\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6682 - Verify file system compatibility on process start\r\n\r\n## Improvements 🪨\r\n\r\n* [milestone\u002F16](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F16?closed=1) - Migrate away from RocksDB\r\n* [milestone\u002F27](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F27?closed=1) - HNSW Healing on optimization\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6479 - Speedup additional links construction by measuring sub-graph connectivity\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6563, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6601 - Inference usage now reported in API response\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6611 - Added major and minor tags for Docker builds\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6685 - Speed up mutable posting list for upsertions\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6729 - Reuse quantized vectors during HNSW index building\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6713 - Optimize Gridstore insertions\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6750 - Use sequential reads when iterating over Gridstore\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6757 - Enable pod role based auth for S3 snapshots\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6725 - Improve read request handling during snapshot recovery\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6785 - Avoid re-optimizations when loading a mmap-backed immutable text index\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6778, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6817 - Properly handle inconsistencies in consensus during custom shards creation\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6779 - Avoid IO during evaluating HNSW index for re-optimization\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6796 - Use sequential reads for building quantized vectors\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6794 - Avoid double condition check during filtering\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6804 - Optimize `has_id` condition\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6844 - Adjust default values for better performance\r\n\r\n## Bug fixes 🫙\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6593 - Use ID tracker to estimate internal points range\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6614 - Improve Gridstore wipe\u002Fclear functionality\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6632 - Fix default replication factor\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6640 - Fix significant memory usage in Distance Matrix API on high sample size\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6739 - Fix IDF computation with deleted points\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6755 - Prevent shards from getting stuck in `Initializing` state\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6759 - Properly propagate inference errors\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6787 - Add flag to break optimization loop on panic\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6862 - Avoid blocking async runtime when loading local shard\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6800 - Fix bug that causes all replicas to die if node restarted during resharding\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6882 - Fix broken `is_empty` filter on new points\r\n\r\n## Web-UI 🎨\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-web-ui\u002Freleases\u002Ftag\u002Fv0.1.41 - New \"Create Collection\" form, Simplify JWT form, other fixes\r\n\r\n## Deprecations 🚧\r\n\r\n* `init_from` parameter of the collection creation API is deprecated and going to be removed in v1.16\r\n    * Reason: `init_from` creates false expectation of data consistency and reliability of this operation.\r\n    * Alternative: prefer usage of [migration tool](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fmigration) or [snapshots](https:\u002F\u002Fqdrant.tech","2025-07-18T13:08:28",{"id":246,"version":247,"summary_zh":248,"released_at":249},72641,"v1.14.1","# Change log\r\n\r\n## Improvements\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6458 - Speed up WAL-delta shard transfer significantly via batching and more careful synchronization\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6462 - Improve GPU indexing speed for payload-related HNSW links, reuse GPU resources\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6444, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6495, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6503, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6587 - Greatly improve payload index load time by replacing RocksDB with mmaps as persistence layer\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6446 - Make GridStore flush slightly faster, update gaps in batch\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6510 - Optimize GridStore reads, tell the kernel we use random reads\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6502 - Better IO\u002FCPU resource scheduling for optimizers\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6487 - Batch IO when merging segments in optimizer, improve indexing speed\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6513 - Buffer IO while reading files\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6501 - Speed up HNSW construction by improving heuristics computation\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6504 - Improve performance of `isEmpty` and `!isNull` conditions with a specialized index\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6536 - Limit S3 upload parallelism, prevent network errors on high CPU machines\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6548 - Add config option to limit number of collections\r\n\r\n## Bug fixes\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6403 - Fix potential inconsistency during index creation, make it atomic\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6478 - Address performance degradation for large batch queries with a lot of segments\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6445 - Fix not freeing all GridStore blocks if there are many updates\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6363 - Fix strict mode `unindexed_filtering_retrieve` not being enforced in `group_by` queries\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6498 - Fix strict mode `search_allow_exact` preventing full-scan in segments without main HNSW graph\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6505 - Abort shard transfers related to peer being force removed\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6533 - Always overwrite existing payload on upsert, fix REST vs gRPC discrepancy\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6549 - Correctly cancel on optimization failure, keep collection consistent on red status error\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6560 - Use HTTP 400 instead of 403 for strict mode errors, prevent web-ui from constantly asking new API key\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6582 - Register payload indices in consensus on snapshot recovery","2025-05-23T13:09:01",{"id":251,"version":252,"summary_zh":253,"released_at":254},72642,"v1.14.0","# Change log\r\n\r\n## Features 🍁\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fmilestone\u002F23 - Allow server-side score boosting with user-defined formula. See [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fhybrid-queries\u002F#score-boosting)]\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6256 - New `sum_scores` recommendation strategy. Useful for implementing relevance feedback. See [[Docs](https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fexplore\u002F#sum-scores-strategy)]\r\n\r\n## Improvements 🌳\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6325 - Incremental HNSW building. Segment optimized will partially re-use existing HNSW graph on merging segments.\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6323, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6396 - Improve eviction strategy for unused disk cache\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6303 - Minor optimizations for memory allocations\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6385 - Minor internal optimizations\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6357 - Rethink behavior of `offset` parameter in case of a query with `prefetch`. Now offset is only applied to the prefetch result and is not propagated into prefetch query.\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6326 - Parallelize large segment search batches\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6390 - Better organized `telemetry` details levels generate less overhead by excluding segment-level details\r\n\r\n## Bug Fixes 🌵\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6289 - Scroll lock: make sure no segments are modified between scroll and retrieve\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6297, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6293 - Prevent crash on failed shard recovery. Instead, qdrant will load dummy shard, which can be recovered via API\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6383 - Fix delayed flush wrapper. Before this fix, payload indexes might temporary loose unflushed updates after flush operation is started and before it is finished.\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6364 - Abort resharding if any Resharding replica is to be marked dead\r\n\r\n## Web-ui 🌾\r\n\r\n* https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant-web-ui\u002Fpull\u002F272 - Full query auto-completion","2025-04-22T16:34:34",{"id":256,"version":257,"summary_zh":258,"released_at":259},72643,"v1.13.6","# Change log\r\n\r\n## Improvements\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6279 - In query API, read vectors\u002Fpayloads once at shard level instead of in every segment, greatly improve search performance when there's lots of segments\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6276 - In query API, don't send huge vectors\u002Fpayloads over internal network, defer reads to greatly improve search performance\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6260 - Improve performance of resharding transfers, make them faster on slow disks or with high memory pressure\r\n\r\n## Bug fixes\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6259 - Fix point estimation in resharding transfers, showing a more reliable ETA\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6233 - Fix order_by not always including all values for a point if there are multiple","2025-03-31T23:28:22",{"id":261,"version":262,"summary_zh":263,"released_at":264},72644,"v1.13.5","# Change log\r\n\r\n## Improvements\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6015 - Split CPU budget into CPU and IO to better saturate resources during optimization\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6088 - Enhance payload indices to handle IsEmpty and IsNull conditions much more efficiently\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6022, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6023 - Optimize ID tracker in immutable segments by compressing point mappings and versions\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6056 - Apply undersampling at shard level, significantly improve query performance on large deployments with large search limit\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6040 - Trigger optimizers more reliably on changes, prevent optimizers potentially getting stuck\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6085 - Significantly improve performance of point delete propagation during resharding on large deployments\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6021 - Configure memory barriers in GPU HNSW building to prevent potential race conditions\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6074 - Use approximate point count at start of shard transfer to make them start quicker\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6165 - Show log message if hardware reporting is enabled\r\n\r\n## Bug fixes\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6212 - Fix user-defined sharding not being applied in consensus snapshots, potentially corrupting cluster\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6209 - Fix malformed user-defined sharding data in consensus snapshots if using numeric shard keys, potentially corrupting cluster\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6014 - Fix cluster metadata not being in consensus snapshots, potentially causing cluster state desync\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6210 - Fix resharding state not being applied with consensus snapshots, potentially causing cluster state desync\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6202 - Fix snapshot restore error when numeric user-defined shard keys are used\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6086 - Fix potential panic while propagating point deletions during resharding\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6032, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6069 - Don't load or restore segments from hidden files, prevent breakage on hidden files in storage by other tools\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6037 - Fix search panic after HNSW creation with GPU when on NVIDIA\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6029 - Fix write rate limit not being properly set in strict mode\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6118 - Do not rate limit reads for shard transfers in strict mode, it's internal\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6121 - Do not rate limit shard cleanup operation in strict mode, it's internal\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6152 - Properly rate limit batch point updates\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6038 - Keep existing shard configuration if snapshot restore failed to prevent panic on startup\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6010 - Use configured CA certificate for internal snapshot transfers\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6108, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6115, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6160 - Fix opt-in anonymization of various telemetry fields\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F6065 - Don't show warning if bootstrap URI is not provided","2025-03-21T15:48:38",{"id":266,"version":267,"summary_zh":268,"released_at":269},72645,"v1.13.4","# Change log\r\n\r\n## Improvements\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5967 - Set maximum number of points in a collection with strict mode\r\n\r\n## Bug fixes\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fcommit\u002Fb2782ff11f60b25731e07ced3f923cb1e8fe8e97 - Fix HNSW index not respecting on-disk flag, using the inverse setting\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5991 - Do not deactivate replica or abort transfer if target is missing point, it may not be transferred yet\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5987 - Fix potential deadlock in consensus logic, which could get a node stuck\r\n","2025-02-17T12:53:02",{"id":271,"version":272,"summary_zh":273,"released_at":274},72646,"v1.13.3","# Change log\r\n\r\n## Improvements\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5903 - Enable consensus compaction by default, enables fast peer joining and recovery\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5956, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5962 - Delete old point versions on update, prevent old points showing up in reads\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5870 - Don't include unversioned points in reads, don't include partially persisted points in searches\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5871 - Don't include unversioned points in writes, don't use partially persisted points in updates\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5904, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5916, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5950 - Pass peer\u002Fbootstrap URI with environment variables, support simpler cluster setups\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5728 - Improve consensus loop, prevent excessive Raft elections\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5946 - Normalize URL paths in REST API\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5917 - Add HTTP Retry-After header in REST response if rate limiter is exhausted\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5915 - Simplify locks in RocksDB buffer wrapper, use single long rather than two\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5942 - Add default log format property to configuration file\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5906 - Update roadmap for 2025\r\n\r\n\r\n## Bug fixes\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5938 - Fix panic when building of memory mapped sparse vector storage was interrupted\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5877 - Rate limit prefetches in query API\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5900, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5905, https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5914 - Fix potential panic during consensus compaction\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5910 - In query API, shortcut on empty retrieve query\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5908 - Fix flush logic in RocksDB based vector storage, don't eagerly persist changes\r\n","2025-02-11T17:13:21",{"id":276,"version":277,"summary_zh":278,"released_at":279},72647,"v1.13.2","# Change log\r\n\r\n## Improvements\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5891 - Add support for GPUs not featuring half floats, falling back to full floats\r\n\r\n## Bug fixes\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5882 - Fix blob store for payloads and sparse vectors potentially panicking when inserting large value\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5866 - Fix optimizers reusing points with no version, improving data resilience","2025-01-28T14:03:53",{"id":281,"version":282,"summary_zh":283,"released_at":284},72648,"v1.13.1","# Change log\r\n\r\n## Improvements\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5820 - Improve performance and memory usage of segment merging in optimizers\r\n\r\n## Bug fixes\r\n\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5848 - Fix potential panic in search after GPU HNSW building\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5847 - Fix potential panic in GPU HNSW building when having empty payload index\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5819 - Fix set payload by key on in-memory payload storage not persisting properly\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5861 - Fix memory mapped sparse vector storage not flushing mappings properly\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5838 - Fix user-defined sharding not persisting numeric shard keys properly\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5842 - Do not flush empty memory maps to prevent panic on macOS\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5843 - Do not flush explicitly when unloading blob storage\r\n- https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Fpull\u002F5845 - Fix potential panic in full text index due to missed bound check\r\n","2025-01-23T17:12:55"]