【AI】prompt engineering

prompt engineering ## prompt engineering ## prompt engineering ## prompt engineering

一、定义

Prompt 工程(Prompt Engineering)是指在使用语言模型(如 ChatGPT、文心一言等)等人工智能工具时,设计和优化输入提示(prompts)的过程。这些输入提示是用户向模型提出的文本指令,用于引导模型生成满足特定需求的高质量输出,比如回答问题、生成文本内容(故事、诗歌、代码等)。

二、 概念
样本提示

样本提示是指在prompt engineering过程中,通过向大模型定数量的示例,以便引导大模型生成特定的、高

质量的输出。从提供样本数量的角度,可以分为zero-shot和few-shot,此外我们基于实际使用,增加了一种

新的定义:full-shot,即全量样本。

zero-shotfew-shotfull-shot
定义指在没有提供任何示例的情况下,
利用经过大量数据训练并调整指令
的大型语言模型(LLM)来执行任
务。
few-shot是指通过在提示中提供少量示
例来引导模型进行上下文学习,使大模
型捕获示例的特征,输出更符合预期的
结果。
是指通过枚举所有可能性来制作样
本,输入大模型,让大模型在样本的
范围内返回内容。
prompt举例翻译任务:
请将用户给定的内容进行中文和
英文互译
情感分析:
请分析用户给定内容的情感,属于正
面、负面或者中性,示例:
我今天感觉棒极了!–正面
这真是糟糕透顶的一天。–负面
今天是星期三。–中性
根据用户偏好中每周运动天数安排
周计划的运动日和休息日
{{exercise_days}为0时,每周运
动日应为0天,休息日为7天。
{{exercise_days}为1时,每周运
动日应为1天,休息日为6天。
{{exercise_days}为2时,每周运
动日应为2天,休息日为5天。
{{exercise_days}为3时,每周运
动日应为3天,休息日为4天。
{{exercise_days}为4时,每周运
动日应为4天,休息日为3天。
{{exercise_days}}为5时,每周运
动日应为5天,休息日为2天。
{{exercise_days}为6时,每周运
动日应为6天,休息日为1天。
{{exercise_days}为7时,每周运
动日应为7天,休息日为0天。
使用场景适用于模型已经在大量数据上进行
了训练,能够理解和执行某些任务
的场景。如:
判断内容的情感倾向或者正面/负
适用于模型在没有足够数据的情况下,
难以准确执行任务的场景。如:
物体识别、特征识别
适用于可能性数量较小且确定的场
景,限定大模型自由发挥的空间,确
保生成结果不超出预设范围。
思考方式
  1. Chain - of - Thought (COT)
    • 定义
      • 思维链(Chain - of - Thought)是一种在自然语言处理中用于提升语言模型推理能力的技术。它通过在提示(prompt)中加入中间推理步骤,引导语言模型像人类一样逐步思考并解决问题,而不是直接给出答案。
    • 工作原理
      • 以一个数学文字题为例,如 “小明有 5 个苹果,小红的苹果数是小明的 3 倍少 2 个,问小红有几个苹果?”。传统的 prompt 可能只是简单地将问题输入给语言模型,要求其输出答案。而在 COT 中,prompt 会这样设计:“首先,我们知道小明有 5 个苹果。然后,计算小明苹果数的 3 倍,即 5×3 = 15 个。接着,因为小红的苹果数是小明的 3 倍少 2 个,所以用 15 - 2 = 13 个。所以,小红有 13 个苹果。”
      • 通过这种逐步推理的提示,语言模型能够更好地理解问题的解决逻辑,并且在遇到类似的推理问题时,按照这种思维链模式进行思考和回答。
    • 应用场景
      • 数学和逻辑推理问题:在解决复杂的数学方程式、几何证明以及逻辑谜题等方面表现出色。例如,在证明几何定理时,思维链可以引导模型从已知条件出发,逐步推导出结论。
      • 知识问答和文本理解:对于需要深度理解和推理的知识问答,如历史事件的因果分析、科学原理的解释等,COT 可以帮助模型提供更有条理的回答。例如,在回答 “工业革命对社会结构产生了什么深远影响?” 时,模型可以通过思维链先阐述工业革命带来的生产力变化,再说明这种变化如何导致社会阶层的分化和重组等。
检索增强生成(Retrieval-Augmented Generation, RAG)

检索增强生成(Retrieval-Augmented Generation, RAG)是一种结合信息检索和生成模型的技术,旨在提高生成式模型的准确性和信息丰富性。传统的生成模型(如GPT-3)在生成文本时主要依赖于训练数据中的知识,而检索增强生成通过引入外部知识库或文档库,能够在生成过程中动态获取相关信息,从而生成更为准确和上下文相关的内容。

RAG 的基本流程包括以下几个步骤:

  1. 检索阶段:在生成文本之前,系统会根据输入查询从一个大型的外部文档库中检索出与查询相关的文档或信息片段。这通常使用信息检索技术,如向量检索(如使用 ByteGraph)。
  2. 生成阶段:将检索到的相关文档或信息片段与原始输入一起传递给大语言模型,以生成最终的输出文本。大语言模型会利用这些附加信息来提高生成内容的准确性和相关性。

这种方法的优点在于:

  • 增强知识覆盖:通过访问外部知识库,生成模型可以利用最新的信息,而不局限于训练数据。
  • 提高准确性:检索到的相关信息可以帮助生成模型避免常识性错误或过时的信息。
  • 灵活性:可以根据不同的任务或领域,动态调整检索的文档库,以适应不同的需求。

RAG 在问答系统、对话系统和内容生成等领域有广泛的应用,尤其是在企业内部需要高准确性和实时信息的场景中表现出色。

工具(Tooling)

大语言模型最初主要用于来生成文本。为了增强其功能和实用性,现代大语言模型可以与外部工具(也称为“函数(function)”或“API”)集成。这种集成使得模型能够执行更复杂的任务,超越其原始的文本生成能力。

工具(Tools)通常是外部的API或函数,提供特定的功能或服务。大语言模型可以通过调用这些工具来获取信息或执行特定任务。例如,模型可以调用一个天气API来获取实时天气信息,或者调用一个计算器函数来执行复杂的数学运算。工具的集成与调用包括:

  • API调用:模型通过HTTP请求与外部API进行通信。API通常提供RESTful接口,模型可以发送请求并解析响应。
  • 插件系统:如 Coze 这样的平台为大语言模型提供插件系统和自动化流程系统,使得模型可以动态加载和使用不同的工具。
  • 函数调用:在某些实现中,模型可以直接调用预定义的函数,这些函数可以是本地的或远程的。

大模型工具的使用,可以:

  • 扩展能力:通过工具集成,模型的能力可以大大扩展,能够处理更广泛的任务。
  • 实时性:工具可以提供实时数据和信息,使得模型的输出更加准确和相关。
  • 专业性:通过调用专门的工具,模型可以在特定领域提供更专业和深入的服务。

典型的应用场景包括:

  • 数据查询分析:数据查询分析领域可以执行通过可以执行 SQL 的工具访问企业内部的数据,调用飞书的 API 接口生成飞书文档,并提醒飞书联系人关注。
  • 客户服务:在客户服务中,模型可以调用CRM系统API来获取客户和订单信息,从而提供个性化的服务。
  • 金融分析:在金融领域,模型可以调用市场数据API来分析股票趋势和进行投资建议。
SerpApi: Google Search API

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/77156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 字典和集合(常见的映射方法)

本章内容的大纲如下: 常见的字典方法 如何处理查找不到的键 标准库中 dict 类型的变种set 和 frozenset 类型 散列表的工作原理 散列表带来的潜在影响(什么样的数据类型可作为键、不可预知的 顺序,等等) 常见的映射方法 映射类型…

对抗Prompt工程:构建AI安全护栏的攻防实践

大语言模型的开放性与自然语言交互特性使其面临前所未有的Prompt工程攻击威胁。本文通过分析2021-2023年间157个真实越狱案例,揭示语义混淆、上下文劫持、多模态组合三重攻击路径的技术原理,提出融合动态意图拓扑分析(DITA)、对抗…

STL c++ list——模拟实现

结点类的模拟实现 list是一个带头双向循环链表 因需要实现一个节点类&#xff0c;其中包含哨兵位&#xff08;用来标识位置&#xff09;&#xff0c;节点信息&#xff08;val数据&#xff0c;prev后指针&#xff0c;next后指针&#xff09; template<class T> struct …

ORM、Mybatis和Hibernate、Mybatis使用教程、parameterType、resultType、级联查询案例、resultMap映射

DAY21.1 Java核心基础 ORM Object Relationship Mapping 对象关系映射 面向对象的程序到—关系型数据库的映射 比如java – MySQL的映射 ORM框架就是实现这个映射的框架 Hibernate、Mybatis、MybatisPlus、Spring Data JPA、Spring JDBC Spring Data JPA的底层就是Hiber…

【学习自用】配置文件中的配置项

server.port服务器端口&#xff0c;常被用于指定应用程序运行时所监听的端口号spring.datasource.url用于配置数据源的数据库连接URLspring.datasource.username用于指定连接数据库的用户名spring.datasource.password用于配置数据源时设置数据库连接密码的属性mybatis.mapper-…

使用protobuf编译提示无法打开包括文件: ‘absl/log/absl_log.h’: No such file or directory

问题原因 Protobuf 依赖 Abseil&#xff1a; Protobuf 3.20 版本开始依赖 Abseil&#xff0c;但你的系统未正确安装或配置 Abseil。 头文件路径未包含&#xff1a; 编译器找不到 absl/log/absl_log.h&#xff0c;可能是因为 Abseil 未正确安装或未在项目中设置包含路径。 …

Spring AI Alibaba 文档检索使用

一、文档检索 (Document Retriever)简介 1、核心概念 文档检索&#xff08;DocumentRetriever&#xff09;是一种信息检索技术&#xff0c;旨在从大量未结构化或半结构化文档中快速找到与特定查询相关的文档或信息。文档检索通常以在线(online)方式运行。 DocumentRetriever通…

前端面试核心知识点整理:从 JavaScript 到 Vue 全解析

一、JavaScript 异步编程核心:Promise 与 async/await 1. Promise 深度解析 定义:Promise 是处理异步操作的对象,代表一个异步操作的最终状态(成功 / 失败)。三种状态: pending(进行中):初始状态,异步操作未完成。fulfilled(已成功):异步操作成功,调用 resolve …

音视频(四)android编译

前言 前面已经讲了在windows上应用了&#xff0c;这章主要讲述android上编译 1&#xff1a;环境 git 如果失败 直接跑到相应网站 手动下载 ubuntu22.* android ndk r21e download:https://developer.android.google.cn/ndk/downloads/index.html?hluk 为什么用这个&#xff0…

【kind管理脚本-3】脚本函数说明文档 —— 便捷使用 kind 创建、删除、管理集群脚本

下面是一份详细的说明文档&#xff0c;介绍该脚本的功能、用法及各部分的含义&#xff0c;供您参考和使用&#xff1a; Kind 集群管理脚本说明文档 此脚本主要用于管理 Kind&#xff08;Kubernetes IN Docker&#xff09;集群&#xff0c;提供创建、删除、导出 kubeconfig、加…

【计算机行业发展与重塑】

计算机行业正经历前所未有的变革&#xff0c;AI技术的爆发式发展与产业升级的深度融合&#xff0c;正在重塑行业格局与就业市场。以下从行业趋势、AI的核心价值、就业需求三个维度展开分析。 一、行业趋势&#xff1a;AI驱动下的多极增长 AI成为核心引擎 生成式AI的突破&#…

(高频SQL50题)1667. 修复表中的名字

问题 表&#xff1a; Users ------------------------- | Column Name | Type | ------------------------- | user_id | int | | name | varchar | ------------------------- user_id 是该表的主键(具有唯一值的列)。 该表包含用户的 ID 和名字…

基于人工智能的医学影像关联分析:利用潜在空间几何混杂因素校正法|文献速递-深度学习医疗AI最新文献

Title 题目 AI-based association analysis for medical imaging using latent-spacegeometric confounder correction 基于人工智能的医学影像关联分析&#xff1a;利用潜在空间几何混杂因素校正法 01 文献速递介绍 人工智能&#xff08;AI&#xff09;已成为各个领域的…

开源免费虚拟化软件PVE功能介绍

Proxmox VE&#xff08;PVE&#xff09;提供了一个基于 Web UI&#xff08;管理界面&#xff09;的虚拟化管理平台&#xff0c;用户可以通过浏览器管理 虚拟机&#xff08;VM&#xff09;、容器&#xff08;LXC&#xff09;、存储、网络、备份、用户权限等。 一、PVE Web 界面…

新球体育比分状态监控

文章目录 目标分析监控逻辑代码目标分析 网页监控地址:aHR0cHM6Ly9saXZlLnRpdGFuMDA3LmNvbS9pbmRleDJpbjEuYXNweD9pZD0x 监控逻辑 比分等数据主要是依赖JS加载得到,通过ajax后端进行渲染 代码 # -*- coding: utf-8 -*-import warnings warnings.filterwarnings(ignore) f…

【lodash的omit函数详解 - 从入门到精通】

lodash的omit函数详解 - 从入门到精通 小白视角&#xff1a;什么是omit&#xff1f; omit在英文中意为"忽略"或"省略"。在编程中&#xff0c;它就是从一个对象中删除不需要的属性&#xff0c;返回一个新对象。 // 原始对象 const person {name: "…

软考笔记9——数据库技术基础

第九章节——数据库技术基础 数据库技术基础 第九章节——数据库技术基础一、基本概念1. 数据库与数据库系统2. 数据库的三级模式2.1 内模式2.2 概念模式2.3 外模式2.4 数据库的两级映射2.5 数据库设计的基本步骤 二、数据模型1. 基本概念2. E-R模型2.1 实体2.2 联系2.3 属性 3…

Django分页教程及示例

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 完整代码示例:结论Django的分页模块允许你将大量数据分割成更小的块(页面)。这对于以可管理的方式显示项目列表,如博客文章或产品…

int 与 Integer 的区别详解

1. 本质区别 特性intInteger类型基本数据类型&#xff08;Primitive&#xff09;包装类&#xff08;Wrapper Class&#xff09;存储位置栈&#xff08;或作为对象成员在堆中&#xff09;堆&#xff08;对象实例&#xff09;默认值0null&#xff08;可能导致 NullPointerExcept…

mariadb使用docker compose方式安装

问题 本地mac m1上面的mysql和mariadb突然不用使用了&#xff0c;重新安装也不想&#xff0c;最近mac系统也更新了&#xff0c;brew也更新了&#xff0c;重新安装mariadb还是不能正常使用&#xff0c;现在我打算使用docker来安装本地的mariadb了。 默认配置文件my.cnf 从容器…