langchain_community.vectorstores.qdrant.Qdrant

class langchain_community.vectorstores.qdrant.Qdrant(client: Any, collection_name: str, embeddings: Optional[Embeddings] = None, content_payload_key: str = 'page_content', metadata_payload_key: str = 'metadata', distance_strategy: str = 'COSINE', vector_name: Optional[str] = None, async_client: Optional[Any] = None, embedding_function: Optional[Callable] = None)[source]

[Deprecated] `Qdrant`向量存储。

要使用,您应该已安装``qdrant-client``包。

示例:
from qdrant_client import QdrantClient
from langchain_community.vectorstores import Qdrant

client = QdrantClient()
collection_name = "MyCollection"
qdrant = Qdrant(client, collection_name, embedding_function)

Notes

Deprecated since version 0.0.37.

使用必要的组件进行初始化。

Attributes

CONTENT_KEY

METADATA_KEY

VECTOR_NAME

embeddings

如果可用,访问查询嵌入对象。

Methods

__init__(client, collection_name[, ...])

使用必要的组件进行初始化。

aadd_documents(documents, **kwargs)

运行更多的文档通过嵌入并添加到向量存储中。

aadd_texts(texts[, metadatas, ids, batch_size])

运行更多的文本通过嵌入并添加到向量存储。

aconstruct_instance(texts, embedding[, ...])

add_documents(documents, **kwargs)

运行更多的文档通过嵌入并添加到向量存储中。

add_texts(texts[, metadatas, ids, batch_size])

运行更多的文本通过嵌入并添加到向量存储。

adelete([ids])

根据向量ID或其他条件删除。

afrom_documents(documents, embedding, **kwargs)

返回从文档和嵌入初始化的VectorStore。

afrom_texts(texts, embedding[, metadatas, ...])

从文本列表构建Qdrant包装器。

amax_marginal_relevance_search(query[, k, ...])

返回使用最大边际相关性选择的文档。

amax_marginal_relevance_search_by_vector(...)

返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数: query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 fetch_k:要获取以传递给MMR算法的文档数量。 默认为20。 lambda_mult:0到1之间的数字,确定结果中多样性的程度, 其中0对应最大多样性,1对应最小多样性。 默认为0.5。 filter:按元数据过滤。默认为None。 search_params:额外的搜索参数 score_threshold: 为结果定义最小分数阈值。 如果定义了,那么不会返回较不相似的结果。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。 consistency: 搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - 'majority' - 查询所有副本,但返回大多数副本中存在的值 - 'quorum' - 查询大多数副本,返回所有这些副本中存在的值 - 'all' - 查询所有副本,并返回所有副本中存在的值 **kwargs: 要传递给AsyncQdrantClient.Search()的其他命名参数。 返回: 通过最大边际相关性和距离选择的文档列表。

amax_marginal_relevance_search_with_score_by_vector(...)

返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数: query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 fetch_k:要获取以传递给MMR算法的文档数量。 默认为20。 lambda_mult:0到1之间的数字,确定结果之间多样性的程度, 其中0对应最大多样性,1对应最小多样性。 默认为0.5。 返回: 通过最大边际相关性和距离选择的文档列表。

as_retriever(**kwargs)

返回从此VectorStore初始化的VectorStoreRetriever。

asearch(query, search_type, **kwargs)

返回使用指定搜索类型的查询最相似的文档。

asimilarity_search(query[, k, filter])

返回与查询最相似的文档。 参数: query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 filter:按元数据过滤。默认为None。 返回: 与查询最相似的文档列表。

asimilarity_search_by_vector(embedding[, k, ...])

返回与嵌入向量最相似的文档。

asimilarity_search_with_relevance_scores(query)

返回文档和相关性分数在范围[0, 1]内,异步执行。

asimilarity_search_with_score(query[, k, ...])

返回与查询最相似的文档。

asimilarity_search_with_score_by_vector(...)

返回与嵌入向量最相似的文档。

construct_instance(texts, embedding[, ...])

delete([ids])

根据向量ID或其他条件删除。

from_documents(documents, embedding, **kwargs)

返回从文档和嵌入初始化的VectorStore。

from_existing_collection(embedding, path, ...)

获取现有Qdrant集合的实例。 该方法将返回存储的实例,而不会插入任何新的嵌入。

from_texts(texts, embedding[, metadatas, ...])

从文本列表构建Qdrant包装器。

max_marginal_relevance_search(query[, k, ...])

返回使用最大边际相关性选择的文档。

max_marginal_relevance_search_by_vector(...)

返回使用最大边际相关性选择的文档。

max_marginal_relevance_search_with_score_by_vector(...)

返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数: query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 fetch_k:要获取以传递给MMR算法的文档数量。默认为20。 lambda_mult:0到1之间的数字,确定结果中多样性的程度,0对应最大多样性,1对应最小多样性。默认为0.5。 filter:按元数据过滤。默认为None。 search_params:额外的搜索参数 score_threshold: 为结果定义最小分数阈值。 如果定义了,相似性较低的结果将不会被返回。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回较高的分数。 consistency: 搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - 'majority' - 查询所有副本,但返回大多数副本中存在的值 - 'quorum' - 查询大多数副本,返回所有这些副本中存在的值 - 'all' - 查询所有副本,并返回所有副本中存在的值 **kwargs: 要传递给QdrantClient.search()的任何其他命名参数 返回: 通过最大边际相关性和距离选择的文档列表。

