Qdrant Python客户端: 功能强大的向量搜索引擎SDK

Ray

Qdrant Python客户端:功能强大的向量搜索引擎SDK

Qdrant Python客户端是专为Qdrant向量搜索引擎设计的官方SDK,提供了完整的API支持和丰富的功能特性,帮助开发者快速构建和管理高性能的向量搜索应用。

主要特性

  • 完整的API类型定义,支持同步和异步请求
  • 本地模式无需运行服务器即可使用
  • 支持REST和gRPC协议
  • 依赖少,易于集成
  • 广泛的测试覆盖

安装

通过pip安装:

pip install qdrant-client

快速入门

  1. 连接到Qdrant服务器:
from qdrant_client import QdrantClient

client = QdrantClient(host="localhost", port=6333)
  1. 创建集合:
from qdrant_client.models import Distance, VectorParams

client.create_collection(
    collection_name="my_collection",
    vectors_config=VectorParams(size=100, distance=Distance.COSINE),
)
  1. 插入向量:
import numpy as np
from qdrant_client.models import PointStruct

vectors = np.random.rand(100, 100)
client.upsert(
    collection_name="my_collection",
    points=[
        PointStruct(
            id=idx,
            vector=vector.tolist(),
            payload={"color": "red", "rand_number": idx % 10}
        )
        for idx, vector in enumerate(vectors)
    ]
)
  1. 搜索相似向量:
query_vector = np.random.rand(100)
hits = client.search(
    collection_name="my_collection",
    query_vector=query_vector,
    limit=5  # 返回5个最相似的点
)
  1. 带过滤条件的搜索:
from qdrant_client.models import Filter, FieldCondition, Range

hits = client.search(
    collection_name="my_collection",
    query_vector=query_vector,
    query_filter=Filter(
        must=[
            FieldCondition(
                key='rand_number',
                range=Range(gte=3)
            )
        ]
    ),
    limit=5
)

本地模式

Qdrant Python客户端支持本地模式,无需运行Qdrant服务器即可使用相同的API:

client = QdrantClient(":memory:")  # 内存模式
# 或
client = QdrantClient(path="path/to/db")  # 持久化到磁盘

本地模式适用于开发、原型设计和测试场景,可以在Colab或Jupyter Notebook中直接使用,无需额外依赖。当需要扩展时,只需切换到服务器模式即可。

FastEmbed集成

Qdrant客户端集成了FastEmbed库,可以直接在CPU上高效创建向量嵌入:

pip install qdrant-client[fastembed]

使用FastEmbed简化API:

from qdrant_client import QdrantClient

client = QdrantClient(":memory:")

docs = ["Qdrant has Langchain integrations", "Qdrant also has Llama Index integrations"]
metadata = [
    {"source": "Langchain-docs"},
    {"source": "Linkedin-docs"},
]
ids = [42, 2]

client.add(
    collection_name="demo_collection",
    documents=docs,
    metadata=metadata,
    ids=ids
)

search_result = client.query(
    collection_name="demo_collection",
    query_text="This is a query document"
)
print(search_result)

异步客户端

从1.6.1版本开始,所有Python客户端方法都有异步版本:

from qdrant_client import AsyncQdrantClient, models
import asyncio

async def main():
    client = AsyncQdrantClient(url="http://localhost:6333")
    
    await client.create_collection(
        collection_name="my_collection",
        vectors_config=models.VectorParams(size=10, distance=models.Distance.COSINE),
    )
    
    # 异步上传点
    await client.upsert(
        collection_name="my_collection",
        points=[
            models.PointStruct(
                id=i,
                vector=np.random.rand(10).tolist(),
            )
            for i in range(100)
        ],
    )
    
    # 异步搜索
    res = await client.search(
        collection_name="my_collection",
        query_vector=np.random.rand(10).tolist(),
        limit=10,
    )
    
    print(res)

asyncio.run(main())

异步客户端同时支持gRPC和REST API。

连接到Qdrant Cloud

Qdrant提供了云服务,可以快速获得一个1GB RAM的免费账户:

from qdrant_client import QdrantClient

