-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
133 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- | ||
pageComponent: | ||
name: Catalogue | ||
data: | ||
path: 03.AI大模型 | ||
description: AI大模型的知识及框架学习 | ||
title: AI大模型 | ||
date: 2024-04-14 23:35:46 | ||
permalink: /ai/ | ||
sidebar: false | ||
article: false | ||
comment: false | ||
editLink: false | ||
author: | ||
name: lan-dian | ||
link: https://github.com/lan-dian | ||
--- |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
--- | ||
title: 提示词工程 | ||
date: 2024-04-14 23:35:46 | ||
permalink: /pages/0c8b87/ | ||
categories: | ||
- AI大模型 | ||
tags: | ||
- | ||
author: | ||
name: lan-dian | ||
link: https://github.com/lan-dian | ||
--- | ||
这个本质就是教我们怎么和gpt对话能获得更好的效果。 | ||
|
||
## 理解大模型 | ||
|
||
大模型的本质就是生成词语的预测,他会在下一个可能的词里面选择出最可能的那个词语,然后不断的构成一句话。他最关键的地方,就是训练了很多数据,让模型的能力有了质变。 | ||
所以,大模型对生成结果的正确性,没有任何的把关措施,他是依赖训练和输入的数据生成的。我们知道,无论概率有多低,他总是有一个概率的,所以,大模型可能会产生幻觉,也是说,他可能会说一些完全没有依据的内容。所以我们要告诉大模型,如果他不知道的事情就直接说不知道。 | ||
AI大模型最关键的能力是由我们的想象力和提示词工程的能力构建的。 | ||
|
||
## 模型设置 | ||
|
||
gpt会提供一些参数让我们对大模型进行微调。 | ||
|
||
> Temperature | ||
temperature 的参数值越小,模型就会返回越确定的一个结果。对于创造性任务,可以调整高一些,希望结果毕竟确定的可以调低一些,尤其是贯穿在代码里面的,不然很难控制,甚至你可以设置为0,保证每次输出都是一样的。 | ||
|
||
> max length | ||
这个是控制token长度,生成的token长度,主要是控制成本。 | ||
|
||
> stop sequences | ||
当模型输出xxx字符串的时候,停止生成 | ||
|
||
> Frequency Penalty | ||
防止模型输出相同类似的内容 | ||
|
||
## 角色 | ||
|
||
system、user 和 assistant。其中 system 不是必需的,但有助于设定 assistant 的整体行为,帮助模型了解用户的需求,并根据这些需求提供相应的响应。 | ||
system:你是一个专业的Java工程师,你会xxxx。 | ||
user:就是我们 | ||
assistant:就是ai | ||
|
||
## 提示词要素 | ||
|
||
**指令**:想要模型执行的特定**任务或问题**。 | ||
**输出指示**:指定**输出的类型或格式**。 | ||
**上下文**:包含外部信息或额外的上下文信息,引导语言模型更好地响应。 | ||
不同的部分尽可能的区分开,上下文尽可能放在最后,用换行隔开。 | ||
|
||
## 技巧 | ||
|
||
以下的这些技巧除了和gpt交流,其实人与人之间的交流也是非常需要下面技巧的。 | ||
|
||
### 子任务划分 | ||
|
||
大模型的输出能力是有限的,所以我们可以把一个大的任务划分为子任务,可以人为的划分,也可以通过gpt来划分。 | ||
|
||
### 给出实例 | ||
|
||
给gpt一些实例,可以大幅度的简化我们的语言描述,而且可以使输出的结果更符合我们预期的结果。 | ||
|
||
### 不用模糊词 | ||
|
||
不要用几个,不要用过于等等这种不精确到词,可以具体到数量2-3个这样,gpt是可以理解这些数量的。 | ||
|
||
### 做什么&不做什么 | ||
|
||
除了告诉gpt要做什么以为,还要告诉gpt不要做什么。通常,做什么对于gpt来说更关键,和我们人一样,需要知道做什么才能具体的去做。 | ||
此外,最好尽可能详细的告诉他怎么完成这件事情,按1,2,3这样的步骤来完成。 | ||
|
||
### 角色提示 | ||
|
||
你是一个xxx,你xxxx。 | ||
通过对gpt的角色提示,能让他的回答更加贴切。 | ||
|
||
### 思考过程 | ||
|
||
让我们逐步思考,给出思考的过程。 | ||
对于推理性质比较强的问题,我们可以让gpt给出思考的过程,我们可以学习思考的方式,最关键的时候,这可以**加强gpt的思考能力,而且让我们更容易发现gpt的错误**。 | ||
|
||
### RAG | ||
|
||
大模型的输入能力是有限的,可以我们就是想输入这么多东西怎么办? | ||
可以把全部内容存在特殊的数据库里面,然后筛选出最接近的几块内容,来组成大模型的输入。同样的,不可能是所有的内容都和这个问题有关。 | ||
|
||
### 数据输入 | ||
|
||
不是所有的数据都被大模型训练过的,如果他不知道这些数据,你就必须采用输入数据的方式来让大模型知道这些东西,比如一个比较新的库的文档。 | ||
|
||
### 不知道就不说 | ||
|
||
大模型可能会说一些没有依据的话,尤其我们在编写利用知识库回答用户问题的应用时,一定要告诉gpt,没有依据的事情不要说。 | ||
|
||
### 引导词 | ||
|
||
我们想让gpt说出以xxx开头的内容,那么我们可以在结尾的时候,写xxx | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters