langchain_community.vectorstores.azuresearch.AzureSearch

class langchain_community.vectorstores.azuresearch.AzureSearch(azure_search_endpoint: str, azure_search_key: str, index_name: str, embedding_function: Union[Callable, Embeddings], search_type: str = 'hybrid', semantic_configuration_name: Optional[str] = None, fields: Optional[List[SearchField]] = None, vector_search: Optional[VectorSearch] = None, semantic_configurations: Optional[Union[SemanticConfiguration, List[SemanticConfiguration]]] = None, scoring_profiles: Optional[List[ScoringProfile]] = None, default_scoring_profile: Optional[str] = None, cors_options: Optional[CorsOptions] = None, *, vector_search_dimensions: Optional[int] = None, additional_search_client_options: Optional[Dict[str, Any]] = None, **kwargs: Any)[source]

Azure认知搜索向量存储.

属性

embeddings

当存在时访问查询嵌入对象。

方法

__init__(azure_search_endpoint, ...[, ...])

aadd_documents(documents, **kwargs)

异步将更多文档通过嵌入并添加到向量存储。

aadd_embeddings(text_embeddings[, ...])

向现有索引添加嵌入。

aadd_texts(texts[, metadatas, keys])

异步将更多文本通过嵌入并添加到向量存储。

add_documents(documents, **kwargs)

向向量存储中添加或更新文档。

add_embeddings(text_embeddings[, metadatas, ...])

向现有索引添加嵌入。

add_texts(texts[, metadatas, keys])

将文本数据添加到现有索引。

adelete([ids])

根据向量ID进行删除。

afrom_documents(documents, embedding, **kwargs)

异步从文档和嵌入初始化VectorStore。

afrom_embeddings(text_embeddings, embedding)

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

异步从文本和嵌入初始化VectorStore。

aget_by_ids(ids, //

)

异步按ID获取文档。

ahybrid_max_marginal_relevance_search_with_score(查询)

使用混合查询返回与查询最相似的文档。

ahybrid_search(查询[, k])

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

ahybrid_search_with_relevance_scores(查询)

ahybrid_search_with_score(查询[, k, 筛选器])

使用混合查询返回与查询最相似的文档。

amax_marginal_relevance_search(查询[, k, ...])

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

amax_marginal_relevance_search_by_vector(...)

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

amax_marginal_relevance_search_with_score(查询)

执行搜索并按MMR重新排序的结果。

as_retriever(**kwargs)

从此向量化存储初始化AzureSearchVectorStoreRetriever。

asearch(查询, 搜索类型, **kwargs)

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

asemantic_hybrid_search(查询[, k])

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

asemantic_hybrid_search_with_score(查询[, ...])

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

asemantic_hybrid_search_with_score_and_rerank(查询)

使用混合查询返回与查询最相似的文档。

asimilarity_search(查询[, k, 搜索类型])

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

asimilarity_search_by_vector(嵌入[, k])

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

asimilarity_search_with_relevance_scores(查询)

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

asimilarity_search_with_score(query,  * k)

使用距离执行相似度搜索。

astreaming_upsert(items,  /,  batch_size,  **kwargs)

aupsert(items,  /,  **kwargs)

avector_search(query  [ k,  filters])

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

avector_search_with_score(query  [ k,  filters])

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

delete([ids])

根据向量ID进行删除。

from_documents(documents,  embedding,  **kwargs)

从文档和嵌入中返回 VectorStore。

from_embeddings(text_embeddings,  embedding)

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

从文本和嵌入中返回 VectorStore。

get_by_ids(ids,  /)

通过它们的 ID 获取文档。

hybrid_max_marginal_relevance_search_with_score(query)

使用混合查询返回与查询最相似的文档。

hybrid_search(query  [ k])

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

hybrid_search_with_relevance_scores(query  [ ...])

hybrid_search_with_score(query  [ k,  filters])

使用混合查询返回与查询最相似的文档。

max_marginal_relevance_search(query  [ k,  ...])

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