search(query, search_type, **kwargs)

返回使用指定搜索类型的查询最相似的文档。

similarity_search(query[, k, filter, ...])

返回与查询最相似的文档。

similarity_search_by_vector(embedding[, k, ...])

返回与嵌入向量最相似的文档。

similarity_search_with_relevance_scores(query)

返回文档和相关性得分在[0, 1]范围内。

similarity_search_with_score(query[, k, ...])

返回与查询最相似的文档。

similarity_search_with_score_by_vector(embedding)

返回与嵌入向量最相似的文档。

Parameters
  • client (Any) –

  • collection_name (str) –

  • embeddings (Optional[Embeddings]) –

  • content_payload_key (str) –

  • metadata_payload_key (str) –

  • distance_strategy (str) –

  • vector_name (Optional[str]) –

  • async_client (Optional[Any]) –

  • embedding_function (Optional[Callable]) –

__init__(client: Any, collection_name: str, embeddings: Optional[Embeddings] = None, content_payload_key: str = 'page_content', metadata_payload_key: str = 'metadata', distance_strategy: str = 'COSINE', vector_name: Optional[str] = None, async_client: Optional[Any] = None, embedding_function: Optional[Callable] = None)[source]

使用必要的组件进行初始化。

Parameters
  • client (Any) –

  • collection_name (str) –

  • embeddings (Optional[Embeddings]) –

  • content_payload_key (str) –

  • metadata_payload_key (str) –

  • distance_strategy (str) –

  • vector_name (Optional[str]) –

  • async_client (Optional[Any]) –

  • embedding_function (Optional[Callable]) –

async aadd_documents(documents: List[Document], **kwargs: Any) List[str]

运行更多的文档通过嵌入并添加到向量存储中。

参数:

documents (List[Document]): 要添加到向量存储中的文档。

返回:

List[str]: 添加的文本的ID列表。

Parameters
  • documents (List[Document]) –

  • kwargs (Any) –

Return type

List[str]

async aadd_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, ids: Optional[Sequence[str]] = None, batch_size: int = 64, **kwargs: Any) List[str][source]

运行更多的文本通过嵌入并添加到向量存储。

参数:

texts:要添加到向量存储的字符串的可迭代对象。 metadatas:与文本相关联的元数据的可选列表。 ids:

与文本相关联的id的可选列表。 Id必须是类似uuid的字符串。

batch_size:

每个请求上传多少向量。 默认值:64

返回:

将文本添加到向量存储中的id列表。

Parameters
  • texts (Iterable[str]) –

  • metadatas (Optional[List[dict]]) –

  • ids (Optional[Sequence[str]]) –

  • batch_size (int) –

  • kwargs (Any) –

Return type

List[str]

async classmethod aconstruct_instance(texts: List[str], embedding: Embeddings, location: Optional[str] = None, url: Optional[str] = None, port: Optional[int] = 6333, grpc_port: int = 6334, prefer_grpc: bool = False, https: Optional[bool] = None, api_key: Optional[str] = None, prefix: Optional[str] = None, timeout: Optional[float] = None, host: Optional[str] = None, path: Optional[str] = None, collection_name: Optional[str] = None, distance_func: str = 'Cosine', content_payload_key: str = 'page_content', metadata_payload_key: str = 'metadata', vector_name: Optional[str] = None, shard_number: Optional[int] = None, replication_factor: Optional[int] = None, write_consistency_factor: Optional[int] = None, on_disk_payload: Optional[bool] = None, hnsw_config: Optional[common_types.HnswConfigDiff] = None, optimizers_config: Optional[common_types.OptimizersConfigDiff] = None, wal_config: Optional[common_types.WalConfigDiff] = None, quantization_config: Optional[common_types.QuantizationConfig] = None, init_from: Optional[common_types.InitFrom] = None, on_disk: Optional[bool] = None, force_recreate: bool = False, **kwargs: Any) Qdrant[source]
Parameters
  • texts (List[str]) –

  • embedding (Embeddings) –

  • location (Optional[str]) –

  • url (Optional[str]) –

  • port (Optional[int]) –

  • grpc_port (int) –

  • prefer_grpc (bool) –

  • https (Optional[bool]) –

  • api_key (Optional[str]) –

  • prefix (Optional[str]) –

  • timeout (Optional[float]) –

  • host (Optional[str]) –

  • path (Optional[str]) –

  • collection_name (Optional[str]) –

  • distance_func (str) –

  • content_payload_key (str) –

  • metadata_payload_key (str) –

  • vector_name (Optional[str]) –

  • shard_number (Optional[int]) –

  • replication_factor (Optional[int]) –

  • write_consistency_factor (Optional[int]) –

  • on_disk_payload (Optional[bool]) –

  • hnsw_config (Optional[common_types.HnswConfigDiff]) –

  • optimizers_config (Optional[common_types.OptimizersConfigDiff]) –

  • wal_config (Optional[common_types.WalConfigDiff]) –

  • quantization_config (Optional[common_types.QuantizationConfig]) –

  • init_from (Optional[common_types.InitFrom]) –

  • on_disk (Optional[bool]) –

  • force_recreate (bool) –

  • kwargs (Any) –

Return type

Qdrant

add_documents(documents: List[Document], **kwargs: Any) List[str]

运行更多的文档通过嵌入并添加到向量存储中。

参数:

documents (List[Document]): 要添加到向量存储中的文档。

