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

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

本文以openai<1.0版为例。

1.调用大模型

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

python 复制代码
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函数中,还有以下这些参数:

python 复制代码
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中的内容通常包含:

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

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

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

python 复制代码
prompt = f"""

{instruction}

{output_format}

{context}

{example}

# 用户输入
{input_text}

"""

有很多的方法可以调优

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

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

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

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

相关推荐
质造者15 小时前
Prompt工程从入门到进阶!基于通义千问实战零样本/少样本/CoT/攻防防范(附完整代码)
大模型·llm·prompt·测试提升
monsion17 小时前
Loop Engineering:你不再 prompt agent,而是设计 prompt agent 的系统
大数据·人工智能·prompt
xianghongtao011619 小时前
把 Prompt 当成“可训练参数“:SkillOpt 如何用深度学习的纪律去优化 Agent 技能
人工智能·深度学习·性能优化·prompt
garmin Chen21 小时前
Prompt工程入门:让AI按你的要求工作(3)--Prompt工程与提示词安全评测概述
java·人工智能·python·安全·prompt
2501_940041741 天前
全栈开发提速指南:可以直接用的项目生成提示词
前端·prompt
键盘侠伍十七2 天前
Gandalf Lakera AI Prompt Injection 靶场深度教程:从 Level 1 到 Level 8 全面攻防解析
人工智能·prompt·ai安全
Rauser Mack2 天前
不懂编程,但是vibe coding一个扫雷游戏
人工智能·python·游戏·html·prompt
格图素书2 天前
AI安全攻防深度解析|Prompt注入与越狱攻击全拆解、供应链投毒风险深挖,助力大模型应用加固、RAG风控、全链路安全防控落地
人工智能·安全·prompt
小二·2 天前
Prompt Engineering 实战
网络·windows·prompt
暗夜猎手-大魔王2 天前
hermes源码学习4-Prompt 组装
人工智能·prompt