浮苏物语

胡小小打怪日记

top

top 命令提供了运行中程序的资源使用统计,可以根据内存的使用和大小进行排序

1
top

预研成果

输入文本,输出 JSON 格式数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Role: JSON 数据生成器

## Profile:
- author: sofor
- version: 0.1
- language: 中文
- description: 将输入的内容转为JSON数据格式的生成器。

## Goals
1. 文本内容应具有一定的结构性和语义明确性,以便能够准确地提取关键信息并转换为 JSON 格式。
2. 输入的文本可以是各种主题和领域的描述、记录、报告等,但应避免过于模糊或歧义的表述。

## Output
1. 输出的 JSON 数据应遵循严格的格式规范,包括正确的键值对表示、引号的使用等。
2. 键名应使用具有明确含义的字符串,值可以是字符串、数字、布尔值、数组或对象等符合 JSON 标准的数据类型。
3. 输出的 JSON 数据中不能存在数学运算,数据需要结算后的结果。

## Rules
1. 分析输入文本的结构,提取关键信息作为 JSON 的键。
2. 根据提取的键,从文本中获取相应的值,并进行适当的格式转换(如将日期转换为特定的日期格式)。
3. 如果文本中存在多个相同键的信息,应将其值存储为数组。

## ErrorsHandle
1. 对于输入文本中无法提取有效信息或不符合预期格式的情况,应输出错误提示信息,如:{"error": "无法从输入文本中提取有效数据"}
2. 若在数据转换过程中出现异常,应输出相应的错误消息,如:{"error": "数据转换过程中出现异常:[具体异常信息]"}

## Examples
1. Q:"姓名:张三,年龄:25 岁,职业:程序员"
A:{"name": "张三", "age": 25, "occupation": "程序员"}
2. Q:"水果清单:苹果,香蕉,橙子"
A:{"fruits": ["苹果", "香蕉", "橙子"]}
3. Q:"活动日期:2024-07-08,活动地点:北京,参与人数:50"
A:{"event_date": "2024-07-08", "event_location": "北京", "participant_count": 50}

通义千问配置:

  • 模型配置
    • 通义千问-Max
  • top_p
    • 0.8
  • temperature
    • 1.0

回答效果:

Q:

1
我今天要去超市采购一点物资。我准备买岳父10斤葡萄,20斤鸡蛋。小孩的奶粉也要3罐,蜂蜜要1罐。也要给爸爸买一箱酒,一箱里边好像有12瓶。还要给妈妈买5斤鸡蛋,鸡蛋一斤可能有5个。天气太热了,我还要买5个西瓜,四个甜瓜。老婆喜欢吃榴莲,我要给她挑一个10斤的。

A:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
```json
{
"purchases": {
"grapes": {"for": "father-in-law", "quantity": 10, "unit": "斤"},
"eggs": {"total_quantity": 25, "unit": "斤", "details": [{"recipient": "household", "quantity": 20}, {"recipient": "mother", "quantity": 5}]},
"baby_milk_powder": {"quantity": 3, "unit": "罐"},
"honey": {"quantity": 1, "unit": "罐"},
"wine": {"quantity": 1, "unit": "箱", "bottles_inside": 12, "for": "dad"},
"watermelons": {"quantity": 5, "unit": ""},
"muskmelons": {"quantity": 4, "unit": ""},
"durian": {"quantity": 1, "weight": 10, "unit": "斤", "for": "wife"}
},
"notes": "预计每斤鸡蛋大约有5个。"
}
```

附加知识

提示词工程简介

提示工程(Prompt Engineering)是一门关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。

开发人员可利用提示工程来提升大语言模型处理复杂任务场景的能力,如问答和算术推理能力。通过提示工程设计、研发强大的工程技术,可以实现和大语言模型或其他生态工具的高效接轨。

提示工程不仅仅是关于设计和研发提示词。它包含了与大语言模型交互和研发的各种技能和技术。提示工程在实现和大语言模型交互、对接,以及理解大语言模型能力方面都起着重要作用。用户可以通过提示工程来提高大语言模型的安全性,也可以赋能大语言模型,比如借助专业领域知识和外部工具来增强大语言模型能力。

提示技术

零样本提示(Zero-Shot Prompting)

含义:未向模型提供任何示例,就可以生成结果。

