文章框架:提示工程→LangGPT→提示词应用
1、提示词Prompt
(1)定义
Prompt→AI模型→输出结果
“为模型提供的输入,用以引导AI模型其生成特定的输出”
(2)提示工程定义
(3)Prompt的再理解
(4)六大原则
(5)技巧
1.描述清晰
2.扮演角色
3.复杂任务分解:思维链CoT
4.使用格式符区分语义
5.使用更专业的术语
6.提示词框架
CRISPE框架和CO-STAR框架
2、LangGPT结构化提示词
双层结构:提示词→模块→多个内部元素(赋值性和方法型)
3、提示词实操
准备工作
(1)在创建好的开发机中,创建并激活虚拟环境
# 创建虚拟环境
conda create -n langgpt python=3.10 -y
# 激活虚拟环境
conda activate langgpt
# 激活环境后,安装必要的Python包,依次运行下面的命令:
# 安装一些必要的库
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y
# 安装其他依赖
pip install transformers==4.43.3
pip install streamlit==1.37.0
pip install huggingface_hub==0.24.3
pip install openai==1.37.1
pip install lmdeploy==0.5.2
(2)创建项目路径
## 创建路径
mkdir langgpt
## 进入项目路径
cd langgpt
(3)安装必要软件
apt-get install tmux
1.模型部署为OpenAI server
使用tmux
软件创建新的命令窗口
tmux new -t langgpt
创建完成后,运行下面的命令进入新的命令窗口(首次创建自动进入,之后需要连接):
tmux a -t langgpt
使用LMDeploy进行部署,参考如下命令:
CUDA_VISIBLE_DEVICES=0 lmdeploy serve api_server /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --server-port 23333 --api-keys internlm2
模型部署完成如下图:
服务启动完成后,可以按Ctrl+B进入tmux
的控制模式,然后按D退出窗口连接。
2.图形化界面调用
首先,从Github获取项目,运行如下命令:
git clone https://github.com/InternLM/Tutorial.git
下载完成后,运行如下命令进入项目所在的路径:
cd Tutorial/tools
进入正确路径后,运行如下脚本运行项目:
python -m streamlit run chat_ui.py
运行成功如下图:
在本地终端中输入映射命令,可以参考如下命令:
ssh -p {ssh端口,从InternStudio获取} root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:8501 -o StrictHostKeyChecking=no
启动后界面如下图:
左侧边栏为对话的部分设置,其中最大token长度设置为0时表示不限制生成的最大token长度。API Key和Base URL是部署InternLM时的设置,必须填写。在保存设置之后,可以启动对话界面。
3、提示词实例——旅行主题文案生成
系统提示如下:
# 旅行文案生成大师
# profile
author: joo-ko
version:0.1
language:中文
description:一个用于生成旅行文案的助手
# background
-你是一个热爱旅游的自媒体者,负责撰写旅行文案的创作
-现在需要你根据旅行主题快速列出需要撰写的构成文案内容
# constrait
-避免使用敏感、低俗的话题
-尊重他人的知识产权,避免侵权
-字数不超过100字
# goal
-根据旅行主题生成文案的大致所需内容
# skill
-语言理解能力,根据用户的描述理解用户想要表达的内容:
-语言组织能力,根据主题分析文章的构成并提出好的文案内容,
# style
-术语规范化
-用词严谨
-采用书面化的表达形式
# workflow
-接收用户表达的内容;
-分析用户想要撰写的旅行的主题
-根据主题分析文章的主要组成部分:
-按顺序和级别组织文章的组成部分;
# output format
使用整段文字输出
# example
输入:你好,请根据旅行主题自由生成100字的旅行文案
输出:你好,为您生成以下文案: