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, ...])返回使用最大边际相关性选择的文档。
返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数: 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()的其他命名参数。 返回: 通过最大边际相关性和距离选择的文档列表。
返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数: 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, ...])返回与嵌入向量最相似的文档。
返回文档和相关性分数在范围[0, 1]内,异步执行。
asimilarity_search_with_score
(query[, k, ...])返回与查询最相似的文档。
返回与嵌入向量最相似的文档。
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, ...])返回使用最大边际相关性选择的文档。
返回使用最大边际相关性选择的文档。
返回使用最大边际相关性选择的文档。 最大边际相关性优化了与查询的相似性和所选文档之间的多样性。 参数: 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, ...])返回与嵌入向量最相似的文档。
返回文档和相关性得分在[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
- 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
documents (List[Document]) –
embedding (Embeddings) –
kwargs (Any) –
- 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 - 回退到依赖 host 和 port 参数。
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数据库初始化为内存中的文档存储库
(并可覆盖为远程文档存储库)
将文本嵌入添加到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
- async amax_marginal_relevance_search(query: str, 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
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
- async asearch(query: str, search_type: str, **kwargs: Any) List[Document] ¶
返回使用指定搜索类型的查询最相似的文档。
- Parameters
query (str) –
search_type (str) –
kwargs (Any) –
- Return type
List[Document]
- async asimilarity_search(query: str, k: int = 4, filter: Optional[MetadataFilter] = None, **kwargs: Any) List[Document] [source]¶
返回与查询最相似的文档。 参数:
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
- 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
documents (List[Document]) –
embedding (Embeddings) –
kwargs (Any) –
- 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
- 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 - 回退到依赖 host 和 port 参数。
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数据库初始化为内存中的文档存储库
(并可覆盖为远程文档存储库)
将文本嵌入添加到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
- max_marginal_relevance_search(query: str, 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:
要传递给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]
- similarity_search(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[Document] [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[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]]