返回:

List[str]: 添加的文本的ID列表。

Parameters
  • documents (List[Document]) –

  • kwargs (Any) –

Return type

List[str]

add_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, ids: Optional[Sequence[str]] = None, batch_size: int = 64, **kwargs: Any) List[str][source]

运行更多的文本通过嵌入并添加到向量存储。

参数:

texts:要添加到向量存储的字符串的可迭代对象。 metadatas:与文本相关联的元数据的可选列表。 ids:

与文本相关联的id的可选列表。 Id必须是类似uuid的字符串。

batch_size:

每个请求上传多少向量。 默认值:64

返回:

将文本添加到向量存储中的id列表。

Parameters
  • texts (Iterable[str]) –

  • metadatas (Optional[List[dict]]) –

  • ids (Optional[Sequence[str]]) –

  • batch_size (int) –

  • kwargs (Any) –

Return type

List[str]

async adelete(ids: Optional[List[str]] = None, **kwargs: Any) Optional[bool][source]

根据向量ID或其他条件删除。

参数:

ids:要删除的ID列表。 **kwargs:子类可能使用的其他关键字参数。

返回:

如果删除成功则为True,否则为False。

Parameters
  • ids (Optional[List[str]]) –

  • kwargs (Any) –

Return type

Optional[bool]

async classmethod afrom_documents(documents: List[Document], embedding: Embeddings, **kwargs: Any) VST

返回从文档和嵌入初始化的VectorStore。

Parameters
Return type

VST

async classmethod afrom_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[dict]] = None, ids: Optional[Sequence[str]] = None, location: Optional[str] = None, url: Optional[str] = None, port: Optional[int] = 6333, grpc_port: int = 6334, prefer_grpc: bool = False, https: Optional[bool] = None, api_key: Optional[str] = None, prefix: Optional[str] = None, timeout: Optional[float] = None, host: Optional[str] = None, path: Optional[str] = None, collection_name: Optional[str] = None, distance_func: str = 'Cosine', content_payload_key: str = 'page_content', metadata_payload_key: str = 'metadata', vector_name: Optional[str] = None, batch_size: int = 64, shard_number: Optional[int] = None, replication_factor: Optional[int] = None, write_consistency_factor: Optional[int] = None, on_disk_payload: Optional[bool] = None, hnsw_config: Optional[common_types.HnswConfigDiff] = None, optimizers_config: Optional[common_types.OptimizersConfigDiff] = None, wal_config: Optional[common_types.WalConfigDiff] = None, quantization_config: Optional[common_types.QuantizationConfig] = None, init_from: Optional[common_types.InitFrom] = None, on_disk: Optional[bool] = None, force_recreate: bool = False, **kwargs: Any) Qdrant[source]

从文本列表构建Qdrant包装器。

参数:

texts:要在Qdrant中索引的文本列表。 embedding:`Embeddings`的子类,负责文本向量化。 metadatas:

可选的元数据列表。如果提供,必须与文本列表的长度相同。

ids:

与文本关联的可选id列表。Ids必须是类似uuid的字符串。

location:

如果是 :memory: - 使用内存中的Qdrant实例。 如果是 str - 将其用作 url 参数。 如果是 None - 回退到依赖 hostport 参数。

url:格式为 “Optional[scheme], host, Optional[port], Optional[prefix]” 的主机或字符串。默认值:None port:REST API接口的端口。默认值:6333 grpc_port:gRPC接口的端口。默认值:6334 prefer_grpc:

如果为True - 在自定义方法中尽可能使用gRPC接口。默认值:False

https:如果为True - 使用HTTPS(SSL)协议。默认值:None api_key:用于在Qdrant Cloud中进行身份验证的API密钥。默认值:None prefix:

如果不是None - 将前缀添加到REST URL路径中。 示例:service/v1 将导致REST API的URL路径为

http://localhost:6333/service/v1/{qdrant-endpoint}。默认值:None

timeout:

REST和gRPC API请求的超时时间。 默认值:REST为5.0秒,gRPC为无限制

host:

Qdrant服务的主机名。如果url和host都为None,则设置为’localhost’。默认值:None

path:

在本地模式下存储向量的路径。默认值:None

collection_name:

要使用的Qdrant集合的名称。如果未提供,将随机创建。默认值:None

distance_func:

距离函数。可选值为:”Cosine” / “Euclid” / “Dot”。默认值:”Cosine”

content_payload_key:

用于存储文档内容的有效载荷键。默认值:”page_content”

metadata_payload_key:

用于存储文档元数据的有效载荷键。默认值:”metadata”

vector_name:

在Qdrant内部使用的向量名称。默认值:None

batch_size:

每个请求上传多少个向量。默认值:64

shard_number:集合中的分片数量。默认值为1,最小值为1。 replication_factor:

集合的复制因子。默认值为1,最小值为1。 定义每个分片将创建多少个副本。 仅在分布式模式下生效。

write_consistency_factor:

集合的写入一致性因子。默认值为1,最小值为1。 定义多少个副本应用操作,我们才认为操作成功。 增加此数字将使集合更具抗干扰性,但如果副本不足,将导致失败。 不会对性能产生任何影响。 仅在分布式模式下生效。

on_disk_payload:

如果为True - 点的有效载荷将不会存储在内存中。 每次请求时都会从磁盘中读取。此设置通过(轻微地)增加响应时间来节省RAM。 注意:涉及过滤并且已索引的有效载荷值仍保留在RAM中。

