MaxMarginalRelevanceExampleSelector 笔记
概述
MaxMarginalRelevanceExampleSelector
是一个选择器,用于从一组候选示例中选择出与输入最相关且具有多样性的示例。它通过计算示例与输入之间的语义相似度,然后迭代地选择示例,同时对与已选择示例相似度过高的候选项施加惩罚。
核心概念
- 余弦相似度:用于衡量示例嵌入向量与输入嵌入向量之间的相似度。
- 边际相关性:衡量每个候选示例与输入的相似度,同时考虑与已选择示例的多样性。
- 多样性惩罚:对与已选择示例相似度过高的候选项施加惩罚,以增加选择的多样性。
使用步骤
- 导入相关库:导入
langchain
相关的模块和类。 - 定义提示模板 (
PromptTemplate
):创建一个模板,用于格式化输入和输出。 - 准备候选示例 (
examples
):准备一组示例数据,每个示例包含输入和输出。 - 创建选择器实例 (
MaxMarginalRelevanceExampleSelector.from_examples
):- 提供候选示例列表。
- 指定嵌入类(如