max_marginal_relevance_search_by_vector(...)

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

max_marginal_relevance_search_with_score(查询)

执行搜索并按MMR重新排序的结果。

search(查询, 搜索类型, **kwargs)

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

semantic_hybrid_search(查询[, k])

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

semantic_hybrid_search_with_score(查询[, ...])

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

semantic_hybrid_search_with_score_and_rerank(查询)

使用混合查询返回与查询最相似的文档。

similarity_search(查询[, k, 搜索类型])

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

similarity_search_by_vector(嵌入向量[, k])

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

similarity_search_with_relevance_scores(查询)

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

similarity_search_with_score(查询[, *[, k]])

使用距离执行相似度搜索。

streaming_upsert(项目[, /, 批处理大小, **kwargs])

upsert(项目[, /, **kwargs])

vector_search(查询[, k, 筛选器])

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

vector_search_with_score(查询[, k, 筛选器])

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

参数
  • azure_search_endpoint (str) –

  • azure_search_key (str) –

  • index_name (str) –

  • embedding_function (Union[Callable, Embeddings]) –

  • search_type (str) –

  • semantic_configuration_name (Optional[str]) –

  • fields (Optional[List[SearchField]]) –

  • vector_search (Optional[VectorSearch]) –

  • semantic_configurations (Optional[Union[SemanticConfiguration, List[SemanticConfiguration]]]) –

  • scoring_profiles (Optional[List[ScoringProfile]]) –

  • default_scoring_profile (Optional[str]) –

  • cors_options (Optional[CorsOptions]) –

  • vector_search_dimensions (可选[int]) –

  • additional_search_client_options (可选[Dict[str, Any]]) –

  • kwargs (Any) –

__init__(azure_search_endpoint: str, azure_search_key: str, index_name: str, embedding_function: Union[Callable, Embeddings], search_type: str = 'hybrid', semantic_configuration_name: Optional[str] = None, fields: Optional[List[SearchField]] = None, vector_search: Optional[VectorSearch] = None, semantic_configurations: Optional[Union[SemanticConfiguration, List[SemanticConfiguration]]] = None, scoring_profiles: Optional[List[ScoringProfile]] = None, default_scoring_profile: Optional[str] = None, cors_options: Optional[CorsOptions] = None, *, vector_search_dimensions: Optional[int] = None, additional_search_client_options: Optional[Dict[str, Any]] = None, **kwargs: Any)[source]
参数
  • azure_search_endpoint (str) –

  • azure_search_key (str) –

  • index_name (str) –

  • embedding_function (Union[Callable, Embeddings]) –

  • search_type (str) –

  • semantic_configuration_name (Optional[str]) –

  • fields (Optional[List[SearchField]]) –

  • vector_search (Optional[VectorSearch]) –

  • semantic_configurations (Optional[Union[SemanticConfiguration, List[SemanticConfiguration]]]) –

  • scoring_profiles (Optional[List[ScoringProfile]]) –

  • default_scoring_profile (Optional[str]) –

  • cors_options (Optional[CorsOptions]) –

  • vector_search_dimensions (可选[int]) –

  • additional_search_client_options (可选[Dict[str, Any]]) –

  • kwargs (Any) –

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

异步将更多文档通过嵌入并添加到向量存储。

参数
  • documents (List[Document]) – 要添加到向量存储的文档。

  • kwargs (Any) – 其他额外关键字参数。

返回

已添加文本的ID列表。

抛出

ValueError – 如果ID的数量与文档数量不匹配。

返回类型

List[str]

async aadd_embeddings(text_embeddings: Iterable[Tuple[str, List[float]]]], metadatas: Optional[List[dict]] = None, *, keys: Optional[List[str]] = None) List[str]

向现有索引添加嵌入。

参数
  • text_embeddings (可迭代[元组[str, 列表[float]]]) –

  • metadatas (可选[列表[字典]]) –

  • keys (可选[列表[str]]) –

返回类型