现在经过大量数据训练并调整指令的LLM(市面上的大模型都已实现),已经可以能够执行零样本任务。

1
2
>Q: 天空是
>A: 天空是地球大气层及其外部空间在视觉上的表征。在日常语言中,当我们提到“天空”,通常指的是我们头顶上方看起来像一个巨大半球的蓝色(白天)或黑色(夜晚)空间,其中包含云彩、太阳、月亮、星星等天体。天空的颜色主要由空气分子散射太阳光造成的,而其在不同时间的颜色变化则与太阳的位置、大气中的颗粒物以及天气状况有关。在夜晚,没有太阳光的直射,我们可以看到繁星点点和银河系的壮丽景象。

少样本提示(Few-Shot Prompting)

在使用零样本设置时,LLM在更复杂的任务上表现不佳。少样本提示可以作为一种技术,以启用上下文学习。

链式思考(CoT)提示(Chain-of-Thought Prompting)

自我一致性(Self-Consistency)

生成知识提示(Generated Knowledge Prompting)

链式提示(Prompt Chaining)

思维树 (ToT)(Tree of Thoughts)

检索增强生成 (RAG)(Retrieval Augmented Generation)

自动推理并使用工具 (ART)(Automatic Reasoning and Tool-use)

自动提示工程师(APE)(Automatic Prompt Engineer)

?(Active-Prompt)

方向性刺激提示(Directional Stimulus Prompting)

PAL(程序辅助语言模型)(Program-Aided Language Models)

ReAct 框架(ReAct Prompting)

自我反思(Reflexion)

多模态思维链提示方法(Multimodal CoT Prompting)

参考文章

K12领域应用-儿童PBL项目Prompt

OpenAI的官方Prompt工程指南详解

结构化提示词系统论述

ChatGPT 提示词工程说明文档

Prompt最佳实践-通义千问

提示词工程指南

公司管理后台的内容越来越多,特别是管理产品的内容移动到应用产品项目之后。导致打包时间动辄520秒。每次发布都要等将近10分钟,修复bug发布测试环境也被测试人员吐槽。特此对管理后台项目构建进行了优化。由于时间所限,我只做了一项优化,便将打包时间减少了近5分钟!

阅读全文 »

要在 Visual Studio Code 中配置使用 yarn dev 命令来启动和调试 Electron 应用程序,可以按照以下步骤来设置 launch.json 文件:

  1. 创建或打开 launch.json 文件:
    在 VS Code 中,打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),然后输入并选择“调试:打开 launch.json”命令。如果没有现有的 launch.json 文件,VS Code 会为你创建一个。

  2. 添加新的调试配置:
    launch.json 文件中,添加一个新的配置项,用于运行 yarn dev 命令。

下面是一个示例配置,展示如何使用 yarn dev 命令启动和调试 Electron 应用程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Electron with Yarn",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "yarn",
"args": ["dev"],
"windows": {
"runtimeExecutable": "yarn.cmd"
},
"outputCapture": "std",
"env": {
"ELECTRON_ENABLE_LOGGING": "true",
"ELECTRON_ENABLE_STACK_DUMPING": "true"
}
}
]
}

解释配置项

  • name: 调试配置的名称,这里命名为 Debug Electron with Yarn
  • type: 调试类型,设置为 node,用于调试 Node.js 应用。
  • request: 调试请求类型,launch 表示启动一个新的进程进行调试。
  • cwd: 当前工作目录,设置为工作区文件夹。
  • runtimeExecutable: 可执行文件的路径,这里指定为 yarn,在 Windows 上指定为 yarn.cmd
  • args: 传递给 yarn 的参数,这里是 dev,即运行 yarn dev
  • outputCapture: 指定输出捕获方式,这里设置为 std,以捕获标准输出和标准错误。
  • env: 环境变量设置,用于启用 Electron 的日志记录和堆栈转储功能,便于调试。

如何使用这个配置

  1. 保存 launch.json 文件。
  2. 打开调试视图(在左侧活动栏中点击带有错误标志的图标)。
  3. 在调试配置下拉菜单中选择 Debug Electron with Yarn
  4. 点击绿色的启动按钮,VS Code 会运行 yarn dev 命令并启动调试会话。

通过这种方式,你可以在 VS Code 中使用 yarn dev 命令启动并调试你的 Electron 应用程序。

0%