当前位置: 首页 > article >正文

电商客服+导购智能体的设计与开发叹

这个代码的核心功能是基于输入词的长度动态选择反义词示例并调用大模型生成反义词体现了 “动态少样本提示Dynamic Few-Shot Prompting” 与 “上下文长度感知的示例选择” 的能力。from langchain.prompts import FewShotPromptTemplate, PromptTemplatefrom langchain.prompts.example_selector import LengthBasedExampleSelectorfrom langchain_core.output_parsers import StrOutputParserfrom langchain_openai import ChatOpenAIimport osfrom dotenv import load_dotenv# 定义反义词任务的示例数据集few-shot examples# 每个示例包含一个输入词input和对应的反义词outputexamples [{input: 开心, output: 伤心},{input: 高, output: 矮},{input: 精力充沛, output: 没精打采},{input: 粗, output: 细},]# 定义单个示例的格式模板# 使用 {input} 和 {output} 作为占位符用于后续填充具体值example_prompt PromptTemplate(input_variables[input, output], # 声明模板中使用的变量名templateInput: {input}\nOutput: {output}, # 示例的文本格式)# 创建一个基于长度的示例选择器LengthBasedExampleSelector# 作用根据输入提示的总长度动态选择最合适的示例数量避免超出模型上下文限制example_selector LengthBasedExampleSelector(examplesexamples, # 提供所有候选示例example_promptexample_prompt, # 用于格式化每个示例的模板max_length25, # 设定整个 prompt含前缀、示例、后缀的最大 token 长度此处为字符数近似# 注意LengthBasedExampleSelector 默认使用 len(text) 计算长度非精确 token 数适用于简单场景)# 构建动态少样本提示模板FewShotPromptTemplate# 它会根据输入内容的长度自动从 examples 中选择合适数量的示例插入到 prompt 中dynamic_prompt FewShotPromptTemplate(example_selectorexample_selector, # 使用上面定义的动态选择器而非固定示例列表example_promptexample_prompt, # 单个示例的格式prefix给出每个输入的反义词, # 提示的开头部分任务指令suffixInput: {adjective}\nOutput:, # 提示的结尾部分包含待预测的输入占位符input_variables[adjective], # 声明最终用户输入的变量名与 suffix 中的 {adjective} 对应)# 测试 1输入较短应选择多个示例 print(【测试1】输入较短选择多个示例)print(dynamic_prompt.format(adjectivebig))print(------------)# 测试 2输入很长应只选择少量或一个示例以控制总长度 long_string big and huge and massive and large and gigantic and tall and much much much much much bigger than everything elseprint(【测试2】输入很长仅选择一个示例)print(dynamic_prompt.format(adjectivelong_string))print(------------)# 测试 3动态添加新示例 # 向示例选择器中新增一个示例胖 - 瘦new_example {input: 胖, output: 瘦}dynamic_prompt.example_selector.add_example(new_example)print(【测试3】添加新示例后查询热情)print(dynamic_prompt.format(adjective热情))print(------------)# 配置并调用 DeepSeek 大语言模型 llm ChatOpenAI(api_keyos.getenv(DEEPSEEK_API_KEY),base_urlos.getenv(DEEP_URL), # Deepseek 的 API 基础地址modeldeepseek-v3:671b, # Deepseek 对话模型可选deepseek-chat-pro 等高级模型temperature0.7, # 温度参数0-1越低越稳定max_tokens1024 # 最大生成 tokens)# 创建字符串输出解析器用于将模型返回的 AIMessage 转换为纯文本output_parser StrOutputParser()# 构建处理链Chainprompt → LLM → output parser# 使用 LangChain 的管道操作符 | 连接各组件chain dynamic_prompt | llm | output_parser# 调用链传入输入变量 {adjective: 热情}# 注意chain.invoke() 内部已包含 llm 调用和 output_parser 解析无需再手动调用 output_parsermessage chain.invoke({adjective: 热情})# ?? 注意上一行 chain.invoke() 已经返回了字符串因为最后是 StrOutputParser# 所以下面这行是多余的甚至会导致错误因为 message 已是 str不能再次 invoke# result output_parser.invoke(message) # ? 错误message 是 str不是 AIMessage# 正确做法直接使用 message 作为结果result messageprint(###############)print(【模型输出】)print(result)输出结果123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051【测试1】输入较短选择多个示例给出每个输入的反义词Input: 开心Output: 伤心Input: 高Output: 矮Input: 精力充沛Output: 没精打采Input: 粗Output: 细Input: bigOutput:------------【测试2】输入很长仅选择一个示例给出每个输入的反义词Input: 开心Output: 伤心Input: big and huge and massive and large and gigantic and tall and much much much much much bigger than everything elseOutput:------------【测试3】添加新示例后查询热情给出每个输入的反义词Input: 开心Output: 伤心Input: 高Output: 矮Input: 精力充沛Output: 没精打采Input: 粗Output: 细Input: 胖Output: 瘦Input: 热情Output:------------###############【模型输出】冷淡核心要点总结这段代码是基于 LangChain 框架对接 DeepSeek 大模型实现「动态少样本Few-Shot反义词生成」的完整案例核心解决「固定示例易超出模型上下文长度」的问题通过动态示例选择器适配不同长度输入同时结合 LangChain 链式调用简化模型调用流程先明确整体定位再拆解核心重点一、整体流程概览核心逻辑链代码遵循 LangChain 「示例准备 → 动态提示构建 → 模型调用 → 结果解析」的少样本学习经典流程整体可概括为1. 定义反义词任务的固定示例数据集为模型提供参考案例2. 配置基于长度的示例选择器根据输入文本长度动态筛选示例数量3. 构建动态少样本提示模板自动适配输入长度生成合规 Prompt4. 初始化 DeepSeek 模型客户端配置核心调用参数5. 构建「提示模板 → 大模型 → 输出解析」的链式调用流程6. 调用链条完成反义词生成并输出纯文本结果二、核心重点拆解必掌握1. 少样本提示Few-Shot Prompt核心组件这是实现「模型参考示例生成结果」的基础也是 LangChain 提示工程的核心用法- 示例数据集examples以键值对形式存储「输入-输出」示例为模型提供任务参考如开心→伤心- 单示例模板example_prompt定义单个示例的文本格式Input/Output 固定样式统一示例展示形式- 动态少样本模板FewShotPromptTemplate整合示例选择器、单示例模板、前缀/后缀生成最终发给模型的完整 Prompt- prefix任务指令给出每个输入的反义词明确模型要执行的任务- suffix待填充的用户输入占位符承接动态输入内容。2. 动态示例选择器LengthBasedExampleSelector这是代码的核心亮点解决「固定示例数量易超上下文长度」的问题核心作用根据输入文本的长度自动计算并选择合适数量的示例输入越长选的示例越少避免 Prompt 总长度超出模型上下文限制关键参数- examples候选示例列表- example_prompt示例格式化模板用于计算单示例长度- max_lengthPrompt 允许的最大长度此处为字符数近似值。3. LangChain 链式调用| 操作符简化多组件协作流程是 LangChain 核心设计理念- 链条构成dynamic_prompt生成 Prompt | llm调用模型 | output_parser解析结果- 核心优势无需手动分步调用先格式化 Prompt、再调用模型、最后解析结果一行代码完成全流程- 调用方式chain.invoke({adjective: 热情}) 传入输入变量直接返回解析后的纯文本结果。4. 输出解析器StrOutputParser解决「模型返回 AIMessage 对象→提取纯文本」的问题核心作用将 LangChain 模型返回的 AIMessage 类型含 content/metadata 等字段转换为纯字符串简化结果使用关键注意点链式调用中已包含解析步骤无需手动再次调用 output_parser.invoke()否则会报错。怂泊恃薪

