diff --git a/Pasted image 20250405152054.png b/Pasted image 20250405152054.png new file mode 100644 index 0000000..5636c38 Binary files /dev/null and b/Pasted image 20250405152054.png differ diff --git a/Pasted image 20250405154017.png b/Pasted image 20250405154017.png new file mode 100644 index 0000000..807ae89 Binary files /dev/null and b/Pasted image 20250405154017.png differ diff --git a/Pasted image 20250405203439.png b/Pasted image 20250405203439.png new file mode 100644 index 0000000..77af78f Binary files /dev/null and b/Pasted image 20250405203439.png differ diff --git a/Pasted image 20250405203936.png b/Pasted image 20250405203936.png new file mode 100644 index 0000000..1fe6498 Binary files /dev/null and b/Pasted image 20250405203936.png differ diff --git a/Pasted image 20250406202717.png b/Pasted image 20250406202717.png new file mode 100644 index 0000000..e63919a Binary files /dev/null and b/Pasted image 20250406202717.png differ diff --git a/Pasted image 20250406202751.png b/Pasted image 20250406202751.png new file mode 100644 index 0000000..6b062f2 Binary files /dev/null and b/Pasted image 20250406202751.png differ diff --git a/日常学习/AI/prompt/Prompt框架.md b/日常学习/AI/prompt/Prompt框架.md deleted file mode 100644 index 5a853cc..0000000 --- a/日常学习/AI/prompt/Prompt框架.md +++ /dev/null @@ -1,21 +0,0 @@ -## ROSES 框架 - -### 概念 -```text -Role 角色:指定 ChatGPT 的角色。 -Objective 目标:说明目的或目标。 -Scenario 场景:描述情况。 -Solution 解决方案:定义期望的结果。 -Steps 步骤:询问达成解决方案所需的行动。 -``` - -### 示例 -```text -Role 角色:作为一名新闻记者 -Objective 目标:撰写一篇关于许家印的200字简介 -Scenario 场景:许家印是中国恒大集团的创始人,他的生平和成就值得关注 -Solution 解决方案:编写一篇精炼的200字简介,概述许家印的主要成就 -Steps 步骤:收集许家印的主要经历,编写和修订简介 -``` - -Prompt:你是一名新闻记者,正在撰写一篇关于恒大集团创始人许家印的200字简介。许家印的生平和成就引人注目,你需要编写一篇精炼的简介,概述他的主要成就。首先,收集许家印的主要经历,然后开始编写和修订简介。 \ No newline at end of file diff --git a/日常学习/大模型/function calling.md b/日常学习/大模型/function calling.md index 16381cf..896a046 100644 --- a/日常学习/大模型/function calling.md +++ b/日常学习/大模型/function calling.md @@ -19,23 +19,148 @@ function Calling 是一种机制,允许大语言模型[动态调用](https://z 1. tools定义 deepseek 官方定义的格式(最多支持 128 个 function),参考 https://api-docs.deepseek.com/zh-cn/guides/function_calling ```json -{ - "type": "function", - "function": { - "name": "get_current_weather", - "description": "Get weather of an location, the user shoud supply a location first", - "parameters": { - "type": "object", - "properties": { - "location": { - "type": "string", - "description": "The city and state, e.g. San Francisco, CA", - } +TOOLS = [ + { + "type": "function", + "function": { + "name": "get_current_weather", + "description": "Get weather of an location, the user shoud supply a location first", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA", + } + }, + "required": ["location"] }, - "required": ["location"] - }, + } + }, + { + "type": "function", + "function": { + "name": "play_video", + "description": "播放、查看、打开实时视频", + "parameters": { + "type": "object", + "properties": { + "camera_name": { + "type": "string", + "description": "相机名称,例如:南卡口1号相机", + } + }, + "required": ["camera_name"] + }, + } + }, + { + "type": "function", + "function": { + "name": "split_screen", + "description": "切换分屏", + "parameters": { + "type": "object", + "properties": { + "split_n": { + "type": "int", + "description": "要切换的分屏数量,整数并且大于0,例如:1分屏、2分屏", + } + }, + "required": ["split_n"] + }, + } + }, + { + "type": "function", + "function": { + "name": "play_video_record", + "description": "播放、打开录像", + "parameters": { + "type": "object", + "properties": { + "camera_name": { + "type": "string", + "description": "相机名称,例如:南卡口1号相机", + }, + "start_time": { + "type": "string", + "description": "录像开始时间,格式为yyyy-MM-dd hh:mm:ss,例 2025-03-16 01:00:00", + }, + "end_time": { + "type": "string", + "description": "录像结束时间,格式为yyyy-MM-dd hh:mm:ss,例 2025-03-16 02:09:31", + } + }, + "required": ["camera_name", "start_time", "end_time"] + }, + } + }, + { + "type": "function", + "function": { + "name": "switch_page", + "description": "打开、跳转页面", + "parameters": { + "type": "object", + "properties": { + "page_name": { + "type": "string", + "description": "页面中文名称或者缩写,例:人员核查、系统日志、设备管理、首页", + } + }, + "required": ["page_name"] + }, + } + }, + { + "type": "function", + "function": { + "name": "zoom_in", + "description": "放大电子地图", + "parameters": { + "type": "object", + "properties": { + "level_n": { + "type": "int", + "description": "放大等级,整数并且大于0小于5,例如:放大1级、放大2级", + } + }, + "required": ["level_n"] + }, + } + }, + { + "type": "function", + "function": { + "name": "view_flight_details", + "description": "查询指定机场指定航班及时间的出入境人员明细", + "parameters": { + "type": "object", + "properties": { + "airport_name": { + "type": "string", + "description": "机场名称,简体中文,可以是缩写,例如:成都天府机场、天府机场、长水机场、上海浦东机场", + }, + "flight_code": { + "type": "string", + "description": "航班编号,由字母+数字组成的完整编号,若编号包含多余字符(如标点符号),需过滤后保留有效部分", + }, + "flight_date": { + "type": "string", + "description": "提取完整日期(年月日),自动补零至标准格式 yyyy-MM-dd, 例:2025-03-16", + }, + "ie_type": { + "type": "string", + "description": "出入境类型,仅识别'入境'或'出境'两种类型", + } + }, + "required": ["airport_name", "flight_code", "flight_date"] + }, + } } -} +] + ``` 2. 函数绑定及调用 diff --git a/日常学习/大模型/提示词工程/提示词工程技巧.md b/日常学习/大模型/提示词工程/提示词工程技巧.md new file mode 100644 index 0000000..8e76264 --- /dev/null +++ b/日常学习/大模型/提示词工程/提示词工程技巧.md @@ -0,0 +1,93 @@ + +## 一、保持清晰、直接和详细 ++ 可以将其视为一位聪明但非常新的员工(有健忘症),需要明确的指示。像任何新员工一样,他并不了解你的规范、风格、准则或首选的工作方式。 你越是精确地解释你想要什么,他的回应就会越好。 +![[Pasted image 20250405152054.png]] + +- **为 Claude 提供上下文信息:** 就像你在了解更多上下文的情况下可能会更好地完成任务一样,Claude 在有更多上下文信息的情况下也会表现得更好。上下文信息的一些例子: + - 任务结果将用于什么 + - 输出内容面向什么受众 + - 任务属于什么工作流程,以及这个任务在工作流程中的位置 + - 任务的最终目标,或者成功完成任务是什么样子 +- **具体说明你希望 Claude 做什么:** 例如,如果你只想要 Claude 输出代码而不要其他内容,就要明确说明。 +- **按顺序提供指示:** 使用编号列表或项目符号,以更好地确保 Claude 按照你想要的方式执行任务。 + +例: +![[Pasted image 20250405154017.png]] + + +## 二、few-shot +Few-Shot 在 prompt 中的作用是通过少量样本引导模型对特定任务进行学习和执行,例如通过提供少量风格或主题示例,显著提高输出的准确性、一致性和质量。*总的来说,提供示例对解决某些任务很有用。 +`Claude使用xml ` +![[Pasted image 20250405203439.png]] + +其他模型可以使用markdown语法直接添加示例 +![[Pasted image 20250405203936.png]] + +## 三、思维链COT(不适用与MOE模型) +基础:关键词“让我们逐步思考” +引导式:概述在思考过程中要遵循的具体步骤 +结构化提示:使用像 `` 和 `` 这样的 XML 标签来分离推理和最终答案 + +![[Pasted image 20250406202751.png]] +![[Pasted image 20250406202717.png]] + +## 四、自我一致性 +模型将从QA中进行学习,从而对最终问题进行推理 +```text +Q:林中有15棵树。林业工人今天将在林中种树。完成后,将有21棵树。林业工人今天种了多少棵树? +A:我们从15棵树开始。后来我们有21棵树。差异必须是他们种树的数量。因此,他们必须种了21-15 = 6棵树。答案是6。 + +Q:停车场有3辆汽车,又来了2辆汽车,停车场有多少辆汽车? +A:停车场已经有3辆汽车。又来了2辆。现在有3 + 2 = 5辆汽车。答案是5。 + +Q:Leah有32块巧克力,她的姐姐有42块。如果他们吃了35块,他们总共还剩多少块? +A:Leah有32块巧克力,Leah的姐姐有42块。这意味着最初有32 + 42 = 74块巧克力。已经吃了35块。因此,他们总共还剩74-35 = 39块巧克力。答案是39。 + +Q:Jason有20个棒棒糖。他给Denny一些棒棒糖。现在Jason只有12个棒棒糖。Jason给Denny多少棒棒糖? +A:Jason有20个棒棒糖。因为他现在只有12个,所以他必须把剩下的给Denny。他给Denny的棒棒糖数量必须是20-12 = 8个棒棒糖。答案是8。 + +Q:Shawn有五个玩具。圣诞节,他从他的父母那里得到了两个玩具。他现在有多少个玩具? +A:他有5个玩具。他从妈妈那里得到了2个,所以在那之后他有5 + 2 = 7个玩具。然后他从爸爸那里得到了2个,所以总共他有7 + 2 = 9个玩具。答案是9。 + +Q:服务器房间里有9台计算机。从周一到周四,每天都会安装5台计算机。现在服务器房间里有多少台计算机? +A:从周一到周四有4天。每天都添加了5台计算机。这意味着总共添加了4 * 5 = +20台计算机。一开始有9台计算机,所以现在有9 + 20 = 29台计算机。答案是29。 + +Q:Michael有58个高尔夫球。星期二,他丢失了23个高尔夫球。星期三,他又丢失了2个。星期三结束时他还剩多少个高尔夫球? +A:Michael最初有58个球。星期二他丢失了23个,所以在那之后他有58-23 = 35个球。星期三他又丢失了2个,所以现在他有35-2 = 33个球。答案是33。 + +Q:Olivia有23美元。她用每个3美元的价格买了五个百吉饼。她还剩多少钱? +A:她用每个3美元的价格买了5个百吉饼。这意味着她花了15美元。她还剩8美元。 + +Q:当我6岁时,我的妹妹是我的一半年龄。现在我70岁了,我的妹妹多大? +A: +``` + +## 五、生成知识提示 + +通过‘知识’告诉大模型一些规则 +```text +输入:希腊比墨西哥大。 +知识:希腊的面积约为131,957平方公里,而墨西哥的面积约为1,964,375平方公里,使墨西哥比希腊大了1,389%。 + +输入:眼镜总是会起雾。 +知识:当你的汗水、呼吸和周围的湿度中的水蒸气落在冷的表面上,冷却并变成微小的液滴时,会在眼镜镜片上产生冷凝。你看到的是一层薄膜。你的镜片相对于你的呼吸会比较凉,尤其是当外面的空气很冷时。 + +输入:鱼有思考能力。 +知识:鱼比它们看起来更聪明。在许多领域,如记忆力,它们的认知能力与或超过非人类灵长类动物等“更高级”的脊椎动物。鱼的长期记忆帮助它们跟踪复杂的社交关系。 + +输入:一个人一生中吸烟很多香烟的常见影响是患肺癌的几率高于正常水平。 +知识:那些一生中平均每天吸烟不到一支香烟的人,患肺癌的风险是从不吸烟者的9倍。在每天吸烟1到10支香烟之间的人群中,死于肺癌的风险几乎是从不吸烟者的12倍。 + +输入:一块石头和一颗卵石大小相同。 +知识:卵石是一种根据Udden-Wentworth沉积学尺度的颗粒大小为4到64毫米的岩屑。卵石通常被认为比颗粒(直径2到4毫米)大,比卵石(直径64到256毫米)小。 + +输入:高尔夫球的一部分是试图获得比其他人更高的得分。 +知识: +``` + +## 六、链式提示 +通俗理解为:上一个模型的输出作为下一个模型的输入或知识提示 +function call 可以使用这一点,先由模型推理出需要用的函数后传递给下一个模型 + +## 七、思维树