qdrant_client = QdrantClient(
    url="https://xxxxxx-xxxxx-xxxxx-xxxx-xxxxxxxxx.us-east.aws.cloud.qdrant.io:6333",
    api_key="<your-api-key>",
)

总结

Qdrant Python客户端提供了丰富的功能和灵活的使用方式,包括完整的API支持、本地模式、FastEmbed集成、异步操作等,可以满足各种向量搜索应用场景的需求。无论是快速原型开发还是大规模生产部署,都能提供高效便捷的开发体验。

更多详细信息和高级用法,请参阅官方文档。Qdrant活跃的社区也是获取帮助和分享经验的好地方。希望这个强大的工具能够帮助您构建出色的向量搜索应用!

Qdrant Python Client

avatar
0
0
0
相关项目
Project Cover

qdrant

Qdrant是一个面向AI应用的向量相似性搜索引擎和数据库,提供了一个便捷的API用于存储、搜索和管理数据点。它支持扩展筛选,可用于各种基于神经网络或语义匹配的应用,如分面搜索等。Qdrant支持完全托管的云服务,包括免费层。具备高性能和可扩展性,适用于各种规模的部署。

Project Cover

fastembed

FastEmbed,一个为速度和效率优化的Python库,支持多语言且易于扩展的嵌入式模型生成工具,适用于服务器和GPU环境。简化高效编码,无需依赖庞大的数据下载,适用于多种数据类型和复杂任务,是开发精确嵌入系统的理想工具。

Project Cover

CASALIOY

CASALIOY项目是一款高效的离线LLM工具套件,支持最新的GGUF标准、LangChain和qdrant集成。用户可以通过Docker或源码轻松部署,并通过命令行或GUI与本地文档库交互。详细的安装指南和示例配置文件方便用户快速上手,支持多种数据格式的处理和数据的本地存储,确保数据安全。本项目附有更新支持。

Project Cover

drqa

该项目构建了一个结合Langchain与大型语言模型(如OpenAI的GPT-3)的问答系统,旨在准确回答问题。系统前端采用React/Typescript开发,后端使用FastAPI框架,实现了PDF文档到文本的转换和嵌入处理,同时支持多种文档类型并优化了搜索与检索速度。项目有效减少了API调用成本,并规划了多项未来改进,如流处理、缓存机制、UI优化和长对话的记忆与总结功能。

Project Cover

Feishu-Vector-Knowledge-Management

Feishu Vector Knowledge Management结合Feishu-OpenAI与私有知识库,具备知识库问答、CSV数据导入创建、网页与文件数据管理及记录查询功能。利用Embeddings和Qdrant技术,降低token成本,提高知识管理查询效率。通过docker-compose轻松部署,适用于企业日常知识管理需求。

Project Cover

qdrant-client

为Qdrant向量搜索引擎提供同步和异步API,支持本地模式、REST和gRPC协议,以及FastEmbed简化接口。依赖少,适用于开发、测试和生产环境。

Project Cover

qdrant-js

qdrant-js是Qdrant向量搜索引擎的JavaScript/TypeScript开发工具包。它包含qdrant-js、js-client-rest和js-client-grpc三个主要模块,分别提供核心SDK、REST客户端和gRPC客户端功能。该工具包支持Node.js、Deno、浏览器和Cloudflare Workers等多种环境,并提供简洁的API,方便开发者与Qdrant引擎进行交互和集成。

Project Cover

Qdrant

Qdrant是一款开源向量数据库和相似度搜索引擎,专注于高维向量处理和大规模AI应用。基于Rust开发,Qdrant提供高性能和可靠性,支持云原生扩展和高可用性。它易于部署使用,具有成本效益的存储选项。Qdrant适用于高级搜索、推荐系统、检索增强生成(RAG)、数据分析和异常检测等场景。作为新一代AI应用的基础,Qdrant能处理数十亿向量,满足企业级需求。

Project Cover

all_miniLM_L6_v2_with_attentions

基于MiniLM-L6-v2架构开发的句子相似度模型,通过整合注意力权重机制增强了文本搜索能力。模型采用ONNX格式发布,可与FastEmbed库无缝集成,支持稀疏嵌入生成,在大规模文本检索场景中表现出色。该模型针对BM42搜索进行了特别优化,能有效提升检索准确度。

最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号