相关文章:

电商客服+导购智能体的设计与开发叹

这个代码的核心功能是:基于输入词的长度动态选择反义词示例,并调用大模型生成反义词,体现了 “动态少样本提示(Dynamic Few-Shot Prompting)” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts impo…...

计算机视觉特征匹配:HPatches数据集终极实战指南

计算机视觉特征匹配:HPatches数据集终极实战指南 【免费下载链接】hpatches-dataset HPatches: Homography-patches dataset. 项目地址: https://gitcode.com/gh_mirrors/hp/hpatches-dataset 在计算机视觉领域,特征匹配算法的评估一直是一个核心…...

微信小程序头像昵称获取报错?别慌,手把手教你排查‘api scope is not declared’问题

微信小程序头像昵称获取报错?三步定位‘api scope is not declared’问题根源 最近在调试微信小程序时,突然遇到一个让人头疼的报错:chooseAvatar:fail api scope is not declared in the privacy agreement。这个错误看似简单,实…...

FastAPI子应用挂载:别再让root_path坑你一夜久

Julia(julialang.org)由Stefan Karpinski、Jeff Bezanson等在2009年创建,目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是: 高性能:编译型语言(JIT&#xff0…...

Nunchaku-flux-1-dev环境部署详解:Anaconda虚拟环境与依赖管理

Nunchaku-flux-1-dev环境部署详解:Anaconda虚拟环境与依赖管理 想试试最近挺火的Nunchaku-flux-1-dev模型,结果第一步就被环境依赖给卡住了?这太正常了。不同模型、不同版本的库之间打架,是每个搞AI开发的人都绕不开的坎。今天咱…...

高效合并BootLoader与App的HEX文件:量产烧录的终极解决方案

1. 为什么需要合并BootLoader与App的HEX文件? 在嵌入式开发中,BootLoader和App是两个非常重要的组成部分。BootLoader负责硬件初始化、固件校验和应用程序跳转,而App则是实际的功能实现。传统的烧录方式是先烧录BootLoader,再通过…...

LLM部署能耗失控危机(2024能效红皮书核心发现):从千卡集群到单卡边缘的8类能效陷阱

第一章:LLM部署能耗失控危机(2024能效红皮书核心发现):从千卡集群到单卡边缘的8类能效陷阱 2026奇点智能技术大会(https://ml-summit.org) 2024年《AI能效红皮书》基于对全球137个生产级LLM服务实例的实测追踪,首次揭…...

dksjjsndnajdd

一、OpenAI 1.OpenAI是什么简单来说,OpenAI 大模型 是由美国人工智能公司 OpenAI 开发的一系列大型语言模型(LLMs) 。你可以把它们想象成拥有巨大“知识储备”和“学习能力”的超级大脑,它们被训练用来理解和生成人类语言&#xf…...

跨样本CellChat分析:解锁多组别细胞通讯的奥秘

1. 跨样本CellChat分析的核心价值 细胞通讯研究正在从单一样本分析向多组别比较转变,这种转变就像从观察单个社交网络发展到比较不同社交平台的互动模式。CellChat作为目前最强大的细胞通讯分析工具之一,其跨样本比较功能能够揭示不同生理或病理状态下细…...

Cursor VIP:创新共享模式让AI编程助手触手可及

Cursor VIP:创新共享模式让AI编程助手触手可及 【免费下载链接】cursor-vip cursor IDE enjoy VIP 项目地址: https://gitcode.com/gh_mirrors/cu/cursor-vip 你是否曾因AI编程工具的高昂费用而犹豫?或者因为所在地区无法购买官方服务而错失提升编…...

XCA 2.9.0:高效管理数字证书与密钥的全面解决方案

XCA 2.9.0:高效管理数字证书与密钥的全面解决方案 【免费下载链接】xca X Certificate and Key management 项目地址: https://gitcode.com/gh_mirrors/xc/xca XCA(X Certificate and Key Management)是一款开源的图形化证书和密钥管理…...

Free-NTFS-for-Mac:macOS NTFS读写终极免费解决方案

Free-NTFS-for-Mac:macOS NTFS读写终极免费解决方案 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management for …...

我不是在用 AI 助手,我在把自己的能力沉淀成组织资产坟

1. 什么是 Apache SeaTunnel? Apache SeaTunnel 是一个非常易于使用、高性能、支持实时流式和离线批处理的海量数据集成平台。它的目标是解决常见的数据集成问题,如数据源多样性、同步场景复杂性以及资源消耗高的问题。 核心特性 丰富的数据源支持&#…...

2026奇点大会文本生成赛道暗战全记录,含3家未上市独角兽的私有化RLHF训练范式(内部流出版)

第一章:2026奇点智能技术大会:大模型文本生成 2026奇点智能技术大会(https://ml-summit.org) 核心突破:上下文感知的动态长度建模 本届大会首次公开演示了支持16M tokens超长上下文的开源大模型Lingua-16M,其采用分层稀疏注意力…...

5大核心功能深度解析:Jasminum如何重塑你的中文文献管理工作流

5大核心功能深度解析:Jasminum如何重塑你的中文文献管理工作流 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 如果你…...

开源Windows系统优化工具:3分钟让你的电脑运行速度提升51%

开源Windows系统优化工具:3分钟让你的电脑运行速度提升51% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter an…...

我不是狐狸,我是那Harness Engineering闹

Julia(julialang.org)由Stefan Karpinski、Jeff Bezanson等在2009年创建,目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是: 高性能:编译型语言(JIT&#xff0…...

大模型解释性不是选修课:3类监管合规红线+4套生产级XAI工具链,今天不部署明天被叫停

第一章:大模型工程化中的模型解释性方案 2026奇点智能技术大会(https://ml-summit.org) 在大规模语言模型落地金融风控、医疗辅助与司法决策等高敏感场景时,模型解释性已从“可选能力”升级为合规性刚需。缺乏可追溯的推理依据不仅阻碍人工复核&#xf…...

Unity 3D游戏性能优化全攻略:如何让你的游戏在低配设备上也能流畅运行

Unity 3D游戏性能优化全攻略:如何让你的游戏在低配设备上也能流畅运行 当你的游戏在高端设备上运行如丝般顺滑,却在低配手机上卡成幻灯片时,那种挫败感每个开发者都深有体会。性能优化不是锦上添花,而是决定游戏生死的关键战役。本…...

Avalonia UI ..-RC正式发布前

一、什么是 Q 饱和运算? 1. 核心痛点:普通运算的 “数值回绕” 普通算术运算(如 ADD/SUB)溢出时,数值会按补码规则 “回绕”,导致结果完全错误: 示例:int8_t 类型最大值 127 1 → 结…...

2026最权威的五大AI辅助写作工具实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 利用自然语言处理跟知识图谱技术的AI开题报告工具,能够快速剖析研究领域的动态变…...

老马失前蹄,竟然在数据库外键上翻车了,重温外键级联浩

AI Agent 时代的沙箱需求 从 Copilot 到 Agent:执行能力的质变 在生成式 AI 的早期阶段,应用主要以“Copilot”形式存在,AI 仅作为辅助生成建议。然而,随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter(现为 Advan…...

DAMOYOLO-S镜像免配置:内置ModelScope模型零下载部署

DAMOYOLO-S镜像免配置:内置ModelScope模型零下载部署 1. 开箱即用的目标检测新体验 如果你正在寻找一个能快速上手、无需折腾环境配置的目标检测工具,那么今天介绍的DAMOYOLO-S镜像可能就是你的理想选择。它最大的特点就是“开箱即用”——镜像里已经内…...

Llama-3.2V-11B-cot实战教程:自定义提示词模板提升CoT推理结构化程度

Llama-3.2V-11B-cot实战教程:自定义提示词模板提升CoT推理结构化程度 1. 工具概览与核心价值 Llama-3.2V-11B-cot是基于Meta最新多模态大模型开发的专业级视觉推理工具,特别针对双卡RTX 4090环境进行了深度优化。这个工具最突出的特点是实现了开箱即用…...

轻松下载网页视频:VideoDownloadHelper浏览器扩展完全指南

轻松下载网页视频:VideoDownloadHelper浏览器扩展完全指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存网页视频…...

2026年怎么集成OpenClaw?腾讯云5分钟小白部署OpenClaw,千问大模型Coding Plan配置教程

2026年怎么集成OpenClaw?腾讯云5分钟小白部署OpenClaw,千问大模型Coding Plan配置教程。本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环…...

2026年OpenClaw怎么部署?5分钟腾讯云保姆级安装及百炼Coding Plan方法

2026年OpenClaw怎么部署?5分钟腾讯云保姆级安装及百炼Coding Plan方法。本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环境配置、服务启动、Skills集…...

深度技术解析:QKeyMapper如何实现Windows系统级按键重映射与虚拟手柄模拟

深度技术解析:QKeyMapper如何实现Windows系统级按键重映射与虚拟手柄模拟 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射…...

2026年如何集成OpenClaw?4分钟阿里云零门槛集成及百炼Coding Plan流程

2026年如何集成OpenClaw?4分钟阿里云零门槛集成及百炼Coding Plan流程。本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环境配置、服务启动、Skills集…...

Behaviac终极指南:掌握游戏AI行为树的7个实用技巧

Behaviac终极指南:掌握游戏AI行为树的7个实用技巧 【免费下载链接】behaviac behaviac is a framework of the game AI development, and it also can be used as a rapid game prototype design tool. behaviac supports the behavior tree, finite state machine …...