一文学会Prompt(提示词)编写技巧

https://aibook.ren/archives/how-to-write-prompt

一、引言
大规模语言模型(LLM, Large Language Models)扮演着越来越重要的角色。然而,想要真正发挥这些模型的强大能力,关键在于如何向模型输入明确、详细且符合预期的指令,这就是我们今天要讨论的重中之重——Prompt的写作。

Prompt,作为一种结构化的输入序列,不仅为模型提供任务要求和背景信息,更在很大程度上决定了模型输出的质量与相关性。一个设计优秀的Prompt,能够最大程度地减少误解,使得模型理解用户的需求并生成高质量的响应。

这篇文章的核心宗旨就是教你如何写出优秀的Prompt。我们将从Prompt的定义、运行过程,以及优秀Prompt应具备的各个要素入手,逐步展开详细的解析和实用示例,让你在短时间内掌握写作高效Prompt的技巧和策略。通过不断优化你的Prompt写作能力,你将能够更好地引导大模型,为各类应用场景生成高质量的文本输出。

准备好了吗?让我们一起开启Prompt写作秘笈,解锁大模型的无限可能!

二、Prompt 定义
定义
在大规模语言模型(LLM, Large Language Models)领域,Prompt 是一种结构化的输入序列,用于引导预训练语言模型生成预期的输出。它通常包括明确的任务要求、背景信息、格式规定以及示例,以充分利用模型的能力在特定任务中生成高质量的响应。

html兼容性

  1. iOS < 16.4先行或后行断言不兼容
    ?<! 零宽度负先行断言
    ?<= 零宽度正先行断言
    ?! 零宽度负后行断言
    ?= 零宽度正后行断言

ai微调

工具

  1. 微调界面UI LLaMA-Factory github
  2. 免费阿里云提供的GPU
  3. 内网穿透 netapp.cn

postgres 常用命令

  1. 连接数据
    psql -h localhost -U postgres

  2. 查看
    select * from sentry_useroption

  3. 删除
    delete from sentry_useroption where id = 5

部署sentry

  1. 下载仓库

    1
    2
    3
    4
    cd /data/web
    git clone https://github.com/getsentry/self-hosted.git sentry-self-hosted


  2. 注册geoip
    打开https://www.maxmind.com/注册账号
    成功后,点击左边栏“Manage License Keys”,创建key;最后下载Geoip.conf
    放到步骤1中sentry-self-hosted/geoip/Geoip.conf

  3. 配置docker代理

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # /etc/docker/daemon.json
    {
    "registry-mirrors": [
    "https://docker.1panel.live",
    "https://hub.rat.dev"
    ],
    "builder": {
    "gc": {
    "defaultKeepStorage": "20GB",
    "enabled": true
    }
    },
    "experimental": false,
    "features": {
    "buildkit": false
    }
    }
    1
    systemctl restart docker
  4. 配置nameserver dns

    1
    vim /etc/resolv.conf
    1
    2
    3
    nameserver 223.5.5.5
    #nameserver 114.114.114.114
    nameserver 8.8.8.8
  5. 安装sentry

    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
    cd sentry-self-hosted

    # 域名白名单
    vi sentry/sentry.config.py
    修改为
    CSRF_TRUSTED_ORIGINS = ["https://apm.jf.com", "http://192.168.20.140:9000", "http://127.0.0.1:9000"]
    # 设置编辑后台访问地址
    vi sentry/config.yml
    修改为
    system.url-prefix: https://apm.jf.com

    # 解除qq邮箱限制,把宿主的文件挂载到容器中
    vi src/sentry/conf/server.py
    把qq改为00
    # 去掉登录页面 邀请入口
    vi src/sentry/web/frontend/auth_login.py
    将文件函数改为
    def get_join_request_link(self, organization: RpcOrganization, request: Request) -> str | None:
    return None

    # 挂载文件夹到镜像
    vi docker-compose.yml
    x-sentry-defaults: &sentry_defaults
    volumes:
    #- "../source/sentry/server.py:/usr/src/sentry/src/sentry/conf/server.py"
    - "../source/sentry:/usr/src/sentry/src/sentry"

    # 安装sentry
    bash install.sh --no-report-self-hosted-issues
  6. 配置sentry

    1
    2
    3
    vi sentry/sentry.config.py
    放开CSRF_TRUSTED_ORIGINS,并添加域名白名单

  7. 启动sentry
    docker-compose up –wait

  8. 关闭sentry
    docker-compose down

    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


    ## sentry编辑后台配置
    1. 配置webhook
    a. setting -> organization -> Integrations -> create new integration
    b. 页面打开后,填写名字和webook的url,注意这个url是`自己写的服务url,不是企业微信回调url`
    c. 开启“Alert Rule Action”
    d. Schema中,输入,参考:https://docs.sentry.io/organization/integrations/integration-platform/ui-components/alert-rule-action/
    ```json
    {
    "elements": [
    {
    "type": "alert-rule-action",
    "title": "Webhook配置",
    "settings": {
    "type": "alert-rule-settings",
    "uri": "/api/sentry/config",
    "required_fields": [
    {
    "type": "text",
    "label": "回调地址",
    "name": "url"
    }
    ]
    }
    }
    ]
    }

    e. Permissions -> Issue & Event -> 选择为 read
    f. 保存即可

centos安装docker和docker-compose

1. 安装docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 安装Docker的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

// 安装Docker-CE
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce

// 启动Docker后台服务
systemctl start docker

// 测试运行
docker run hello-world

// 设置开机启动
systemctl enable docker
  1. 检查docker版本

    1
    docker version

    输出为:

    1
    2
    3
    4
    5
    6
    7
    8
    Client: Docker Engine - Community
    Version: 28.1.1
    API version: 1.49
    Go version: go1.23.8
    Git commit: 4eba377
    Built: Fri Apr 18 09:53:36 2025
    OS/Arch: linux/amd64
    Context: default
  2. 根据docker版本下载docker-compose
    选择版本 https://github.com/docker/compose/releases

  3. 安装docker-compose

curl -L "https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

# 验证安装
docker-compose --version
```bash

## 常用命令
1. 删除docker volume data
`docker volume rm $(docker volume ls -qf dangling=true)`

2. 启动
`docker-compose up -d`
3. 停止
`docker-compose down`
4. 查看日志
`docker-compose logs -f`
5. 查看容器状态
`docker ps -q -a`
6. 进入容器
`docker-compose exec -it web /bin/bash`

sentry开发环境搭建

  1. 安装sentry环境脚本
    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
    # https://github.com/getsentry/devenv#install
    curl https://raw.githubusercontent.com/getsentry/devenv/main/install-devenv.sh > install-devenv.sh
    bash install-devenv.sh
    ```bash

    2. 拉取sentry代码
    ```bash
    export SENTRY_EXTERNAL_CONTRIBUTOR=dave.huang
    devenv bootstrap
    #如果本机没有设置github公私钥,需配置
    devenv fetch sentry
    ```bash

    3. 启动后台服务
    ```bash
    # 启动docker
    colima start
    devservices up
    sentry devserver --workers --ingest
    ```bash

    上述命令拉取relay失败,修改镜像地址为:


    4. 账号
    admin@sentry.io
    admin