langchain-qdrant¶
注意
此软件包参考尚未完全迁移到 v1。
langchain_qdrant ¶
FastEmbedSparse ¶
一个用于与 Qdrant 一起使用的稀疏嵌入模型的接口。
| 方法 | 描述 |
|---|---|
aembed_documents |
异步嵌入搜索文档。 |
aembed_query |
异步嵌入查询文本。 |
__init__ |
使用 FastEmbed 实现的稀疏编码器。 |
embed_documents |
嵌入搜索文档。 |
embed_query |
嵌入查询文本。 |
__init__ ¶
__init__(
model_name: str = "Qdrant/bm25",
batch_size: int = 256,
cache_dir: str | None = None,
threads: int | None = None,
providers: Sequence[Any] | None = None,
parallel: int | None = None,
**kwargs: Any,
) -> None
使用 FastEmbed 实现的稀疏编码器。
使用 FastEmbed 进行稀疏文本嵌入。有关可用模型的列表,请参阅 Qdrant 文档。
| 参数 | 描述 |
|---|---|
model_name
|
要使用的模型的名称。
类型: |
batch_size
|
编码的批处理大小。
类型: |
cache_dir
|
模型缓存目录的路径。也可以使用
类型: |
threads
|
onnxruntime 会话可以使用的线程数。
类型: |
providers
|
ONNX 执行提供程序的列表。parallel(int,可选):如果 |
kwargs
|
传递给
类型: |
| 引发 | 描述 |
|---|---|
ValueError
|
如果 |
QdrantVectorStore ¶
Bases: VectorStore
Qdrant 向量存储集成。
关键初始化参数 — 索引参数:collection_name:集合的名称。embedding:要使用的嵌入函数。sparse_embedding:要使用的可选稀疏嵌入函数。
关键初始化参数 — 客户端参数:client:要使用的 Qdrant 客户端。retrieval_mode:要使用的检索模式。
实例化
from langchain_qdrant import QdrantVectorStore
from qdrant_client import QdrantClient
from qdrant_client.http.models import Distance, VectorParams
from langchain_openai import OpenAIEmbeddings
client = QdrantClient(":memory:")
client.create_collection(
collection_name="demo_collection",
vectors_config=VectorParams(size=1536, distance=Distance.COSINE),
)
vector_store = QdrantVectorStore(
client=client,
collection_name="demo_collection",
embedding=OpenAIEmbeddings(),
)
添加文档
from langchain_core.documents import Document
from uuid import uuid4
document_1 = Document(page_content="foo", metadata={"baz": "bar"})
document_2 = Document(page_content="thud", metadata={"bar": "baz"})
document_3 = Document(page_content="i will be deleted :(")
documents = [document_1, document_2, document_3]
ids = [str(uuid4()) for _ in range(len(documents))]
vector_store.add_documents(documents=documents, ids=ids)
搜索
带筛选的搜索
带分数的搜索
异步
# add documents
# await vector_store.aadd_documents(documents=documents, ids=ids)
# delete documents
# await vector_store.adelete(ids=["3"])
# search
# results = vector_store.asimilarity_search(query="thud",k=1)
# search with score
results = await vector_store.asimilarity_search_with_score(query="qux", k=1)
for doc, score in results:
print(f"* [SIM={score:3f}] {doc.page_content} [{doc.metadata}]")
用作检索器
| 方法 | 描述 |
|---|---|
aget_by_ids |
通过 ID 异步获取文档。 |
adelete |
按向量 ID 或其他条件异步删除。 |
aadd_texts |
通过嵌入异步运行更多文本并添加到 `VectorStore`。 |
add_documents |
在 `VectorStore` 中添加或更新文档。 |
aadd_documents |
异步运行更多文档通过嵌入并添加到 `VectorStore`。 |
search |
使用指定的搜索类型返回与查询最相似的文档。 |
asearch |
异步返回与查询最相似的文档,使用指定的搜索类型。 |
asimilarity_search_with_score |
异步运行带距离的相似性搜索。 |
similarity_search_with_relevance_scores |
返回文档和在 `[0, 1]` 范围内的相关性分数。 |
asimilarity_search_with_relevance_scores |
异步返回文档和在 `[0, 1]` 范围内的相关性分数。 |
asimilarity_search |
异步返回与查询最相似的文档。 |
asimilarity_search_by_vector |
异步返回与嵌入向量最相似的文档。 |
amax_marginal_relevance_search |
异步返回使用最大边际相关性选择的文档。 |
amax_marginal_relevance_search_by_vector |
异步返回使用最大边际相关性选择的文档。 |
from_documents |
返回从文档和嵌入初始化的 `VectorStore`。 |
afrom_documents |
异步返回从文档和嵌入初始化的 `VectorStore`。 |
afrom_texts |
异步返回从文本和嵌入初始化的 `VectorStore`。 |
as_retriever |
返回从此 `VectorStore` 初始化的 `VectorStoreRetriever`。 |
__init__ |
初始化 |
from_texts |
从文本列表构造一个 |
from_existing_collection |
从现有集合构造 |
add_texts |
将带有嵌入的文本添加到 |
similarity_search |
返回与查询最相似的文档。 |
similarity_search_with_score |
返回与查询最相似的文档。 |
similarity_search_with_score_by_vector |
返回与嵌入向量最相似的文档。 |
similarity_search_by_vector |
返回与嵌入向量最相似的文档。 |
max_marginal_relevance_search |
返回使用密集向量的最大边际相关性选择的文档。 |
max_marginal_relevance_search_by_vector |
返回使用密集向量的最大边际相关性选择的文档。 |
max_marginal_relevance_search_with_score_by_vector |
返回使用最大边际相关性选择的文档。 |
delete |
按其 ID 删除文档。 |
get_by_ids |
根据 ID 获取文档。 |
client property ¶
获取正在使用的 Qdrant 客户端实例。
| 返回 | 描述 |
|---|---|
QdrantClient
|
类型: |
embeddings property ¶
embeddings: Embeddings | None
获取正在使用的密集嵌入实例。
| 返回 | 描述 |
|---|---|
嵌入
|
一个
类型: |
sparse_embeddings property ¶
sparse_embeddings: SparseEmbeddings
获取正在使用的稀疏嵌入实例。
| 引发 | 描述 |
|---|---|
ValueError
|
如果稀疏嵌入为 |
| 返回 | 描述 |
|---|---|
SparseEmbeddings
|
类型: |
aget_by_ids async ¶
adelete async ¶
aadd_texts async ¶
aadd_texts(
texts: Iterable[str],
metadatas: list[dict] | None = None,
*,
ids: list[str] | None = None,
**kwargs: Any,
) -> list[str]
通过嵌入异步运行更多文本并添加到 `VectorStore`。
| 参数 | 描述 |
|---|---|
texts
|
要添加到 `VectorStore` 的字符串的可迭代对象。 |
metadatas
|
与文本关联的元数据可选列表。 |
ids
|
可选列表 |
**kwargs
|
`VectorStore` 特定参数。
类型: |
| 返回 | 描述 |
|---|---|
list[str]
|
将文本添加到 `VectorStore` 后返回的 ID 列表。 |
| 引发 | 描述 |
|---|---|
ValueError
|
如果元数据的数量与文本的数量不匹配。 |
ValueError
|
如果 ID 的数量与文本的数量不匹配。 |
add_documents ¶
aadd_documents async ¶
search ¶
使用指定的搜索类型返回与查询最相似的文档。
| 参数 | 描述 |
|---|---|
query
|
输入文本。
类型: |
search_type
|
要执行的搜索类型。可以是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'`。
类型: |
**kwargs
|
传递给搜索方法的参数。
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
与查询最相似的 `Document` 对象列表。 |
| 引发 | 描述 |
|---|---|
ValueError
|
如果 `search_type` 不是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'` 之一。 |
asearch async ¶
异步返回与查询最相似的文档,使用指定的搜索类型。
| 参数 | 描述 |
|---|---|
query
|
输入文本。
类型: |
search_type
|
要执行的搜索类型。可以是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'`。
类型: |
**kwargs
|
传递给搜索方法的参数。
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
与查询最相似的 `Document` 对象列表。 |
| 引发 | 描述 |
|---|---|
ValueError
|
如果 `search_type` 不是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'` 之一。 |
asimilarity_search_with_score async ¶
similarity_search_with_relevance_scores ¶
asimilarity_search_with_relevance_scores async ¶
asimilarity_search async ¶
asimilarity_search_by_vector async ¶
amax_marginal_relevance_search async ¶
amax_marginal_relevance_search(
query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, **kwargs: Any
) -> list[Document]
异步返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
query
|
用于查找相似文档的文本。
类型: |
k
|
要返回的 `Document` 对象数量。
TYPE: |
fetch_k
|
要获取并传递给 MMR 算法的 `Document` 对象数量。
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
**kwargs
|
传递给搜索方法的参数。
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
通过最大边际相关性选择的 `Document` 对象列表。 |
amax_marginal_relevance_search_by_vector async ¶
amax_marginal_relevance_search_by_vector(
embedding: list[float],
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
**kwargs: Any,
) -> list[Document]
异步返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入。 |
k
|
要返回的 `Document` 对象数量。
TYPE: |
fetch_k
|
要获取并传递给 MMR 算法的 `Document` 对象数量。
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
**kwargs
|
传递给搜索方法的参数。
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
通过最大边际相关性选择的 `Document` 对象列表。 |
from_documents classmethod ¶
from_documents(documents: list[Document], embedding: Embeddings, **kwargs: Any) -> Self
返回从文档和嵌入初始化的 `VectorStore`。
| 参数 | 描述 |
|---|---|
documents
|
要添加到 `VectorStore` 的 `Document` 对象列表。 |
embedding
|
要使用的嵌入函数。
TYPE: |
**kwargs
|
附加的关键字参数。
类型: |
| 返回 | 描述 |
|---|---|
Self
|
从文档和嵌入初始化的 `VectorStore`。 |
afrom_documents async classmethod ¶
afrom_documents(
documents: list[Document], embedding: Embeddings, **kwargs: Any
) -> Self
异步返回从文档和嵌入初始化的 `VectorStore`。
| 参数 | 描述 |
|---|---|
documents
|
要添加到 `VectorStore` 的 `Document` 对象列表。 |
embedding
|
要使用的嵌入函数。
TYPE: |
**kwargs
|
附加的关键字参数。
类型: |
| 返回 | 描述 |
|---|---|
Self
|
从文档和嵌入初始化的 `VectorStore`。 |
afrom_texts async classmethod ¶
as_retriever ¶
as_retriever(**kwargs: Any) -> VectorStoreRetriever
返回从此 `VectorStore` 初始化的 `VectorStoreRetriever`。
| 参数 | 描述 |
|---|---|
**kwargs
|
传递给搜索函数的关键字参数。可以包括
类型: |
| 返回 | 描述 |
|---|---|
VectorStoreRetriever
|
`VectorStore` 的检索器类。 |
示例
# Retrieve more documents with higher diversity
# Useful if your dataset has many similar documents
docsearch.as_retriever(
search_type="mmr", search_kwargs={"k": 6, "lambda_mult": 0.25}
)
# Fetch more documents for the MMR algorithm to consider
# But only return the top 5
docsearch.as_retriever(search_type="mmr", search_kwargs={"k": 5, "fetch_k": 50})
# Only retrieve documents that have a relevance score
# Above a certain threshold
docsearch.as_retriever(
search_type="similarity_score_threshold",
search_kwargs={"score_threshold": 0.8},
)
# Only get the single most similar document from the dataset
docsearch.as_retriever(search_kwargs={"k": 1})
# Use a filter to only retrieve documents from a specific paper
docsearch.as_retriever(
search_kwargs={"filter": {"paper_title": "GPT-4 Technical Report"}}
)
__init__ ¶
__init__(
client: QdrantClient,
collection_name: str,
embedding: Embeddings | None = None,
retrieval_mode: RetrievalMode = DENSE,
vector_name: str = VECTOR_NAME,
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
distance: Distance = COSINE,
sparse_embedding: SparseEmbeddings | None = None,
sparse_vector_name: str = SPARSE_VECTOR_NAME,
validate_embeddings: bool = True,
validate_collection_config: bool = True,
) -> None
from_texts classmethod ¶
from_texts(
texts: list[str],
embedding: Embeddings | None = None,
metadatas: list[dict] | None = None,
ids: Sequence[str | int] | None = None,
collection_name: str | None = None,
location: str | None = None,
url: str | None = None,
port: int | None = 6333,
grpc_port: int = 6334,
prefer_grpc: bool = False,
https: bool | None = None,
api_key: str | None = None,
prefix: str | None = None,
timeout: int | None = None,
host: str | None = None,
path: str | None = None,
distance: Distance = COSINE,
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
vector_name: str = VECTOR_NAME,
retrieval_mode: RetrievalMode = DENSE,
sparse_embedding: SparseEmbeddings | None = None,
sparse_vector_name: str = SPARSE_VECTOR_NAME,
collection_create_options: dict[str, Any] | None = None,
vector_params: dict[str, Any] | None = None,
sparse_vector_params: dict[str, Any] | None = None,
batch_size: int = 64,
force_recreate: bool = False,
validate_embeddings: bool = True,
validate_collection_config: bool = True,
**kwargs: Any,
) -> QdrantVectorStore
from_existing_collection classmethod ¶
from_existing_collection(
collection_name: str,
embedding: Embeddings | None = None,
retrieval_mode: RetrievalMode = DENSE,
location: str | None = None,
url: str | None = None,
port: int | None = 6333,
grpc_port: int = 6334,
prefer_grpc: bool = False,
https: bool | None = None,
api_key: str | None = None,
prefix: str | None = None,
timeout: int | None = None,
host: str | None = None,
path: str | None = None,
distance: Distance = COSINE,
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
vector_name: str = VECTOR_NAME,
sparse_vector_name: str = SPARSE_VECTOR_NAME,
sparse_embedding: SparseEmbeddings | None = None,
validate_embeddings: bool = True,
validate_collection_config: bool = True,
**kwargs: Any,
) -> QdrantVectorStore
从现有集合构造 QdrantVectorStore,而不添加数据。
| 返回 | 描述 |
|---|---|
QdrantVectorStore
|
|
add_texts ¶
similarity_search ¶
similarity_search_with_score ¶
similarity_search_with_score(
query: str,
k: int = 4,
filter: Filter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
hybrid_fusion: FusionQuery | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
similarity_search_with_score_by_vector ¶
similarity_search_by_vector ¶
max_marginal_relevance_search ¶
max_marginal_relevance_search_by_vector ¶
max_marginal_relevance_search_by_vector(
embedding: list[float],
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: Filter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
max_marginal_relevance_search_with_score_by_vector ¶
max_marginal_relevance_search_with_score_by_vector(
embedding: list[float],
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: Filter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
delete ¶
get_by_ids ¶
SparseEmbeddings ¶
基类: ABC
一个用于与 Qdrant 一起使用的稀疏嵌入模型的接口。
| 方法 | 描述 |
|---|---|
embed_documents |
嵌入搜索文档。 |
embed_query |
嵌入查询文本。 |
aembed_documents |
异步嵌入搜索文档。 |
aembed_query |
异步嵌入查询文本。 |
Qdrant ¶
Bases: VectorStore
Qdrant 向量存储。
from qdrant_client import QdrantClient
from langchain_qdrant import Qdrant
client = QdrantClient()
collection_name = "MyCollection"
qdrant = Qdrant(client, collection_name, embedding_function)
get_by_ids ¶
aget_by_ids async ¶
add_documents ¶
aadd_documents async ¶
search ¶
使用指定的搜索类型返回与查询最相似的文档。
| 参数 | 描述 |
|---|---|
query
|
输入文本。
类型: |
search_type
|
要执行的搜索类型。可以是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'`。
类型: |
**kwargs
|
传递给搜索方法的参数。
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
与查询最相似的 `Document` 对象列表。 |
| 引发 | 描述 |
|---|---|
ValueError
|
如果 `search_type` 不是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'` 之一。 |
asearch async ¶
异步返回与查询最相似的文档,使用指定的搜索类型。
| 参数 | 描述 |
|---|---|
query
|
输入文本。
类型: |
search_type
|
要执行的搜索类型。可以是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'`。
类型: |
**kwargs
|
传递给搜索方法的参数。
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
与查询最相似的 `Document` 对象列表。 |
| 引发 | 描述 |
|---|---|
ValueError
|
如果 `search_type` 不是 `'similarity'`、`'mmr'` 或 `'similarity_score_threshold'` 之一。 |
similarity_search_with_relevance_scores ¶
asimilarity_search_with_relevance_scores async ¶
from_documents classmethod ¶
from_documents(documents: list[Document], embedding: Embeddings, **kwargs: Any) -> Self
返回从文档和嵌入初始化的 `VectorStore`。
| 参数 | 描述 |
|---|---|
documents
|
要添加到 `VectorStore` 的 `Document` 对象列表。 |
embedding
|
要使用的嵌入函数。
TYPE: |
**kwargs
|
附加的关键字参数。
类型: |
| 返回 | 描述 |
|---|---|
Self
|
从文档和嵌入初始化的 `VectorStore`。 |
afrom_documents async classmethod ¶
afrom_documents(
documents: list[Document], embedding: Embeddings, **kwargs: Any
) -> Self
异步返回从文档和嵌入初始化的 `VectorStore`。
| 参数 | 描述 |
|---|---|
documents
|
要添加到 `VectorStore` 的 `Document` 对象列表。 |
embedding
|
要使用的嵌入函数。
TYPE: |
**kwargs
|
附加的关键字参数。
类型: |
| 返回 | 描述 |
|---|---|
Self
|
从文档和嵌入初始化的 `VectorStore`。 |
as_retriever ¶
as_retriever(**kwargs: Any) -> VectorStoreRetriever
返回从此 `VectorStore` 初始化的 `VectorStoreRetriever`。
| 参数 | 描述 |
|---|---|
**kwargs
|
传递给搜索函数的关键字参数。可以包括
类型: |
| 返回 | 描述 |
|---|---|
VectorStoreRetriever
|
`VectorStore` 的检索器类。 |
示例
# Retrieve more documents with higher diversity
# Useful if your dataset has many similar documents
docsearch.as_retriever(
search_type="mmr", search_kwargs={"k": 6, "lambda_mult": 0.25}
)
# Fetch more documents for the MMR algorithm to consider
# But only return the top 5
docsearch.as_retriever(search_type="mmr", search_kwargs={"k": 5, "fetch_k": 50})
# Only retrieve documents that have a relevance score
# Above a certain threshold
docsearch.as_retriever(
search_type="similarity_score_threshold",
search_kwargs={"score_threshold": 0.8},
)
# Only get the single most similar document from the dataset
docsearch.as_retriever(search_kwargs={"k": 1})
# Use a filter to only retrieve documents from a specific paper
docsearch.as_retriever(
search_kwargs={"filter": {"paper_title": "GPT-4 Technical Report"}}
)
__init__ ¶
__init__(
client: Any,
collection_name: str,
embeddings: Embeddings | None = None,
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
distance_strategy: str = "COSINE",
vector_name: str | None = VECTOR_NAME,
async_client: Any | None = None,
embedding_function: Callable | None = None,
) -> None
使用必要的组件进行初始化。
add_texts ¶
add_texts(
texts: Iterable[str],
metadatas: list[dict] | None = None,
ids: Sequence[str] | None = None,
batch_size: int = 64,
**kwargs: Any,
) -> list[str]
aadd_texts async ¶
aadd_texts(
texts: Iterable[str],
metadatas: list[dict] | None = None,
ids: Sequence[str] | None = None,
batch_size: int = 64,
**kwargs: Any,
) -> list[str]
similarity_search ¶
similarity_search(
query: str,
k: int = 4,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
返回与查询最相似的文档。
| 参数 | 描述 |
|---|---|
query
|
用于查找相似文档的文本。
类型: |
k
|
要返回的文档数量。
TYPE: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
offset
|
要返回的第一个结果的偏移量。可用于分页结果。注意:大的偏移量值可能会导致性能问题。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 QdrantClient.search() 的任何其他命名参数
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
与查询最相似的 `Document` 对象列表。 |
asimilarity_search async ¶
similarity_search_with_score ¶
similarity_search_with_score(
query: str,
k: int = 4,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
返回与查询最相似的文档。
| 参数 | 描述 |
|---|---|
query
|
用于查找相似文档的文本。
类型: |
k
|
要返回的文档数量。
TYPE: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
offset
|
要返回的第一个结果的偏移量。可用于分页结果。注意:大的偏移量值可能会导致性能问题。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 QdrantClient.search() 的任何其他命名参数
类型: |
| 返回 | 描述 |
|---|---|
list[tuple[Document, float]]
|
与查询文本最相似的文档列表以及每个文档的距离。 |
asimilarity_search_with_score async ¶
asimilarity_search_with_score(
query: str,
k: int = 4,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
返回与查询最相似的文档。
| 参数 | 描述 |
|---|---|
query
|
用于查找相似文档的文本。
类型: |
k
|
要返回的文档数量。
TYPE: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
offset
|
要返回的第一个结果的偏移量。可用于分页结果。注意:大的偏移量值可能会导致性能问题。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 AsyncQdrantClient.Search() 的任何其他命名参数。
类型: |
| 返回 | 描述 |
|---|---|
list[tuple[Document, float]]
|
与查询文本最相似的文档列表以及每个文档的距离。 |
similarity_search_by_vector ¶
similarity_search_by_vector(
embedding: list[float],
k: int = 4,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
返回与嵌入向量最相似的文档。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入向量。 |
k
|
要返回的文档数量。
TYPE: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
offset
|
要返回的第一个结果的偏移量。可用于分页结果。注意:大的偏移量值可能会导致性能问题。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 QdrantClient.search() 的任何其他命名参数
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
与查询最相似的 `Document` 对象列表。 |
asimilarity_search_by_vector async ¶
asimilarity_search_by_vector(
embedding: list[float],
k: int = 4,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
返回与嵌入向量最相似的文档。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入向量。 |
k
|
要返回的文档数量。
TYPE: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
offset
|
要返回的第一个结果的偏移量。可用于分页结果。注意:大的偏移量值可能会导致性能问题。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 AsyncQdrantClient.Search() 的任何其他命名参数。
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
与查询最相似的 `Document` 对象列表。 |
similarity_search_with_score_by_vector ¶
similarity_search_with_score_by_vector(
embedding: list[float],
k: int = 4,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
返回与嵌入向量最相似的文档。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入向量。 |
k
|
要返回的文档数量。
TYPE: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
offset
|
要返回的第一个结果的偏移量。可用于分页结果。注意:大的偏移量值可能会导致性能问题。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 QdrantClient.search() 的任何其他命名参数
类型: |
| 返回 | 描述 |
|---|---|
list[tuple[Document, float]]
|
与查询文本最相似的文档列表以及每个文档的距离。 |
asimilarity_search_with_score_by_vector async ¶
asimilarity_search_with_score_by_vector(
embedding: list[float],
k: int = 4,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
offset: int = 0,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
返回与嵌入向量最相似的文档。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入向量。 |
k
|
要返回的文档数量。
TYPE: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
offset
|
要返回的第一个结果的偏移量。可用于分页结果。注意:大的偏移量值可能会导致性能问题。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 AsyncQdrantClient.Search() 的任何其他命名参数。
类型: |
| 返回 | 描述 |
|---|---|
list[tuple[Document, float]]
|
与查询文本最相似的文档列表以及每个文档的距离。 |
max_marginal_relevance_search ¶
max_marginal_relevance_search(
query: str,
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
query
|
用于查找相似文档的文本。
类型: |
k
|
要返回的文档数量。
TYPE: |
fetch_k
|
要获取以传递给 MMR 算法的文档数量。
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 QdrantClient.search() 的任何其他命名参数
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
通过最大边际相关性选择的 `Document` 对象列表。 |
amax_marginal_relevance_search async ¶
amax_marginal_relevance_search(
query: str,
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
query
|
用于查找相似文档的文本。
类型: |
k
|
要返回的文档数量。
TYPE: |
fetch_k
|
要获取以传递给 MMR 算法的文档数量。
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:-
类型: |
**kwargs
|
传递给
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
通过最大边际相关性选择的 `Document` 对象列表。 |
max_marginal_relevance_search_by_vector ¶
max_marginal_relevance_search_by_vector(
embedding: list[float],
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入。 |
k
|
要返回的文档数量。
TYPE: |
fetch_k
|
要获取以传递给 MMR 算法的文档数量。
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:-
类型: |
**kwargs
|
传递给
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
通过最大边际相关性选择的 `Document` 对象列表。 |
amax_marginal_relevance_search_by_vector async ¶
amax_marginal_relevance_search_by_vector(
embedding: list[float],
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[Document]
返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入向量。 |
k
|
要返回的 `Document` 对象数量。
TYPE: |
fetch_k
|
要获取以传递给 MMR 算法的
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:-
类型: |
**kwargs
|
传递给
类型: |
| 返回 | 描述 |
|---|---|
list[Document]
|
通过最大边际相关性选择的 |
list[Document]
|
每个对象的距离。 |
max_marginal_relevance_search_with_score_by_vector ¶
max_marginal_relevance_search_with_score_by_vector(
embedding: list[float],
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: MetadataFilter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入向量。 |
k
|
要返回的文档数量。
TYPE: |
fetch_k
|
要获取以传递给 MMR 算法的文档数量。
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数
类型: |
score_threshold
|
为结果定义一个最小分数阈值。如果定义,则不会返回相似度较低的结果。返回结果的分数可能高于或低于阈值,具体取决于所使用的距离函数。例如,对于余弦相似度,只会返回更高的分数。
类型: |
consistency
|
搜索的读取一致性。定义在返回结果之前应查询多少个副本。值:- int - 要查询的副本数,值应存在于所有查询的副本中 - 'majority' - 查询所有副本,但返回存在于大多数副本中的值 - 'quorum' - 查询大多数副本,返回存在于所有副本中的值 - 'all' - 查询所有副本,并返回存在于所有副本中的值
类型: |
**kwargs
|
传递给 QdrantClient.search() 的任何其他命名参数
类型: |
| 返回 | 描述 |
|---|---|
list[tuple[Document, float]]
|
通过最大边际相关性选择的 |
amax_marginal_relevance_search_with_score_by_vector 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: MetadataFilter | None = None,
search_params: SearchParams | None = None,
score_threshold: float | None = None,
consistency: ReadConsistency | None = None,
**kwargs: Any,
) -> list[tuple[Document, float]]
返回使用最大边际相关性选择的文档。
最大边际相关性优化查询相似度与所选文档之间的多样性。
| 参数 | 描述 |
|---|---|
embedding
|
用于查找相似文档的嵌入向量。 |
k
|
要返回的文档数量。
TYPE: |
fetch_k
|
要获取以传递给 MMR 算法的文档数量。
类型: |
lambda_mult
|
一个介于 `0` 和 `1` 之间的数字,决定了结果之间的多样性程度,其中 `0` 对应最大多样性,`1` 对应最小多样性。
类型: |
filter
|
按元数据筛选。
类型: |
search_params
|
额外的搜索参数。
类型: |
score_threshold
|
为结果定义一个最小分数阈值。
类型: |
consistency
|
搜索的读取一致性。
类型: |
**kwargs
|
附加的关键字参数。
类型: |
| 返回 | 描述 |
|---|---|
list[tuple[Document, float]]
|
通过最大边际相关性选择的 |
delete ¶
adelete async ¶
from_texts classmethod ¶
from_texts(
texts: list[str],
embedding: Embeddings,
metadatas: list[dict] | None = None,
ids: Sequence[str] | None = None,
location: str | None = None,
url: str | None = None,
port: int | None = 6333,
grpc_port: int = 6334,
prefer_grpc: bool = False,
https: bool | None = None,
api_key: str | None = None,
prefix: str | None = None,
timeout: int | None = None,
host: str | None = None,
path: str | None = None,
collection_name: str | None = None,
distance_func: str = "Cosine",
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
vector_name: str | None = VECTOR_NAME,
batch_size: int = 64,
shard_number: int | None = None,
replication_factor: int | None = None,
write_consistency_factor: int | None = None,
on_disk_payload: bool | None = None,
hnsw_config: HnswConfigDiff | None = None,
optimizers_config: OptimizersConfigDiff | None = None,
wal_config: WalConfigDiff | None = None,
quantization_config: QuantizationConfig | None = None,
init_from: InitFrom | None = None,
on_disk: bool | None = None,
force_recreate: bool = False,
**kwargs: Any,
) -> Qdrant
从文本列表构造 Qdrant 包装器。
| 参数 | 描述 |
|---|---|
texts
|
将在 Qdrant 中索引的文本列表。 |
embedding
|
TYPE: |
metadatas
|
一个可选的元数据列表。如果提供,其长度必须与文本列表的长度相同。 |
ids
|
可选的与文本关联的ID列表。ID必须是类似uuid的字符串。 |
location
|
如果为 ':memory:' - 使用内存中的 Qdrant 实例。如果为
类型: |
url
|
可以是主机名,也可以是 "scheme | None, host, port | None, prefix | None" 格式的字符串。
类型: |
port
|
REST API 接口的端口。默认值:6333
类型: |
grpc_port
|
gRPC 接口的端口。默认值:6334
类型: |
prefer_grpc
|
如果为 true - 在自定义方法中尽可能使用 gPRC 接口。默认值:False
类型: |
https
|
如果为 true - 使用 HTTPS(SSL) 协议。默认值:None
类型: |
api_key
|
类型: |
prefix
|
如果不为 None - 则向 REST URL 路径添加前缀。例如:service/v1 将导致 REST API 的地址为 https://:6333/service/v1/{qdrant-endpoint}。默认值:None
类型: |
timeout
|
REST 和 gRPC API 请求的超时时间。默认值:REST 为 5.0 秒,gRPC 无限制
TYPE: |
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。
TYPE: |
replication_factor
|
集合的复制因子。默认值为 1,最小值为 1。定义将创建的每个分片的副本数。仅在分布式模式下有效。
TYPE: |
write_consistency_factor
|
集合的写一致性因子。默认值为 1,最小值为 1。定义有多少个副本应用了操作才认为操作成功。增加此数字将使集合更能抵抗不一致性,但如果可用副本不足,也会导致失败。对性能没有影响。仅在分布式模式下有效。
TYPE: |
on_disk_payload
|
如果为 true - point 的负载将不会存储在内存中。每次请求时都会从磁盘读取。此设置通过(略微)增加响应时间来节省 RAM。注意:参与筛选并已索引的那些负载值仍保留在 RAM 中。
类型: |
hnsw_config
|
HNSW 索引的参数
类型: |
optimizers_config
|
优化器的参数
类型: |
wal_config
|
预写日志 (Write-Ahead-Log) 的参数
类型: |
quantization_config
|
量化参数,如果为 None - 量化将被禁用
类型: |
init_from
|
使用存储在另一个集合中的数据来初始化此集合
类型: |
on_disk
|
如果为 true - 向量将存储在磁盘上,从而减少内存使用。
类型: |
force_recreate
|
强制重新创建集合
类型: |
**kwargs
|
直接传递给 REST 客户端初始化的其他参数
类型: |
这是一个用户友好的界面,可以
- 为每个文本创建一个嵌入
- 默认将 Qdrant 数据库初始化为内存中的文档存储(可覆盖为远程文档存储)
- 将文本嵌入添加到 Qdrant 数据库
这旨在成为一种快速入门的方式。
from_existing_collection classmethod ¶
from_existing_collection(
embedding: Embeddings,
path: str | None = None,
collection_name: str | None = None,
location: str | None = None,
url: str | None = None,
port: int | None = 6333,
grpc_port: int = 6334,
prefer_grpc: bool = False,
https: bool | None = None,
api_key: str | None = None,
prefix: str | None = None,
timeout: int | None = None,
host: str | None = None,
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
distance_strategy: str = "COSINE",
vector_name: str | None = VECTOR_NAME,
**kwargs: Any,
) -> Qdrant
获取现有 Qdrant 集合的实例。
此方法将返回存储的实例,而不插入任何新的嵌入。
afrom_texts async classmethod ¶
afrom_texts(
texts: list[str],
embedding: Embeddings,
metadatas: list[dict] | None = None,
ids: Sequence[str] | None = None,
location: str | None = None,
url: str | None = None,
port: int | None = 6333,
grpc_port: int = 6334,
prefer_grpc: bool = False,
https: bool | None = None,
api_key: str | None = None,
prefix: str | None = None,
timeout: int | None = None,
host: str | None = None,
path: str | None = None,
collection_name: str | None = None,
distance_func: str = "Cosine",
content_payload_key: str = CONTENT_KEY,
metadata_payload_key: str = METADATA_KEY,
vector_name: str | None = VECTOR_NAME,
batch_size: int = 64,
shard_number: int | None = None,
replication_factor: int | None = None,
write_consistency_factor: int | None = None,
on_disk_payload: bool | None = None,
hnsw_config: HnswConfigDiff | None = None,
optimizers_config: OptimizersConfigDiff | None = None,
wal_config: WalConfigDiff | None = None,
quantization_config: QuantizationConfig | None = None,
init_from: InitFrom | None = None,
on_disk: bool | None = None,
force_recreate: bool = False,
**kwargs: Any,
) -> Qdrant
从文本列表构造 Qdrant 包装器。
| 参数 | 描述 |
|---|---|
texts
|
将在 Qdrant 中索引的文本列表。 |
embedding
|
TYPE: |
metadatas
|
一个可选的元数据列表。如果提供,其长度必须与文本列表的长度相同。 |
ids
|
可选的与文本关联的ID列表。ID必须是类似uuid的字符串。 |
location
|
如果为 ':memory:' - 使用内存中的 Qdrant 实例。如果为
类型: |
url
|
可以是主机名,也可以是 "scheme | None, host, port | None, prefix | None" 格式的字符串。
类型: |
port
|
REST API 接口的端口。默认值:6333
类型: |
grpc_port
|
gRPC 接口的端口。默认值:6334
类型: |
prefer_grpc
|
如果为 true - 在自定义方法中尽可能使用 gPRC 接口。默认值:False
类型: |
https
|
如果为 true - 使用 HTTPS(SSL) 协议。默认值:None
类型: |
api_key
|
类型: |
prefix
|
如果不为 None - 则向 REST URL 路径添加前缀。例如:service/v1 将导致 REST API 的地址为 https://:6333/service/v1/{qdrant-endpoint}。默认值:None
类型: |
timeout
|
REST 和 gRPC API 请求的超时时间。默认值:REST 为 5.0 秒,gRPC 无限制
TYPE: |
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。
TYPE: |
replication_factor
|
集合的复制因子。默认值为 1,最小值为 1。定义将创建的每个分片的副本数。仅在分布式模式下有效。
TYPE: |
write_consistency_factor
|
集合的写一致性因子。默认值为 1,最小值为 1。定义有多少个副本应用了操作才认为操作成功。增加此数字将使集合更能抵抗不一致性,但如果可用副本不足,也会导致失败。对性能没有影响。仅在分布式模式下有效。
TYPE: |
on_disk_payload
|
如果为 true - point 的负载将不会存储在内存中。每次请求时都会从磁盘读取。此设置通过(略微)增加响应时间来节省 RAM。注意:参与筛选并已索引的那些负载值仍保留在 RAM 中。
类型: |
hnsw_config
|
HNSW 索引的参数
类型: |
optimizers_config
|
优化器的参数
类型: |
wal_config
|
预写日志 (Write-Ahead-Log) 的参数
类型: |
quantization_config
|
量化参数,如果为 None - 量化将被禁用
类型: |
init_from
|
使用存储在另一个集合中的数据来初始化此集合
类型: |
on_disk
|
如果为 true - point 的负载将不会存储在内存中。每次请求时都会从磁盘读取。此设置通过(略微)增加响应时间来节省 RAM。注意:参与筛选并已索引的那些负载值仍保留在 RAM 中。
类型: |
force_recreate
|
强制重新创建集合
类型: |
**kwargs
|
直接传递给 REST 客户端初始化的其他参数
类型: |
这是一个用户友好的界面,可以
- 为每个文本创建一个嵌入
- 默认将 Qdrant 数据库初始化为内存中的文档存储(可覆盖为远程文档存储)
- 将文本嵌入添加到 Qdrant 数据库
这旨在成为一种快速入门的方式。