列表[str]

async aadd_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, *, keys: Optional[List[str]] = None, **kwargs: Any) List[str][源代码]

异步将更多文本通过嵌入并添加到向量存储。

参数
  • texts (可迭代的字符串) – 要添加到向量存储库中的字符串的可迭代集合。

  • metadatas (可选的元数据列表) – 与文本相关联的元数据的可选列表。默认值是 None。

  • **kwargs (任何参数) – 向量存储库特定的参数。

  • keys (可选[列表[str]]) –

  • **kwargs

返回

向文本添加到向量存储库中时返回的 ids 列表。

抛出
  • 值错误 – 如果元数据的数量不匹配文本的数量。

  • 值错误 – 如果 ids 的数量不匹配文本的数量。

返回类型

列表[str]

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

向向量存储中添加或更新文档。

参数
  • documents (List[Document]) – 要添加到向量存储的文档。

  • kwargs (任何参数) – 附加关键字参数。如果 kwargs 包含 ids 并且文档包含 ids,则 kwargs 中的 ids 将具有优先权。

返回

已添加文本的ID列表。

抛出

值错误 – 如果 ids 的数量不匹配文档的数量。

返回类型

List[str]

add_embeddings(text_embeddings: Iterable[Tuple[str, List[float]], metadatas: Optional[List[dict]] = None, *, keys: Optional[List[str]] = None) List[str][source]

向现有索引添加嵌入。

参数
  • text_embeddings (可迭代[元组[str, 列表[float]]]) –

  • metadatas (可选[列表[字典]]) –

  • keys (可选[列表[str]]) –

返回类型

列表[str]

add_texts(texts: Iterable[str], metadatas: Optional[List[dict]] = None, *, keys: Optional[List[str]] = None, **kwargs: Any) List[str][source]

将文本数据添加到现有索引。

参数
  • texts (可迭代字符串[]) –

  • metadatas (可选[列表[字典]]) –

  • keys (可选[列表[str]]) –

  • kwargs (Any) –

返回类型

列表[str]

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

根据向量ID进行删除。

参数
  • ids (可选[列表[字符串]]) – 要删除的ID列表。

  • kwargs (Any) –

返回

如果删除成功,则为真;否则为假。

返回类型

布尔值

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

异步从文档和嵌入初始化VectorStore。

参数
  • documents (列表[Document]) – 要添加到向量存储的文档列表。

  • embedding – 要使用的嵌入函数。

  • kwargs (Any) – 其他额外关键字参数。

返回

从文档和嵌入初始化的向量存储。

返回类型

向量存储

async classmethod afrom_embeddings(text_embeddings: 可迭代[元组[字符串, 浮点数列表]]], embedding: 嵌入, metadatas: Optional[列表[字典]]] = None, *, azure_search_endpoint: 字符串 = '', azure_search_key: 字符串 = '', index_name: 字符串 = 'langchain-index', fields: Optional[列表[搜索字段]]] = None, **kwargs: Any) AzureSearch[source]
参数
  • text_embeddings (可迭代[元组[str, 列表[float]]]) –

  • embedding (嵌入) –

  • metadatas (可选[列表[字典]]) –

  • azure_search_endpoint (str) –

  • azure_search_key (str) –

  • index_name (str) –

  • fields (Optional[List[SearchField]]) –

  • kwargs (Any) –

返回类型

AzureSearch

async classmethod afrom_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[dict]] = None, azure_search_endpoint: str = '', azure_search_key: str = '', index_name: str = 'langchain-index', fields: Optional[List[SearchField]] = None, **kwargs: Any) AzureSearch

异步从文本和嵌入初始化VectorStore。

参数
  • texts (List[str]) – 需要添加到向量存储中的文本。

  • embedding – 要使用的嵌入函数。

  • metadatas (可选的元数据列表) – 与文本相关联的元数据的可选列表。默认值是 None。

  • kwargs (Any) – 其他额外关键字参数。

  • azure_search_endpoint (str) –

  • azure_search_key (str) –

  • index_name (str) –

  • fields (Optional[List[SearchField]]) –

