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实例。
- 返回类型
- 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实例。
- 返回类型