langchain_core.example_selectors.semantic_similarity.MaxMarginalRelevanceExampleSelector

class langchain_core.example_selectors.semantic_similarity.MaxMarginalRelevanceExampleSelector[源代码]

继承自: _VectorStoreExampleSelector

根据最大边际相关度选择示例。

在以下论文中表明这是一个提高性能的方案:[链接](https://arxiv.org/pdf/2211.13892.pdf)

通过解析和验证关键字参数中的输入数据来创建一个新的模型。

如果输入数据无法解析成有效的模型,则引发ValidationError。

参数 example_keys : Optional[List[str]] = None

用于过滤示例的可选键。

参数 fetch_k : int = 20

重排时获取的示例数量。

参数 input_keys : Optional[List[str]] = None

过滤输入的可选键。如果提供,则搜索基于输入变量而不是所有变量。

参数 k : int = 4

要选择的示例数量。

参数 vectorstore : VectorStore [必需]

包含示例信息的VectorStore。

param vectorstore_kwargs:Optional[Dict[str,Any]]] =None

传递给vectorstore中相似度搜索函数的额外参数。

async aadd_example(example: Dict[str, str])str

异步地向vectorstore中添加新示例。

参数

example (Dict[str, str]) – 以输入变量为键,值为值的字典。

返回值

所添加示例的ID。

返回类型

str

add_example(example: Dict[str, str])str

向vectorstore中添加新示例。

参数

example (Dict[str, str]) – 以输入变量为键,值为值的字典。

返回值

所添加示例的ID。

返回类型

str

async classmethod afrom_examples(examples: List[dict], embeddings: Embeddings, vectorstore_cls: Type[VectorStore] *, k: int = 4 input_keys: Optional[List[str] = None,

使用示例列表和嵌入异步创建k-shot示例选择器。

根据最大边缘相关性动态重排示例。

参数
  • examples (列表字典) – 用于提示中的示例列表。

  • embeddings – 一个初始化的嵌入API接口,例如OpenAIEmbeddings()。

  • vectorstore_cls (Type[VectorStore]) – 一个向量存储数据库接口类,例如FAISS。

  • k (int) – 要选择的示例数量。默认值为4。

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

  • input_keys (Optional[List[str]]) – 如果提供,则基于输入变量而不是所有变量进行搜索。

  • example_keys (Optional[List[str]]) – 如果提供,则过滤示例的键。

  • vectorstore_kwargs (Optional[dict]) – 传递到向量存储相似性搜索函数的额外参数。

  • vectorstore_cls_kwargs (Any) – 包含向量存储URL的可选kwargs。

返回值

通过向量存储支持的ExampleSelector实例。

返回类型

MaxMarginalRelevanceExampleSelector

async aselect_examples(input_variables: Dict[str, str]) List[dict][source]

基于最大边际相关度异步选择示例。

参数

input_variables (Dict[str, str]) – 用于搜索的输入变量。

返回值

选择的示例。

返回类型

List[dict]

classmethod from_examples(examples: List[dict], embeddings: Embeddings, vectorstore_cls: Type[VectorStore], k: int = 4, input_keys: Optional[List[str]] = None, fetch_k: int = 20, example_keys: Optional[List[str]] = None, vectorstore_kwargs: Optional[dict] = None, **vectorstore_cls_kwargs: Any) MaxMarginalRelevanceExampleSelector[source]

使用示例列表和嵌入创建k-shot示例选择器。

根据最大边缘相关性动态重排示例。

参数
  • examples (列表字典) – 用于提示中的示例列表。

  • embeddings – 一个初始化的嵌入API接口,例如OpenAIEmbeddings()。

  • vectorstore_cls (Type[VectorStore]) – 一个向量存储数据库接口类,例如FAISS。

  • k (int) – 要选择的示例数量。默认值为4。

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

  • input_keys (Optional[List[str]]) – 如果提供,则基于输入变量而不是所有变量进行搜索。

  • example_keys (Optional[List[str]]) – 如果提供,则过滤示例的键。

  • vectorstore_kwargs (Optional[dict]) – 传递到向量存储相似性搜索函数的额外参数。

  • vectorstore_cls_kwargs (Any) – 包含向量存储URL的可选kwargs。

返回值

通过向量存储支持的ExampleSelector实例。

返回类型

MaxMarginalRelevanceExampleSelector

select_examples(input_variables: Dict[str, str]) List[dict][source]

根据最大边际相关度选择示例。

参数

input_variables (Dict[str, str]) – 用于搜索的输入变量。

返回值

选择的示例。

返回类型

List[dict]

使用MaxMarginalRelevanceExampleSelector的示例