返回

从文本和嵌入初始化的向量存储。

返回类型

向量存储

async aget_by_ids(ids: Sequence[str], /) List[Document]

异步按ID获取文档。

返回的文档应将ID字段设置为向量存储中文档的ID。

如果某些ID未找到或存在重复ID,返回的文档数量可能小于请求的数量。

用户不应假设返回的文档顺序与输入ID的顺序相同。相反,用户应依赖于返回文档的ID字段。

该方法在找不到某些ID的文档时不应引发异常。

参数

ids (序列[str]) – 要检索的ID列表。

返回

文档列表。

返回类型

List[Document]

新增于版本0.2.11。

async ahybrid_max_marginal_relevance_search_with_score(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, *, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]][source]
使用混合查询返回与查询最相似的文档。

并按MMR重新排序结果。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int, 可选) – 返回的文档数量。默认为4。

  • fetch_k (int, 可选) – 从中选择k的总结果数。默认为20。

  • lambda_mult (float) – 介于0和1之间的数字,用于确定结果之间的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • filters (str, 可选) – 筛选表达式。默认为None。

  • kwargs (Any) –

返回

与查询最相似的文档列表以及每个文档的分数

返回类型

List[Tuple[Document, float]]

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • kwargs (Any) –

返回

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

返回类型

List[Document]

async ahybrid_search_with_relevance_scores(query: str, k: int = 4, *, score_threshold: Optional[float] = None, **kwargs: Any) List[Tuple[Document, float]][source]
参数
  • query (str) –

  • k (int) –

  • score_threshold (Optional[float]) –

  • kwargs (Any) –

返回类型

List[Tuple[Document, float]]

async ahybrid_search_with_score(query: str, k: int = 4, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]][source]

使用混合查询返回与查询最相似的文档。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int) – 返回文档的数量。默认为4。

  • filters (可选str]) –

  • kwargs (Any) –

返回

与查询最相似的文档列表以及每个文档的分数

返回类型

List[Tuple[Document, float]]

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

最大边缘相关性优化查询的相似性以及所选文档间的多样性。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int) – 返回文档的数量。默认为4。

  • fetch_k (int) – 传递给MMR算法的文档数量。默认为20。

  • lambda_mult (float) – 在0和1之间的数,用于确定结果中的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • kwargs (Any) –

返回

使用最大边缘相关性选择的文档列表。

返回类型

List[Document]

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 (int) – 返回文档的数量。默认为4。

  • fetch_k (int) – 传递给MMR算法的文档数量。默认为20。

  • lambda_mult (float) – 在0和1之间的数,用于确定结果中的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

返回

使用最大边缘相关性选择的文档列表。

返回类型

List[Document]

async amax_marginal_relevance_search_with_score(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, *, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]]

执行搜索并按MMR重新排序的结果。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • (int可选)- 返回结果数量。默认为4。

  • fetch_k (int, 可选) – 从中选择k的总结果数。默认为20。

  • lambda_mult (float) – 介于0和1之间的数字,用于确定结果之间的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • filters (str, 可选) – 筛选表达式。默认为None。

  • kwargs (Any) –

返回

到查询的最相似文档列表

并为每个提供分数

返回类型

List[Tuple[Document, float]]

as_retriever(**kwargs: Any) AzureSearchVectorStoreRetriever[source]

从此向量化存储初始化AzureSearchVectorStoreRetriever。

参数
  • search_type (可选[str]) -

    定义检索器应执行搜索的类型。可以是“similarity”(默认),“hybrid”或

    “semantic_hybrid”。

  • search_kwargs (可选[Dict]) -

    传递给查找函数的关键字参数。可以包括如下内容

    score_threshold: 最小相关度阈值

    for similarity_score_threshold

    fetch_k: 向MMR算法传递的文档数量(默认:20) lambda_mult: MMR返回结果的多样性;

    1表示最小多样性,0表示最大。默认值为0.5

    filter: 通过文档元数据过滤

  • kwargs (Any) –

