大模型应用--prompt工程实践

news/2025/2/1 15:46:48/

在使用大模型进行prompt 训练时,自己做的相关笔记。

本文以openai<1.0版为例。

1.调用大模型

定义调用openai大模型的函数 get_completion()

def get_completion(prompt, model="gpt-3.5-turbo"):messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0,  # 模型输出的随机性,0 表示随机性最小)print(response)return response.choices[0].message["content"]

在openai.ChatCompletion.create函数中,还有以下这些参数:

response = openai.ChatCompletion.create(model=model,messages=_session,# 以下默认值都是官方默认值temperature=1,          # 生成结果的多样性 0~2之间,越大越随机,越小越固定stream=False,           # 数据流模式,一个个字接收top_p=1,                # 随机采样时,只考虑概率前百分之多少的 token。不建议和 temperature 一起使用n=1,                    # 一次生成 n 条结果max_tokens=100,         # 每条结果最多多少个 token(超过截断)presence_penalty=0,     # 对出现过的 token 的概率进行降权frequency_penalty=0,    # 对出现过的 token 根据其出现过的频次,对其的概率进行降权logit_bias={},        # 对指定 token 的采样概率手工加/降权,不常用)

2.定义prompt

下面就开始写prompt中的内容,prompt中的内容通常包含:

	• 角色: 定义一个最匹配任务的角色。• 指示{instruction}:对任务进行描述• 上下文{context}: 给出与任务相关的其它背景信息 (尤其在多轮交互中)• 例子{example}: 必要时给出举例• 输入{input_text}:任务的输入信息;在提示词中明确的标识出输入• 输出{output_format}: 输出的格式描述,比如 (JSON、XML)

对于以上的内容都可以在propmt中定义。

然后,把各个部分都写到propmt中即可,

prompt = f"""{instruction}{output_format}{context}{example}# 用户输入
{input_text}"""

有很多的方法可以调优

在实际应用的过程中,对于prompt的训练还有很多的方法,需要一点一点实践。

下面的链接是官方给的prompt教程,一起学起来吧!!!🥝🥝🥝

Prompt Engineering Guide | Learn Prompting: Your Guide to Communicating with AI

我是大模型的初学者,慢慢完善,欢迎大佬指点一二,欢迎同学一起学习。🍭🍭🍭


http://www.ppmy.cn/news/1212732.html

相关文章

Spring面试题:(五)Spring注解开发@Component,@Autowired,@Bean,@Configuration

Bean基本注解 spring提供注解的版本 Component注解替代bean标签 bean其它属性的相关注解&#xff1a; scope 替代scopelazy 替代lazy-initPostConstruct 替代init-methodPreDestroy 替代destroy-method 使用Component注解的前提是开启注解扫描 衍生注解Repository,Servi…

纯手写 模态框、消息弹框、呼吸灯

在有些做某些网页中&#xff0c;应用不想引用一些前端框架&#xff0c;对于一些比较常用的插件可以纯手写实现 1、模态框 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>Water Ripple Effect</title> <style…

CDN是如何减去源机压力的

CDN也叫内容分发网络&#xff08;Content Delivery Network&#xff09;。分布在不同地区的节点服务器组成的分布式网络。通过中心平台的各种功能模块&#xff0c;可以使用户直接访问到就近的节点上&#xff0c;更快获取到需要的内容&#xff0c;大大降低了网络拥堵&#xff0c…

node插件express(路由)的插件使用(二)——cookie 和 session的基本使用区别

文章目录 前言一、express 框架中的 cookie0、cookie的介绍和作用1. 设置cookie2.删除cookie3.获取cookie&#xff08;1&#xff09;安装cookie-parser&#xff08;2&#xff09;导入cookie-parser&#xff08;3&#xff09;注册中间件&#xff08;4&#xff09;获取cookie&…

Spring基础学习——web

Spring基础学习——web 一、Spring整合Web环境1.1 JavaWeb三大组件作用及其特点1.2 Spring整合Web环境的思路及实现1.3 Spring开发Web环境组件spring-web1.4 web层MVC框架思想与设计思路 一、Spring整合Web环境 1.1 JavaWeb三大组件作用及其特点 在Java语言当中&#xff0c;w…

非关系数据库

非关系数据库nosql 用来解决特定问题的数据库 特点&#xff1a; 1.没有关系模式schema-free/non-relational&#xff0c;与关系数据库不同 2.快速处理rapid process&#xff0c;数据放在内存中处理 3.distributed process分布式 4.big data 5.easy program 6.open-sour…

JavaScript条件分支语句-if 语句

if 语句 if语句是JavaScript中最常用的条件分支语句之一&#xff0c;用于根据某个条件来执行不同的代码块。 if语句的语法如下&#xff1a; if (条件) {// 如果条件为真&#xff0c;此处的代码将被执行 }如果要在条件不成立时执行代码块&#xff0c;可以在if语句之后加上一个…

电子工程师的焊接技法总结

基础学习视频如下&#xff1a; 1 老司机焊接纯干货分享&#xff0c;让你焊接不迷路&#xff0c;很适合零基础小白_哔哩哔哩_bilibili 焊接常用工具 1 焊锡丝 按照粗细来分的话&#xff0c;有粗焊锡&#xff0c;有细焊锡&#xff0c;细焊锡一般适合比较精细的焊接。 按照是否含铅…