hnsw_config:HNSW索引的参数 optimizers_config:优化器的参数 wal_config:Write-Ahead-Log的参数 quantization_config:

量化的参数,如果为None - 将禁用量化

init_from:

使用存储在另一个集合中的数据初始化此集合

force_recreate:

强制重新创建集合

**kwargs:

直接传递给REST客户端初始化的其他参数

这是一个用户友好的接口,可以: 1. 为每个文本创建嵌入 2. 默认情况下将Qdrant数据库初始化为内存中的文档存储库

(并可覆盖为远程文档存储库)

  1. 将文本嵌入添加到Qdrant数据库

这旨在是一个快速入门的方式。

示例:
from langchain_community.vectorstores import Qdrant
from langchain_community.embeddings import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()
qdrant = await Qdrant.afrom_texts(texts, embeddings, "localhost")
Parameters
  • texts (List[str]) –

  • embedding (Embeddings) –

  • metadatas (Optional[List[dict]]) –

  • ids (Optional[Sequence[str]]) –

  • location (Optional[str]) –

  • url (Optional[str]) –

  • port (Optional[int]) –

  • grpc_port (int) –

  • prefer_grpc (bool) –

  • https (Optional[bool]) –

  • api_key (Optional[str]) –

  • prefix (Optional[str]) –

  • timeout (Optional[float]) –

  • host (Optional[str]) –

  • path (Optional[str]) –

  • collection_name (Optional[str]) –

  • distance_func (str) –

  • content_payload_key (str) –

  • metadata_payload_key (str) –

  • vector_name (Optional[str]) –

  • batch_size (int) –

  • shard_number (Optional[int]) –

  • replication_factor (Optional[int]) –

  • write_consistency_factor (Optional[int]) –

  • on_disk_payload (Optional[bool]) –

  • hnsw_config (Optional[common_types.HnswConfigDiff]) –

  • optimizers_config (Optional[common_types.OptimizersConfigDiff]) –

  • wal_config (Optional[common_types.WalConfigDiff]) –

  • quantization_config (Optional[common_types.QuantizationConfig]) –

  • init_from (Optional[common_types.InitFrom]) –

  • on_disk (Optional[bool]) –

  • force_recreate (bool) –

  • kwargs (Any) –

Return type

Qdrant

返回使用最大边际相关性选择的文档。

最大边际相关性优化了与查询的相似性和所选文档之间的多样性。

参数:

query: 要查找类似文档的文本。 k: 要返回的文档数量。默认为4。 fetch_k: 要获取以传递给MMR算法的文档数量。默认为20。 lambda_mult: 介于0和1之间的数字,确定结果之间多样性的程度,0表示最大多样性,1表示最小多样性。默认为0.5。 filter: 按元数据过滤。默认为None。 search_params: 附加搜索参数 score_threshold:

定义结果的最小分数阈值。 如果定义了,不太相似的结果将不会返回。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

传递给AsyncQdrantClient.Search()的任何其他命名参数。

返回:

通过最大边际相关性选择的文档列表。

Parameters
  • query (str) –

  • k (int) –

  • fetch_k (int) –

  • lambda_mult (float) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Document]

async amax_marginal_relevance_search_by_vector(embedding: List[float], k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Document][source]

返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数:

query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 fetch_k:要获取以传递给MMR算法的文档数量。

默认为20。

lambda_mult:0到1之间的数字,确定结果中多样性的程度,

其中0对应最大多样性,1对应最小多样性。 默认为0.5。

filter:按元数据过滤。默认为None。 search_params:额外的搜索参数 score_threshold:

为结果定义最小分数阈值。 如果定义了,那么不会返回较不相似的结果。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给AsyncQdrantClient.Search()的其他命名参数。

返回:

通过最大边际相关性和距离选择的文档列表。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • fetch_k (int) –

  • lambda_mult (float) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Document]

async amax_marginal_relevance_search_with_score_by_vector(embedding: List[float], k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Tuple[Document, float]][source]

返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数:

query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 fetch_k:要获取以传递给MMR算法的文档数量。

默认为20。

lambda_mult:0到1之间的数字,确定结果之间多样性的程度,

其中0对应最大多样性,1对应最小多样性。 默认为0.5。

返回:

通过最大边际相关性和距离选择的文档列表。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • fetch_k (int) –

  • lambda_mult (float) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

as_retriever(**kwargs: Any) VectorStoreRetriever

返回从此VectorStore初始化的VectorStoreRetriever。

参数:
search_type(可选[str]):定义Retriever应执行的搜索类型。

可以是”similarity”(默认值)、”mmr”或”similarity_score_threshold”。

search_kwargs(可选[Dict]):传递给搜索函数的关键字参数。可以包括:

k:要返回的文档数量(默认值:4) score_threshold:用于similarity_score_threshold的最小相关性阈值 fetch_k:传递给MMR算法的文档数量(默认值:20) lambda_mult:MMR返回结果的多样性;1表示最小多样性,0表示最大多样性(默认值:0.5) filter:按文档元数据筛选

返回:

VectorStoreRetriever:VectorStore的Retriever类。

示例:

# 检索更多具有更高多样性的文档
# 如果数据集中有许多相似的文档,则很有用
docsearch.as_retriever(
    search_type="mmr",
    search_kwargs={'k': 6, 'lambda_mult': 0.25}
)