返回

VectorStore的检索器类。

返回类型

AzureSearchVectorStoreRetriever

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

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

参数
  • query (str) – 输入文本。

  • search_type (str) – 要执行的搜索类型。可以是“similarity”、“mmr”或“similarity_score_threshold”。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

返回

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

抛出

ValueError – 如果search_type不是“similarity”、“mmr”或“similarity_score_threshold”之一。

返回类型

List[Document]

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • filters – 过滤表达式。

  • kwargs (Any) –

返回

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

返回类型

List[Document]

async asemantic_hybrid_search_with_score(query: str, k: int = 4, score_type: Literal['score', 'reranker_score'] = 'score', *, score_threshold: Optional[float] = None, **kwargs: Any) List[Tuple[Document, float]][source]

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • score_type (Literal['score', 'reranker_score']) – 必须是“score”或“reranker_score”。默认为“score”。

  • filters – 过滤表达式。

  • score_threshold (Optional[float]) –

  • kwargs (Any) –

返回

文档及其

相应评分的列表。

返回类型

List[Tuple[Document, float]]

async asemantic_hybrid_search_with_score_and_rerank(query: str, k: int = 4, *, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float, float]][source]

使用混合查询返回与查询最相似的文档。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int) – 返回文档的数量。默认为4。

  • filters (Optional[str]) – 过滤表达式。

  • kwargs (Any) –

返回

与查询最相似的文档列表以及每个文档的分数

返回类型

列表[元组 [Document, 浮点数, 浮点数]]

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

参数
  • query (str) – 输入文本。

  • k (int) – 返回文档的数量。默认为4。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

  • search_type (可选[str]) -

  • **kwargs

返回

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

返回类型

列表[Document]

async asimilarity_search_by_vector(embedding: List[float], k: int = 4, **kwargs: Any) List[Document]

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

参数
  • embedding (列表[浮点数]) – 查找与指定嵌入相似的文档。

  • k (int) – 返回文档的数量。默认为4。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

返回

查询向量最相似的文档列表。

返回类型

List[Document]

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

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

0 表示非常不相似,1 表示非常相似。

参数
  • query (str) – 输入文本。

  • k (int) – 返回文档的数量。默认为4。

  • **kwargs (Any) –

    传递给相似性搜索的 kwargs。应包括:score_threshold: 可选的浮点值,介于 0 到 1 之间,用于

    过滤检索到的文档集

  • score_threshold (Optional[float]) –

  • **kwargs

返回

包含 (doc, 相似度得分) 的元组列表

返回类型

List[Tuple[Document, float]]

async asimilarity_search_with_score(query: str, *, k: int = 4, **kwargs: ) List[Tuple[Document, float]][源代码]

使用距离执行相似度搜索。

参数
  • query (str) –

  • k (int) –

  • kwargs (Any) –

返回类型

List[Tuple[Document, float]]

astreaming_upsert(items: AsyncIterable[Document], /, batch_size: int, **kwargs: ) AsyncIterator[UpsertResponse]

Beta

0.2.11版本中添加。API可能会有变化。

以流式方式更新文档。streaming_upsert的异步版本。

参数
  • items (AsyncIterable[Document]) – 要添加到向量存储的文档迭代器。

  • batch_size (int) – 每批更新的大小。

  • kwargs (任何) – 额外的关键字参数。kwargs应仅包含所有文档共有的参数。(例如,索引超时、重试策略等。)kwargs中不应包含ID,以避免语义模糊。相反,ID应作为Document对象的一部分提供。

产生

UpsertResponse – 包含成功添加或更新的向量存储中的ID列表以及失败添加或更新的ID列表的响应对象。

返回类型

AsyncIterator[UpsertResponse]

新增于版本0.2.11。

async aupsert(items: Sequence[Document], /, **kwargs: Any) UpsertResponse

Beta

