# 探索最大边缘相关性(MMR):优化多样性与相似度的示例选择
## 引言
在机器学习和自然语言处理任务中,选择合适的示例来指导模型生成或学习是至关重要的。最大边缘相关性(MMR)示例选择是一种能够在选择与输入最相似的示例的同时,优化多样性的技术。这篇文章旨在深入探讨如何实现MMR示例选择,并通过代码示例展示它在实践中的应用。
## 主要内容
### 什么是最大边缘相关性(MMR)?
MMR是一种算法,旨在从给定的多样化示例集中选择子集。其核心思想是平衡选择示例的相似性和多样性。具体来说,它会选择与输入具有最大余弦相似度的示例,然后在每次选择后,对已经选择的示例进行距离上的惩罚,以鼓励多样性。
### 如何实现MMR示例选择?
我们可以利用Langchain库中的`MaxMarginalRelevanceExampleSelector`来实现这种选择策略。通过结合向量存储(例如FAISS)和嵌入类(例如OpenAIEmbeddings),我们可以高效地管理和搜索示例。
### 代码示例
以下是实现MMR示例选择的完整代码:
```python
from langchain_community.vectorstores import FAISS
from langchain_core.example_selectors import (
MaxMarginalRelevanceExampleSelector,
SemanticSimilarityExampleSelector,
)
from langchain_core.prompts import FewShotPromptTemplate, PromptTemplate
from langchain_openai import OpenAIEmbeddings
example_prompt = PromptTemplate(
input_variables=["input", "output"],
template="Input: {input}\nOutput: {output}",
)
# 示例:创建反义词的任务
examples = [
{"input": "
探索最大边缘相关性(MMR):优化多样性与相似度的示例选择
OpenAI服务问题及MMR技术应用
最新推荐文章于 2025-11-24 08:39:51 发布

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