# 为MMR算法考虑更多文档
# 但只返回前5个
docsearch.as_retriever(
    search_type="mmr",
    search_kwargs={'k': 5, 'fetch_k': 50}
)

# 仅检索具有特定阈值以上相关性分数的文档
docsearch.as_retriever(
    search_type="similarity_score_threshold",
    search_kwargs={'score_threshold': 0.8}
)

# 仅从数据集中获取最相似的单个文档
docsearch.as_retriever(search_kwargs={'k': 1})

# 使用筛选器仅从特定论文中检索文档
docsearch.as_retriever(
    search_kwargs={'filter': {'paper_title':'GPT-4 Technical Report'}}
)
Parameters

kwargs (Any) –

Return type

VectorStoreRetriever

async asearch(query: str, search_type: str, **kwargs: Any) List[Document]

返回使用指定搜索类型的查询最相似的文档。

Parameters
  • query (str) –

  • search_type (str) –

  • kwargs (Any) –

Return type

List[Document]

返回与查询最相似的文档。 参数:

query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 filter:按元数据过滤。默认为None。

返回:

与查询最相似的文档列表。

Parameters
  • query (str) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • kwargs (Any) –

Return type

List[Document]

async asimilarity_search_by_vector(embedding: List[float], k: int = 4, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, offset: int = 0, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Document][source]

返回与嵌入向量最相似的文档。

参数:

embedding: 要查找相似文档的嵌入向量。 k: 要返回的文档数量。默认为4。 filter: 按元数据过滤。默认为None。 search_params: 附加的搜索参数 offset:

要返回的第一个结果的偏移量。 可用于分页结果。 注意:较大的偏移值可能会导致性能问题。

score_threshold:

定义结果的最小分数阈值。 如果定义了,不太相似的结果将不会返回。 返回结果的分数可能高于或低于 阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义应查询多少副本 才能返回结果。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给AsyncQdrantClient.Search()的其他命名参数。

返回:

与查询最相似的文档列表。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • offset (int) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Document]

async asimilarity_search_with_relevance_scores(query: str, k: int = 4, **kwargs: Any) List[Tuple[Document, float]]

返回文档和相关性分数在范围[0, 1]内,异步执行。

0表示不相似,1表示最相似。

参数:

query:输入文本 k:要返回的文档数量。默认为4。 **kwargs:要传递给相似性搜索的kwargs。应包括:

score_threshold:可选,介于0到1之间的浮点值,用于过滤检索到的文档集

返回:

元组列表(doc,相似度分数)的列表

Parameters
  • query (str) –

  • k (int) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

async asimilarity_search_with_score(query: str, k: int = 4, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, offset: int = 0, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Tuple[Document, float]][source]

返回与查询最相似的文档。

参数:

query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 filter:按元数据过滤。默认为None。 search_params:其他搜索参数 offset:

要返回的第一个结果的偏移量。 可用于分页结果。 注意:较大的偏移值可能会导致性能问题。

score_threshold:

定义结果的最小分数阈值。 如果定义了,将不返回较不相似的结果。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回较高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给AsyncQdrantClient.Search()的其他命名参数。

返回:

与查询文本最相似的文档列表,以及每个文档的距离。

Parameters
  • query (str) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • offset (int) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

async asimilarity_search_with_score_by_vector(embedding: List[float], k: int = 4, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, offset: int = 0, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Tuple[Document, float]][source]

返回与嵌入向量最相似的文档。

参数:

embedding: 要查找相似文档的嵌入向量。 k: 要返回的文档数量。默认为4。 filter: 根据元数据进行过滤。默认为None。 search_params: 附加的搜索参数 offset:

要返回的第一个结果的偏移量。 可用于分页结果。 注意:较大的偏移值可能会导致性能问题。

score_threshold:

定义结果的最小分数阈值。 如果定义了,不太相似的结果将不会被返回。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少个副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给AsyncQdrantClient.Search()的其他命名参数。

返回:

查询文本最相似的文档列表,以及每个文档的距离。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • offset (int) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

classmethod construct_instance(texts: List[str], embedding: Embeddings, location: Optional[str] = None, url: Optional[str] = None, port: Optional[int] = 6333, grpc_port: int = 6334, prefer_grpc: bool = False, https: Optional[bool] = None, api_key: Optional[str] = None, prefix: Optional[str] = None, timeout: Optional[float] = None, host: Optional[str] = None, path: Optional[str] = None, collection_name: Optional[str] = None, distance_func: str = 'Cosine', content_payload_key: str = 'page_content', metadata_payload_key: str = 'metadata', vector_name: Optional[str] = None, shard_number: Optional[int] = None, replication_factor: Optional[int] = None, write_consistency_factor: Optional[int] = None, on_disk_payload: Optional[bool] = None, hnsw_config: Optional[common_types.HnswConfigDiff] = None, optimizers_config: Optional[common_types.OptimizersConfigDiff] = None, wal_config: Optional[common_types.WalConfigDiff] = None, quantization_config: Optional[common_types.QuantizationConfig] = None, init_from: Optional[common_types.InitFrom] = None, on_disk: Optional[bool] = None, force_recreate: bool = False, **kwargs: Any) Qdrant[source]
Parameters
  • texts (List[str]) –

  • embedding (Embeddings) –

  • location (Optional[str]) –

  • url (Optional[str]) –

  • port (Optional[int]) –

  • grpc_port (int) –

  • prefer_grpc (bool) –

  • https (Optional[bool]) –

  • api_key (Optional[str]) –

  • prefix (Optional[str]) –

  • timeout (Optional[float]) –

  • host (Optional[str]) –

  • path (Optional[str]) –

  • collection_name (Optional[str]) –

  • distance_func (str) –

  • content_payload_key (str) –

  • metadata_payload_key (str) –

  • vector_name (Optional[str]) –

  • shard_number (Optional[int]) –

  • replication_factor (Optional[int]) –

  • write_consistency_factor (Optional[int]) –

  • on_disk_payload (Optional[bool]) –

  • hnsw_config (Optional[common_types.HnswConfigDiff]) –

  • optimizers_config (Optional[common_types.OptimizersConfigDiff]) –

  • wal_config (Optional[common_types.WalConfigDiff]) –

  • quantization_config (Optional[common_types.QuantizationConfig]) –

  • init_from (Optional[common_types.InitFrom]) –

  • on_disk (Optional[bool]) –

  • force_recreate (bool) –

  • kwargs (Any) –

