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_search
(查询[, k])返回与查询文本最相似的索引文档。
ahybrid_search_with_score
(查询[, k, 筛选器])使用混合查询返回与查询最相似的文档。
amax_marginal_relevance_search
(查询[, k, ...])异步返回使用最大边缘相关性选择的文档。
异步返回使用最大边缘相关性选择的文档。
执行搜索并按MMR重新排序的结果。
as_retriever
(**kwargs)从此向量化存储初始化AzureSearchVectorStoreRetriever。
asearch
(查询, 搜索类型, **kwargs)异步返回使用指定搜索类型与查询最相似的文档。
asemantic_hybrid_search
(查询[, k])返回与查询文本最相似的索引文档。
asemantic_hybrid_search_with_score
(查询[, ...])返回与查询文本最相似的索引文档。
使用混合查询返回与查询最相似的文档。
asimilarity_search
(查询[, k, 搜索类型])异步返回与查询最相似的文档。
asimilarity_search_by_vector
(嵌入[, k])异步返回与嵌入向量最相似的文档。
异步返回文档和相关度得分范围在 [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_search
(query [ k])返回与查询文本最相似的索引文档。
hybrid_search_with_relevance_scores
(query [ ...])hybrid_search_with_score
(query [ k, filters])使用混合查询返回与查询最相似的文档。
max_marginal_relevance_search
(query [ k, ...])返回使用最大边际相关度选择的文档。
返回使用最大边际相关度选择的文档。
执行搜索并按MMR重新排序的结果。
search
(查询, 搜索类型, **kwargs)使用指定的搜索类型返回与查询最相似的文档。
semantic_hybrid_search
(查询[, k])返回与查询文本最相似的索引文档。
semantic_hybrid_search_with_score
(查询[, ...])返回与查询文本最相似的索引文档。
使用混合查询返回与查询最相似的文档。
similarity_search
(查询[, k, 搜索类型])返回与查询最相似的文档。
similarity_search_by_vector
(嵌入向量[, k])返回与嵌入向量最相似的文档。
返回范围在[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。
- 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) –
- 返回类型
- 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]]
- async ahybrid_search(query: str, k: int = 4, **kwargs: Any) List[Document] [source]¶
返回与查询文本最相似的索引文档。
- 参数
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]]
- async amax_marginal_relevance_search(query: str, k: int = 4, fetch_k: int = 20, lambda_mult: float = 0.5, **kwargs: Any) List[Document] ¶
异步返回使用最大边缘相关性选择的文档。
最大边缘相关性优化查询的相似性以及所选文档间的多样性。
- 参数
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的检索器类。
- 返回类型
- 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]
- async asemantic_hybrid_search(query: str, k: int = 4, **kwargs: Any) List[Document] [source]¶
返回与查询文本最相似的索引文档。
- 参数
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, 浮点数, 浮点数]]
- async asimilarity_search(query: str, k: int = 4, *, search_type: Optional[str] = None, **kwargs: Any) List[Document] [source]¶
异步返回与查询最相似的文档。
- 参数
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 列表的响应对象。
- 返回类型
新增于版本0.2.11。
- async avector_search(query: str, k: int = 4, *args, filters: Optional[str] = None, **kwargs: Any) → List[[a class="参考" href="../documents/langchain_core.documents.base.Document.html#langchain_core.documents.base.Document" title="langchain_core.documents.base.Document">Document][source]¶
返回与查询文本最相似的索引文档。
- 参数
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。
- 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) –
- 返回类型
- 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]]
- hybrid_search(query: str, k: int = 4, **kwargs: Any) List[Document] ¶
返回与查询文本最相似的索引文档。
- 参数
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 = 20, lambda_mult: float = 0.5, **kwargs: Any) List[Document] ¶
返回使用最大边际相关度选择的文档。
最大边缘相关性优化查询的相似性以及所选文档间的多样性。
- 参数
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, **kwargs: Any) 列表[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, *, search_type: Optional[str] = None, **kwargs: Any) List[Document] [source]¶
返回与查询最相似的文档。
- 参数
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 列表的响应对象。
- 返回类型
新增于版本0.2.11。
- vector_search(query: str, k: int = 4, *args, filters: Optional[str] = None, **kwargs: Any) List[Document] [source]¶
返回与查询文本最相似的索引文档。
- 参数
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]]