0.2.11版本中添加。API可能会有变化。

向向量化存储中添加或更新文档。async 版本的 upsert。

upsert 功能应使用 Document 对象的 ID 字段(如果提供)。如果未提供 ID,upsert 方法可以自由为文档生成 ID。

当指定 ID 且文档已存在于向量化存储中时,upsert 方法应使用新数据更新文档。如果文档不存在,upsert 方法应将文档添加到向量化存储中。

参数
  • items (类型[Document]) – 要添加到向量化存储中的文档序列。

  • kwargs (Any) – 其他额外关键字参数。

返回

包含成功添加或更新在向量化存储中的 ID 列表以及失败添加或更新的 ID 列表的响应对象。

返回类型

UpsertResponse

新增于版本0.2.11。

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • filters (可选str]) –

  • kwargs (Any) –

返回

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

返回类型

List[Document]

async avector_search_with_score(query: str, k: int = 4, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]][source]

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

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int, 可选) – 返回的文档数量。默认为4。

  • filters (str, 可选) – 筛选表达式。默认为None。

  • kwargs (Any) –

返回

到查询的最相似文档列表

并为每个提供分数

返回类型

List[Tuple[Document, float]]

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

根据向量ID进行删除。

参数
  • ids (可选[列表[字符串]]) – 要删除的ID列表。

  • kwargs (Any) –

返回

如果删除成功,则为真;否则为假。

返回类型

布尔值

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

从文档和嵌入中返回 VectorStore。

参数
  • documents (列表[Document]) – 要添加到向量存储的文档列表。

  • embedding – 要使用的嵌入函数。

  • kwargs (Any) – 其他额外关键字参数。

返回

从文档和嵌入初始化的向量存储。

返回类型

向量存储

classmethod from_embeddings(text_embeddings: Iterable[Tuple[str, List[float]]], embedding: Embeddings, metadatas: Optional[List[dict]] = None, *, azure_search_endpoint: str = '', azure_search_key: str = '', index_name: str = 'langchain-index', fields: Optional[List[SearchField]] = None, **kwargs: Any) AzureSearch[source]
参数
  • text_embeddings (可迭代[元组[str, 列表[float]]]) –

  • embedding (嵌入) –

  • metadatas (可选[列表[字典]]) –

  • azure_search_endpoint (str) –

  • azure_search_key (str) –

  • index_name (str) –

  • fields (Optional[List[SearchField]]) –

  • kwargs (Any) –

返回类型

AzureSearch

classmethod from_texts(texts: List[str], embedding: Embeddings, metadatas: Optional[List[dict]] = None, azure_search_endpoint: str = '', azure_search_key: str = '', index_name: str = 'langchain-index', fields: Optional[List[SearchField]] = None, **kwargs: Any) AzureSearch[源代码]

从文本和嵌入中返回 VectorStore。

参数
  • texts (List[str]) – 需要添加到向量存储中的文本。

  • embedding – 要使用的嵌入函数。

  • metadatas (可选的元数据列表) – 与文本相关联的元数据的可选列表。默认值是 None。

  • kwargs (Any) – 其他额外关键字参数。

  • azure_search_endpoint (str) –

  • azure_search_key (str) –

  • index_name (str) –

  • fields (Optional[List[SearchField]]) –

返回

从文本和嵌入初始化的向量存储。

返回类型

向量存储

get_by_ids(ids: Sequence[str], /) List[Document]

通过它们的 ID 获取文档。

返回的文档应将ID字段设置为向量存储中文档的ID。

如果某些ID未找到或存在重复ID,返回的文档数量可能小于请求的数量。

用户不应假设返回的文档顺序与输入ID的顺序相同。相反,用户应依赖于返回文档的ID字段。

该方法在找不到某些ID的文档时不应引发异常。

参数

ids (序列[str]) – 要检索的ID列表。

返回

文档列表。

返回类型

List[Document]

新增于版本0.2.11。