Return type

Qdrant

delete(ids: Optional[List[str]] = None, **kwargs: Any) Optional[bool][source]

根据向量ID或其他条件删除。

参数:

ids:要删除的ID列表。 **kwargs:子类可能使用的其他关键字参数。

返回:

如果删除成功则为True,否则为False。

Parameters
  • ids (Optional[List[str]]) –

  • kwargs (Any) –

Return type

Optional[bool]

classmethod from_documents(documents: List[Document], embedding: Embeddings, **kwargs: Any) VST

返回从文档和嵌入初始化的VectorStore。

Parameters
Return type

VST

classmethod from_existing_collection(embedding: Embeddings, path: str, collection_name: str, location: Optional[str] = None, url: Optional[str] = None, port: Optional[int] = 6333, grpc_port: int = 6334, prefer_grpc: bool = False, https: Optional[bool] = None, api_key: Optional[str] = None, prefix: Optional[str] = None, timeout: Optional[float] = None, host: Optional[str] = None, **kwargs: Any) Qdrant[source]

获取现有Qdrant集合的实例。 该方法将返回存储的实例,而不会插入任何新的嵌入。

Parameters
  • embedding (Embeddings) –

  • path (str) –

  • collection_name (str) –

  • location (Optional[str]) –

  • url (Optional[str]) –

  • port (Optional[int]) –

  • grpc_port (int) –

  • prefer_grpc (bool) –

  • https (Optional[bool]) –

  • api_key (Optional[str]) –

  • prefix (Optional[str]) –

  • timeout (Optional[float]) –

  • host (Optional[str]) –

  • kwargs (Any) –

Return type

Qdrant

classmethod from_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[dict]] = None, ids: Optional[Sequence[str]] = None, location: Optional[str] = None, url: Optional[str] = None, port: Optional[int] = 6333, grpc_port: int = 6334, prefer_grpc: bool = False, https: Optional[bool] = None, api_key: Optional[str] = None, prefix: Optional[str] = None, timeout: Optional[float] = None, host: Optional[str] = None, path: Optional[str] = None, collection_name: Optional[str] = None, distance_func: str = 'Cosine', content_payload_key: str = 'page_content', metadata_payload_key: str = 'metadata', vector_name: Optional[str] = None, batch_size: int = 64, shard_number: Optional[int] = None, replication_factor: Optional[int] = None, write_consistency_factor: Optional[int] = None, on_disk_payload: Optional[bool] = None, hnsw_config: Optional[common_types.HnswConfigDiff] = None, optimizers_config: Optional[common_types.OptimizersConfigDiff] = None, wal_config: Optional[common_types.WalConfigDiff] = None, quantization_config: Optional[common_types.QuantizationConfig] = None, init_from: Optional[common_types.InitFrom] = None, on_disk: Optional[bool] = None, force_recreate: bool = False, **kwargs: Any) Qdrant[source]

从文本列表构建Qdrant包装器。

参数:

texts:要在Qdrant中索引的文本列表。 embedding:`Embeddings`的子类,负责文本向量化。 metadatas:

可选的元数据列表。如果提供,必须与文本列表的长度相同。

ids:

与文本关联的可选id列表。Ids必须是类似uuid的字符串。

location:

如果是 :memory: - 使用内存中的Qdrant实例。 如果是 str - 将其用作 url 参数。 如果是 None - 回退到依赖 hostport 参数。

url:主机或 “Optional[scheme], host, Optional[port], Optional[prefix]” 的字符串。默认值:None port:REST API接口的端口。默认值:6333 grpc_port:gRPC接口的端口。默认值:6334 prefer_grpc:

如果为true - 在自定义方法中尽可能使用gPRC接口。默认值:False

https:如果为true - 使用HTTPS(SSL)协议。默认值:None api_key:用于在Qdrant Cloud中进行身份验证的API密钥。默认值:None prefix:

如果不是None - 将前缀添加到REST URL路径中。 示例:service/v1 将导致 REST API 的URL 为

http://localhost:6333/service/v1/{qdrant-endpoint}。默认值:None

timeout:

REST和gRPC API请求的超时时间。 默认值:REST为5.0秒,gRPC为无限制

host:

Qdrant服务的主机名。如果url和host都为None,则设置为 ‘localhost’。默认值:None

path:

在本地模式下存储向量的路径。默认值:None

