浦语提示词工程实践

1. 环境准备

1.环境配置

创建一个新环境
在这里插入图片描述

安装必要依赖:

conda activate langgpt
在这里插入代码片# 安装一些必要的库
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

在这里插入图片描述

2. 模型部署

基于LMDeploy将开源的InternLM2-chat-1_8b模型部署为OpenAI格式的通用接口。

2.1 获取模型

由于本项目使用intern-studio开发机,可以直接在路径/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b下找到模型

2.2 部署模型为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

在这里插入图片描述

部署测试:
在这里插入图片描述

2.3 图形化界面调用

基于此仓库https://github.com/InternLM/Tutorial.git

cd Tutorial/tools
python -m streamlit run chat_ui.py

浏览器界面:
在这里插入图片描述

3.提示工程(Prompt Engineering)

3.1 什么是Prompt

Prompt是一种用于指导以大语言模型为代表的生成式人工智能生成内容(文本、图像、视频等)的输入方式。它通常是一个简短的文本或问题,用于描述任务和要求。

Prompt可以包含一些特定的关键词或短语,用于引导模型生成符合特定主题或风格的内容。

Prompt还可以包含一些特定的指令或要求,用于控制生成文本的语气、风格、长度等方面。

总之,Prompt是一种灵活、多样化的输入方式,可以用于指导大语言模型生成各种类型的内容。

3.2 什么是提示工程

提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。

在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本,原理为next token prediction。

提示工程是模型性能优化的基石,有以下六大基本原则:

  • 指令要清晰
  • 提供参考内容
  • 复杂的任务拆分成子任务
  • 给 LLM“思考”时间(给出过程)
  • 使用外部工具
  • 系统性测试变化

3.3 提示设计框架

  • CRISPE,参考:
    https://github.com/mattnigh/ChatGPT3-Free-Prompt-List
    • Capacity and Role (能力与角色):希望 ChatGPT 扮演怎样的角色。​
    • Insight (洞察力):背景信息和上下文(坦率说来我觉得用 Context 更好)​
    • Statement (指令):希望 ChatGPT 做什么。​
    • Personality (个性):希望 ChatGPT 以什么风格或方式回答你。​
    • Experiment (尝试):要求 ChatGPT 提供多个答案。
  • CO-STAR,参考https://aiadvisoryboards.wordpress.com/2024/01/30/co-star-framework/
    • Context (背景): 提供任务背景信息​
    • Objective (目标): 定义需要LLM执行的任务​
    • Style (风格): 指定希望LLM具备的写作风格​
    • Tone (语气): 设定LLM回复的情感基调​
    • Audience (观众): 表明回复的对象​
    • Response (回复): 提供回复格式

3.4 浦语提示词工程实践(LangGPT版)

在这里插入图片描述

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值