【LangChain】Prompts之示例选择器
LangChain学习文档
- 【LangChain】向量存储(Vector stores)
- 【LangChain】向量存储之FAISS
- 【LangChain】Prompts之Prompt templates
- 【LangChain】Prompts之自定义提示模板
- 【LangChain】Prompts之示例选择器
概要
如果您有大量示例,您可能需要选择要包含在提示中的哪个示例。示例选择器是负责执行此操作的类。
基本接口定义如下:
class BaseExampleSelector(ABC):"""用于选择要包含在提示中的示例的界面。"""@abstractmethoddef select_examples(self, input_variables: Dict[str, str]) -> List[dict]:"""根据输入选择要使用的示例。"""
它需要公开的唯一方法是 select_examples 方法。这需要接受输入变量,然后返回示例列表。如何选择这些示例取决于每个具体的实现。
自定义示例选择器(Custom example selector)
在本教程中,我们将创建一个自定义示例选择器,用于从给定的示例列表中选择每个备用示例。
ExampleSelector 必须实现两个方法:
-
add_example方法接受一个示例并将其添加到ExampleSelector中 -
select_examples方法,它接受输入变量并返回部分示例列表或全部列表。
让我们实现一个自定义的ExampleSelector,它只随机选择两个示例。
在这里查看 LangChain 支持的当前示例选择器实现集。
实现自定义示例选择器(Implement custom example selector)
from langchain.prompts.example_selector.base import BaseExampleSelector
from typing import Dict, List
import numpy as npclass CustomExampleSelector(BaseExampleSelector):def __init__(self, examples: List[Dict[str, str]]):self.examples = examplesdef add_example(self, example: Dict[str, str]) -> None:"""添加新示例来存储密钥。"""self.examples.append(example)def select_examples(self, input_variables: Dict[str, str]) -> List[dict]:"""根据输入选择要使用的示例。随机选择2个"""return np.random.choice(self.examples, size=2, replace=False)
参考api:BaseExampleSelector from langchain.prompts.example_selector.base
使用自定义示例选择器(Use custom example selector)
examples = [{"foo": "1"},{"foo": "2"},{"foo": "3"}
]# 初始化示例选择器。
example_selector = CustomExampleSelector(examples)# 选择示例
example_selector.select_examples({"foo": "foo"})
# -> array([{'foo': '2'}, {'foo': '3'}], dtype=object)# 将新示例添加到示例集中
example_selector.add_example({"foo": "4"})
example_selector.examples
# -> [{'foo': '1'}, {'foo': '2'}, {'foo': '3'}, {'foo': '4'}]# 选择示例
example_selector.select_examples({"foo": "foo"})
# -> array([{'foo': '1'}, {'foo': '4'}], dtype=object)
总结
本文讲解的是示例选择器。就当我们有多个示例时,可以帮助我们选择哪个示例!
套路,就两个主要步骤:
add_example方法,它接受一个示例并将其添加到该ExampleSelector中。select_examples方法,它接受输入变量并返回部分示例列表或全部列表。
参考地址:
https://python.langchain.com/docs/modules/model_io/prompts/example_selectors/custom_example_selector
相关文章:
【LangChain】Prompts之示例选择器
LangChain学习文档 【LangChain】向量存储(Vector stores)【LangChain】向量存储之FAISS【LangChain】Prompts之Prompt templates【LangChain】Prompts之自定义提示模板【LangChain】Prompts之示例选择器 概要 如果您有大量示例,您可能需要选择要包含在提示中的哪…...
Neo4j之CREATE基础
在 Neo4j 中,CREATE 语句用于创建节点、关系以及节点属性。 创建节点: CREATE (p:Person {name: John, age: 30});这个查询会创建一个具有 "Person" 标签的节点,节点属性包括 "name" 和 "age"。 创建带有关…...
Kali Hyper-V安装正常启动后 黑屏 只能进命令模式
问题: Hyper-V安装虚拟机Kali系统一切安装正常, 没有出现错误. 安装成功后重启,只能进入命令模式,tt1-tt6,进不去GUI桌面. 尝试: 一代二代虚拟硬盘都试过,同样问题,只能开进后进入命令模式,在命令模式下一切运行正常, 也修复过系统 GNOM等的,不管用. 以下为国外论坛给的建议,尝…...
【人工智能124种任务大集合】-集齐了自然语言处理(NLP),计算机视觉(CV),语音识别,多模态等任务
大家好,我是微学AI,今天给大家介绍一下人工智能124种任务大集合,任务集合主要包括4大类:自然语言处理(NLP)、计算机视觉(CV)、语音识别、多模态任务。 我这里整理了124种应用场景任…...
IntelliJ IDEA快捷键大全
文章目录 1、构建/编译2、文本编辑3、光标操作4、文本选择5、代码折叠6、辅助编码7、上下文导航8、查找操作9、符号导航10、代码分析11、运行和调试12、代码重构13、全局 CVS 操作14、差异查看器15、工具窗口 本文参考了 IntelliJ IDEA 的官网,列举了IntelliJ IDEA&…...
阿里云轻量应用服务器_2核4G4M_2核2G3M_性能测评
阿里云轻量应用服务器2核2G3M带宽108元一年,系统盘为50GB高效云盘;轻量服务器2核4G4M带宽,60GB高效云盘297.98元12个月。目前轻量应用服务器只有2核2G和2核4G有活动,阿里云百科分享阿里云轻量应用服务器入口: 目录 阿…...
猿人学刷题系列(第一届比赛)——第二题( js 混淆 - 动态cookie 1)
题目:提取全部5页发布日热度的值,计算所有值的加和 地址:https://match.yuanrenxue.cn/match/2 思路分析 本题我们会简单说一下两种不同的方式去处理,一种是不还原混淆代码直接从源代码硬扣生成逻辑,另一种则是还原…...
ubuntu网络管理
主机-ip,service—port 分别查看/etc/hosts,/etc/host.conf;/etc/services,/etc/resolv.conf; 内核更新——linux-image-generic 6.2.0-24.24 非常抱歉,我误解了你的问题。如果你想更新已安装的内核版本…...
您可能并不需要单页应用程序
前端框架的迅速崛起,如React、Angel、Vue.js、Elm等,使得单页面应用程序(Single Page Application)在网络上无处不在。对于许多开发人员来说,这些已经成为他们“默认”工具集的一部分。当他们开始一个新项目时…...
基于低代码和数字孪生技术的电力运维平台设计
电力能源服务商在为用能企业提供线上服务的时候,不可避免要面对用能企业的各种个性化需求。如果这些需求和想法都要靠平台厂家研发人员来实现,那在周期、成本、效果上都将是无法满足服务运营需要的,这也是目前很多线上能源云平台应用效果不理…...
【Github】SourceTree技巧汇总
sourceTree登录github账户 会跳转到浏览器端 按照Git Flow 初始化仓库分支 克隆远程仓库到本地 推送变更到远程仓库 合并分支 可以看到目前的本地分支(main、iOS_JS)和远程分支(origin/main、origin/HEAD、origin/iOS_JS)目前所处…...
人工智能轨道交通行业周刊-第55期(2023.8.7-8.13)
本期关键词:北京智慧交通规划、成都数智化规划、关门车、集装箱标志、大模型隐私、视觉大模型 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交…...
向量数据库 Milvus Cloud Partition Key:租户数量多,单个租户数据少的三种解决方案
三种解决方案 这个问题提出的时候,Milvus 的最新版本是 2.2.8,我们做个角色互换,在当时站在这个用户的角度,留在我们面前的选择有这么几个: 为每个租户创建一个 collection 为每个租户创建一个 partition 创建一个租户名称的标量字段 接下来,我们依次分析下这三种方案的可…...
文本三剑客之grep命令和awk命令 1.0 版本
grep awk 1.grep命令1.1 基本格式1.2 常用选项 2.awk命令2.1 awk工作原理2.2 awk命令格式2.3 awk常用内置变量 1.grep命令 1.1 基本格式 grep [选项]… 查找条件 目标文件1.2 常用选项 选项功能 -m [ x ]匹配x次 后停止,x为具体数字-v取反 -i忽略字符大小写 -n显示匹配的 …...
【软件测试】Linux环境Ant调用Jmeter脚本并且生成测试报告(详细)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 准备工作 需要在…...
MySQL的YEAR函数
MySQL的YEAR函数用于提取日期或日期时间值的年份部分。 语法: YEAR(date)参数: date:要提取年份的日期或日期时间值。 示例: SELECT YEAR(2023-08-09); -- 返回 2023SELECT YEAR(2023-08-09 14:16:20); -- 返回 2023注意事项…...
208、仿真-51单片机脉搏心率与心电报警Proteus仿真设计(程序+Proteus仿真+配套资料等)
毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&a…...
787. 归并排序
文章目录 QuestionIdeasCode Question 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n 。 第二行包含 n 个整数(所有整数均在 1∼109 范围…...
【马蹄集】第二十二周——进位制与字符串专题
进位制与字符串专题 目录 MT2179 01操作MT2182 新十六进制MT2172 萨卡兹人MT2173 回文串等级MT2175 五彩斑斓的串 MT2179 01操作 难度:黄金 时间限制:1秒 占用内存:128M 题目描述 刚学二进制的小码哥对加减乘除还不熟,他…...
【Spring Cloud +Vue+UniApp】智慧建筑工地平台源码
智慧工地源码 、智慧工地云平台源码、 智慧建筑源码支持私有化部署,提供SaaS硬件设备运维全套服务。 前言:互联网建筑工地,是将互联网的理念和技术引入建筑工地,从施工现场源头抓起,最大程度的收集人员、安全、环境、材…...
AI辅助开发术语体系深度剖析
随着生成式AI与软件开发的深度融合,一系列全新的术语和开发范式应运而生。这些概念并非孤立存在,而是相互关联、层层支撑,共同构成了当前AI编程的新骨架。对于有一定基础的开发者而言,系统性掌握这套术语体系,不仅能提…...
AI Agent Harness Engineering 与边缘计算结合的实时控制应用
AI Agent Harness Engineering 与边缘计算结合的实时控制应用 ——以工业机器人“多材质小批量混流”自适应柔性抓取工作站为例一、引言 (Introduction) (一)钩子:从3个真实“痛点场景”看制造业的“卡脖子”焦虑 各位技术爱好者、智能制造工…...
SpringBoot 实战必备:AOP + ThreadLocal 核心知识点(附实战代码)
在 SpringBoot 项目开发中,AOP(面向切面编程)和 ThreadLocal 是高频实用技术,尤其在日志记录、用户上下文传递等场景中不可或缺。本文结合实际项目代码(操作日志切面 登录用户ID存储),整理两者…...
AI 热点资讯日报20260417
文章目录AI 热点资讯日报一、今日核心热点总结二、各来源文章汇总📰 新华网科技(news.cn)📰 36氪(36kr.com)📰 虎嗅网(huxiu.com)📰 网易科技(tec…...
跨越数据洪流:异步FIFO芯片IDT7204/7205在高速数据缓冲中的实战解析
1. 异步FIFO芯片:数据洪流中的"智能水坝" 想象一下这样的场景:你正在用高速摄像机拍摄一场赛车比赛,每秒产生数百MB的图像数据,但后端处理器受限于算法复杂度,只能以每秒50MB的速度处理。这时候数据就像决堤…...
动态数据源类型转换终极指南:轻松实现多数据源无缝切换
动态数据源类型转换终极指南:轻松实现多数据源无缝切换 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource dyna…...
【2026奇点智能技术大会权威内参】:AI重构建议的5大底层逻辑与企业落地优先级清单
第一章:AI重构建议的范式跃迁与奇点共识 2026奇点智能技术大会(https://ml-summit.org) 传统推荐系统依赖显式反馈与协同过滤,而新一代AI建议引擎正以隐式意图建模、多模态对齐与反事实推理为基石,实现从“预测用户会点什么”到“协同定义用…...
2026奇点智能技术大会核心成果发布(AI文档生成引擎v3.2正式开源)
第一章:2026奇点智能技术大会:AI接口文档生成 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点智能技术大会上,AI驱动的接口文档自动生成技术成为核心议题之一。该技术依托多模态大模型对源码、注释、测试用例及通信日志的联合理解…...
3分钟掌握Windows窗口置顶技巧:AlwaysOnTop提升多任务效率200%
3分钟掌握Windows窗口置顶技巧:AlwaysOnTop提升多任务效率200% 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否经常在多窗口工作时频繁切换,只为查…...
深入解析基4 Booth算法在定点乘法器中的高效实现
1. 从买菜到芯片:为什么需要基4 Booth算法? 记得我第一次接触乘法器设计时,脑子里全是菜市场阿姨算账的画面。比如买3斤苹果,每斤5元,阿姨会脱口而出"三五十五"。但在芯片世界里,这种简单的乘法却…...