collection_name:

要使用的Qdrant集合的名称。如果未提供,将随机创建一个。默认值:None

distance_func:

距离函数。其中之一:”Cosine” / “Euclid” / “Dot”。默认值:”Cosine”

content_payload_key:

用于存储文档内容的有效载荷键。 默认值:”page_content”

metadata_payload_key:

用于存储文档元数据的有效载荷键。 默认值:”metadata”

vector_name:

在Qdrant内部使用的向量名称。 默认值:None

batch_size:

每个请求上传多少个向量。 默认值:64

shard_number:集合中的分片数。默认值为1,最小值为1。 replication_factor:

集合的复制因子。默认值为1,最小值为1。 定义将创建每个分片的副本数量。 仅在分布式模式下生效。

write_consistency_factor:

集合的写入一致性因子。默认值为1,最小值为1。 定义多少个副本应用操作,我们才认为操作成功。 增加此数字将使集合更具抗不一致性能力,但如果副本不足,将导致操作失败。 不会对性能产生任何影响。 仅在分布式模式下生效。

on_disk_payload:

如果为true - 点的有效载荷将不会存储在内存中。 每次请求时都会从磁盘中读取它。 通过(稍微)增加响应时间,此设置可以节省RAM。 注意:那些涉及过滤并且被索引的有效载荷值仍保留在RAM中。

hnsw_config:HNSW索引的参数 optimizers_config:优化器的参数 wal_config:Write-Ahead-Log的参数 quantization_config:

量化的参数,如果为None - 将禁用量化

init_from:

使用存储在另一个集合中的数据初始化此集合

force_recreate:

强制重新创建集合

**kwargs:

直接传递到REST客户端初始化的其他参数

这是一个用户友好的接口,可以: 1. 为每个文本创建嵌入 2. 默认情况下将Qdrant数据库初始化为内存中的文档存储库

(并可覆盖为远程文档存储库)

  1. 将文本嵌入添加到Qdrant数据库

这旨在是一个快速入门的方式。

示例:
from langchain_community.vectorstores import Qdrant
from langchain_community.embeddings import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()
qdrant = Qdrant.from_texts(texts, embeddings, "localhost")
Parameters
  • texts (List[str]) –

  • embedding (Embeddings) –

  • metadatas (Optional[List[dict]]) –

  • ids (Optional[Sequence[str]]) –

  • location (Optional[str]) –

  • url (Optional[str]) –

  • port (Optional[int]) –

  • grpc_port (int) –

  • prefer_grpc (bool) –

  • https (Optional[bool]) –

  • api_key (Optional[str]) –

  • prefix (Optional[str]) –

  • timeout (Optional[float]) –

  • host (Optional[str]) –

  • path (Optional[str]) –

  • collection_name (Optional[str]) –

  • distance_func (str) –

  • content_payload_key (str) –

  • metadata_payload_key (str) –

  • vector_name (Optional[str]) –

  • batch_size (int) –

  • shard_number (Optional[int]) –

  • replication_factor (Optional[int]) –

  • write_consistency_factor (Optional[int]) –

  • on_disk_payload (Optional[bool]) –

  • hnsw_config (Optional[common_types.HnswConfigDiff]) –

  • optimizers_config (Optional[common_types.OptimizersConfigDiff]) –

  • wal_config (Optional[common_types.WalConfigDiff]) –

  • quantization_config (Optional[common_types.QuantizationConfig]) –

  • init_from (Optional[common_types.InitFrom]) –

  • on_disk (Optional[bool]) –

  • force_recreate (bool) –

  • kwargs (Any) –

Return type

Qdrant

返回使用最大边际相关性选择的文档。

最大边际相关性优化了与查询的相似性和所选文档之间的多样性。

参数:

query: 要查找类似文档的文本。 k: 要返回的文档数量。默认为4。 fetch_k: 要获取以传递给MMR算法的文档数量。默认为20。 lambda_mult: 0到1之间的数字,确定结果之间多样性的程度,其中0对应最大多样性,1对应最小多样性。默认为0.5。 filter: 按元数据过滤。默认为None。 search_params: 附加的搜索参数。 score_threshold:

定义结果的最小分数阈值。 如果定义了,那么不会返回相似度较低的结果。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少个副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给QdrantClient.search()的任何其他命名参数。

返回:

通过最大边际相关性选择的文档列表。

Parameters
  • query (str) –

  • k (int) –

  • fetch_k (int) –

  • lambda_mult (float) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Document]

max_marginal_relevance_search_by_vector(embedding: List[float], k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Document][source]

返回使用最大边际相关性选择的文档。

最大边际相关性优化了与查询的相似性和所选文档之间的多样性。

参数:

embedding: 用于查找类似文档的嵌入。 k: 要返回的文档数量。默认为4。 fetch_k: 要获取以传递给MMR算法的文档数量。 lambda_mult: 介于0和1之间的数字,确定结果之间多样性的程度,

其中0对应于最大多样性,1对应于最小多样性。 默认为0.5。

filter: 按元数据过滤。默认为None。 search_params: 附加的搜索参数 score_threshold:

定义结果的最小分数阈值。 如果定义了,不太相似的结果将不会返回。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给QdrantClient.search()的任何其他命名参数

返回:

通过最大边际相关性选择的文档列表。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • fetch_k (int) –

  • lambda_mult (float) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Document]