hybrid_max_marginal_relevance_search_with_score(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, *, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]]
使用混合查询返回与查询最相似的文档。

并按MMR重新排序结果。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int, 可选) – 返回的文档数量。默认为4。

  • fetch_k (int, 可选) – 从中选择k的总结果数。默认为20。

  • lambda_mult (float) – 介于0和1之间的数字,用于确定结果之间的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • filters (str, 可选) – 筛选表达式。默认为None。

  • kwargs (Any) –

返回

与查询最相似的文档列表以及每个文档的分数

返回类型

List[Tuple[Document, float]]

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • kwargs (Any) –

返回

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

返回类型

List[Document]

hybrid_search_with_relevance_scores(query: str, k: int = 4, *, score_threshold: Optional[float] = None, **kwargs: Any) List[Tuple[Document, float]][source]
参数
  • query (str) –

  • k (int) –

  • score_threshold (Optional[float]) –

  • kwargs (Any) –

返回类型

List[Tuple[Document, float]]

hybrid_search_with_score(query: str, k: int = 4, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]][source]

使用混合查询返回与查询最相似的文档。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int) – 返回文档的数量。默认为4。

  • filters (可选str]) –

  • kwargs (Any) –

返回

与查询最相似的文档列表以及每个文档的分数

返回类型

List[Tuple[Document, float]]

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

最大边缘相关性优化查询的相似性以及所选文档间的多样性。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int) – 返回文档的数量。默认为4。

  • fetch_k (int) – 传递给MMR算法的文档数量。默认为20。

  • lambda_mult (float) – 在0和1之间的数,用于确定结果中的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

返回

使用最大边缘相关性选择的文档列表。

返回类型

List[Document]

基于向量的最大边际相关性搜索(embedding: List[float], k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, **kwargs: Any) List[Document]

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

最大边缘相关性优化查询的相似性以及所选文档间的多样性。

参数
  • embedding (列表[浮点数]) – 查找与指定嵌入相似的文档。

  • k (int) – 返回文档的数量。默认为4。

  • fetch_k (int) – 传递给MMR算法的文档数量。默认为20。

  • lambda_mult (float) – 在0和1之间的数,用于确定结果中的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

返回

使用最大边缘相关性选择的文档列表。

返回类型

List[Document]

max_marginal_relevance_search_with_score(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, *, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]][source]

执行搜索并按MMR重新排序的结果。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • (int可选)- 返回结果数量。默认为4。

  • fetch_k (int, 可选) – 从中选择k的总结果数。默认为20。

  • lambda_mult (float) – 介于0和1之间的数字,用于确定结果之间的多样性程度,0对应最大多样性,1对应最小多样性。默认为0.5。

  • filters (str, 可选) – 筛选表达式。默认为None。

  • kwargs (Any) –

返回

到查询的最相似文档列表

并为每个提供分数

返回类型

List[Tuple[Document, float]]

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

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

参数
  • query (str) – 输入文本

  • search_type (str) – 要执行的搜索类型。可以是“similarity”、“mmr”或“similarity_score_threshold”。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

返回

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

抛出

ValueError – 如果search_type不是“similarity”、“mmr”或“similarity_score_threshold”之一。

返回类型

List[Document]

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • filters – 过滤表达式。

  • kwargs (Any) –

返回

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

返回类型

List[Document]

带有评分的语义混合搜索(query: str, k: int = 4, score_type: Literal['score', 'reranker_score'] = 'score', *, score_threshold: Optional[float] = None, **kwargs: Any) 列表[元组[Document, 浮点数]][源代码]

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • score_type (Literal['score', 'reranker_score']) – 必须是“score”或“reranker_score”。默认为“score”。

  • filters – 过滤表达式。

  • score_threshold (Optional[float]) –

  • kwargs (Any) –

返回

文档及其

相应评分的列表。

返回类型

List[Tuple[Document, float]]

语义混合搜索带得分和重新排序(query: str, k: int = 4, *, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float, float]][source]