max_marginal_relevance_search_with_score_by_vector(embedding: List[float], k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Tuple[Document, float]][source]

返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数:

query:要查找类似文档的文本。 k:要返回的文档数量。默认为4。 fetch_k:要获取以传递给MMR算法的文档数量。默认为20。 lambda_mult:0到1之间的数字,确定结果中多样性的程度,0对应最大多样性,1对应最小多样性。默认为0.5。 filter:按元数据过滤。默认为None。 search_params:额外的搜索参数 score_threshold:

为结果定义最小分数阈值。 如果定义了,相似性较低的结果将不会被返回。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回较高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给QdrantClient.search()的任何其他命名参数

返回:

通过最大边际相关性和距离选择的文档列表。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • fetch_k (int) –

  • lambda_mult (float) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

search(query: str, search_type: str, **kwargs: Any) List[Document]

返回使用指定搜索类型的查询最相似的文档。

Parameters
  • query (str) –

  • search_type (str) –

  • kwargs (Any) –

Return type

List[Document]

返回与查询最相似的文档。

参数:

query: 要查找类似文档的文本。 k: 要返回的文档数量。默认为4。 filter: 按元数据过滤。默认为None。 search_params: 附加的搜索参数 offset:

要返回的第一个结果的偏移量。 可用于分页结果。 注意:较大的偏移值可能会导致性能问题。

score_threshold:

定义结果的最小分数阈值。 如果定义了,那么不太相似的结果将不会被返回。 返回结果的分数可能高于或低于 阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给QdrantClient.search()的任何其他命名参数

返回:

与查询最相似的文档列表。

Parameters
  • query (str) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • offset (int) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Document]

similarity_search_by_vector(embedding: List[float], k: int = 4, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, offset: int = 0, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Document][source]

返回与嵌入向量最相似的文档。

参数:

embedding: 要查找相似文档的嵌入向量。 k: 要返回的文档数量。默认为4。 filter: 按元数据过滤。默认为None。 search_params: 附加的搜索参数 offset:

要返回的第一个结果的偏移量。 可用于分页结果。 注意:较大的偏移值可能会导致性能问题。

score_threshold:

定义结果的最小分数阈值。 如果定义了,不太相似的结果将不会被返回。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少个副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给QdrantClient.search()的其他命名参数

返回:

查询结果中最相似的文档列表。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • offset (int) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Document]

similarity_search_with_relevance_scores(query: str, k: int = 4, **kwargs: Any) List[Tuple[Document, float]]

返回文档和相关性得分在[0, 1]范围内。

0表示不相似,1表示最相似。

参数:

query:输入文本 k:要返回的文档数量。默认为4。 **kwargs:要传递给相似性搜索的kwargs。应包括:

score_threshold:可选,介于0到1之间的浮点值,用于过滤检索到的文档集

返回:

元组列表(doc,相似性得分)

Parameters
  • query (str) –

  • k (int) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

similarity_search_with_score(query: str, k: int = 4, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, offset: int = 0, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Tuple[Document, float]][source]

返回与查询最相似的文档。

参数:

query: 要查找类似文档的文本。 k: 要返回的文档数量。默认为4。 filter: 按元数据过滤。默认为None。 search_params: 附加的搜索参数 offset:

要返回的第一个结果的偏移量。 可用于分页结果。 注意:较大的偏移值可能会导致性能问题。

score_threshold:

定义结果的最小分数阈值。 如果定义了,将不会返回较不相似的结果。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给QdrantClient.search()的其他命名参数

返回:

与查询文本最相似的文档列表,以及每个文档的距离。

Parameters
  • query (str) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • offset (int) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

similarity_search_with_score_by_vector(embedding: List[float], k: int = 4, filter: Optional[MetadataFilter] = None, search_params: Optional[common_types.SearchParams] = None, offset: int = 0, score_threshold: Optional[float] = None, consistency: Optional[common_types.ReadConsistency] = None, **kwargs: Any) List[Tuple[Document, float]][source]

返回与嵌入向量最相似的文档。

参数:

embedding: 要查找相似文档的嵌入向量。 k: 要返回的文档数量。默认为4。 filter: 按元数据过滤。默认为None。 search_params: 附加的搜索参数 offset:

要返回的第一个结果的偏移量。 可用于分页结果。 注意:较大的偏移值可能会导致性能问题。

score_threshold:

定义结果的最小分数阈值。 如果定义了,不太相似的结果将不会被返回。 返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。 例如,对于余弦相似度,只会返回更高的分数。

consistency:

搜索的读一致性。定义在返回结果之前应查询多少副本。 值: - int - 要查询的副本数量,所有查询的副本中应该存在这些值 - ‘majority’ - 查询所有副本,但返回大多数副本中存在的值 - ‘quorum’ - 查询大多数副本,返回所有这些副本中存在的值 - ‘all’ - 查询所有副本,并返回所有副本中存在的值

**kwargs:

要传递给QdrantClient.search()的任何其他命名参数

返回:

查询文本最相似的文档列表,以及每个文档的距离。

Parameters
  • embedding (List[float]) –

  • k (int) –

  • filter (Optional[MetadataFilter]) –

  • search_params (Optional[common_types.SearchParams]) –

  • offset (int) –

  • score_threshold (Optional[float]) –

  • consistency (Optional[common_types.ReadConsistency]) –

  • kwargs (Any) –

Return type

List[Tuple[Document, float]]

Examples using Qdrant