使用混合查询返回与查询最相似的文档。

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int) – 返回文档的数量。默认为4。

  • filters (Optional[str]) – 过滤表达式。

  • kwargs (Any) –

返回

与查询最相似的文档列表以及每个文档的分数

返回类型

列表[元组 [Document, 浮点数, 浮点数]]

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

参数
  • query (str) – 输入文本。

  • k (int) – 返回文档的数量。默认为4。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

  • search_type (可选[str]) -

  • **kwargs

返回

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

返回类型

列表[Document]

similarity_search_by_vector(embedding: List[float], k: int = 4, **kwargs: Any) List[Document]

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

参数
  • embedding (列表[浮点数]) – 查找与指定嵌入相似的文档。

  • k (int) – 返回文档的数量。默认为4。

  • **kwargs (任意类型) – 需要传递给搜索方法的参数。

返回

查询向量最相似的文档列表。

返回类型

List[Document]

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

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

0 表示非常不相似,1 表示非常相似。

参数
  • query (str) – 输入文本。

  • k (int) – 返回文档的数量。默认为4。

  • **kwargs (Any) –

    传递给相似性搜索的 kwargs。应包括:score_threshold: 可选的浮点值,介于 0 到 1 之间,用于

    过滤检索到的文档集合。

  • score_threshold (Optional[float]) –

  • **kwargs

返回

包含(文档,相似度分数)元组的列表。

返回类型

List[Tuple[Document, float]]

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

使用距离执行相似度搜索。

参数
  • query (str) –

  • k (int) –

  • kwargs (Any) –

返回类型

List[Tuple[Document, float]]

streaming_upsert(items: Iterable[Document], /, batch_size: int, **kwargs: Any) Iterator[UpsertResponse]

Beta

0.2.11版本中添加。API可能会有变化。

以流式方式插入文档。

参数
  • items (Iterable[Document]) – 要添加到向量存储中的文档集合。

  • batch_size (int) – 每批更新的大小。

  • kwargs (Any) – 额外的关键字参数。kwargs 应仅包含所有文档共有的参数。(例如,索引超时、重试策略等)。kwargs 不应包含 ID 以避免语义模糊。相反,ID 应作为文档对象的一部分提供。

产生

UpsertResponse – 包含成功添加或更新的向量存储中的ID列表以及失败添加或更新的ID列表的响应对象。

返回类型

Iterator[UpsertResponse]

新增于版本0.2.11。

upsert(items: Sequence[Document], /, **kwargs: Any) UpsertResponse

Beta

0.2.11版本中添加。API可能会有变化。

向向量存储中添加或更新文档。

upsert 功能应使用 Document 对象的 ID 字段(如果提供)。如果未提供 ID,upsert 方法可以自由为文档生成 ID。

当指定 ID 且文档已存在于向量化存储中时,upsert 方法应使用新数据更新文档。如果文档不存在,upsert 方法应将文档添加到向量化存储中。

参数
  • items (类型[Document]) – 要添加到向量化存储中的文档序列。

  • kwargs (Any) – 其他额外关键字参数。

返回

包含成功添加或更新在向量化存储中的 ID 列表以及失败添加或更新的 ID 列表的响应对象。

返回类型

UpsertResponse

新增于版本0.2.11。

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

参数
  • query (str) – 要查找相似文档的查询文本。

  • k (int) – 返回的文档数量。默认为4。

  • filters (可选str]) –

  • kwargs (Any) –

返回

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

返回类型

List[Document]

vector_search_with_score(query: str, k: int = 4, filters: Optional[str] = None, **kwargs: Any) List[Tuple[Document, float]][source]

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

参数
  • query (str) – 要查找与文本相似文档的文本。

  • k (int, 可选) – 返回的文档数量。默认为4。

  • filters (str, 可选) – 筛选表达式。默认为None。

  • kwargs (Any) –

返回

到查询的最相似文档列表

并为每个提供分数

返回类型

List[Tuple[Document, float]]

使用 AzureSearch 的示例