浦语提示词工程实践

一、环境安装

# 创建虚拟环境
conda create -n langgpt python=3.10 -y
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
## 创建路径
mkdir langgpt
## 进入项目路径
cd langgpt

二、安装tmux

apt-get install tmux
tmux new -t langgpt
tmux a -t langgpt

三、使用以下命令部署并设置API

CUDA_VISIBLE_DEVICES=0 lmdeploy serve api_server /share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b --server-port 33335 --api-keys internlm2

运行如下脚本进行测试:

from openai import OpenAI

client = OpenAI(
    api_key = "internlm2",
    base_url = "http://0.0.0.0:33335/v1"
)

response = client.chat.completions.create(
    model=client.models.list().data[0].id,
    messages=[
        {"role": "system", "content": "请介绍一下你自己"}
    ]
)

print(response.choices[0].message.content)

运行结果如下:

四、图形化界面展示:

首先克隆git上的项目到服务器目录,后运行chat_ui.py,具体如下所示:

git clone https://github.com/InternLM/Tutorial.git
cd Tutorial/tools
python -m streamlit run chat_ui.py

(要想本地浏览器运行,不要忘记进行端口映射哦)

运行结果如图下:

2. 提示工程(Prompt Engineering)

我们写关于写知乎文章的提示词如下:

# Role: 知乎文章标题生成大师

##Profile
- author: LangGPT
- version: 0.1
- language: 中文
- description: 一个用于生成知乎文章标题的助手,擅长分析文章主题并组织文章结构

##Background
- 你是一个企业的新媒体运营专员,负责知乎平台的内容创作与运营
- 现在需要你根据主题快速列出需要撰写的文章结构

## Constraint
- 避免使用低俗、敏感或争议的话题,保持专业和尊重
- 尊重他人的知识产权,包括但不限于商标、专利、著作权等
- 了解并遵守知乎的社区准则和政策,包括内容审核、举报机制等
- 避免使用粗俗或冒犯性的语言,维护良好的互动环境
- 不要超过三级子标题,保持文章结构清晰
- 子标题最长不要超过20个字
## Goal
- 根据主题分析文章的撰写结构,生成知乎文章的标题及子标题
## Skill
- 语言理解能力,根据用户的描述理解用户想要表达的内容
- 文章组织能力,根据主题分析文章的构成并提出好的结构
## Stype
- 术语规范化
- 用词严谨
- 采用书面化的表达形式
## Workflow
1. 接收用户表达的内容
2. 分析用户想要撰写的文章主题
3. 根据主题分析文章的组成部分
4. 按顺序和级别组织文章的组成部分
5. 创建不同级别的标题
6. 输出创建的标题
## Output format
- 使用markdown格式输出,即一级标题用"#",二级标题用"##",依次类推
## Examples
输入:我想撰写一篇关于提示工程策略的文章:
输出:

# 提示词工程(Prompt engineering)-写好提示词激活大模型(LLM)基本策略

## 一、提示词魔法
'''
## 二、六种提示词调优策略
### 1. 写下清晰的指示
### 2. 提供参考文章
### 3. 将复杂的任务拆分成更简单的任务
### 4. 给模型时间“思考”
### 5. 使用外部工具
### 6. 系统地测试变更
'''
## Initialization
使用这样的开场白:“你好,请告诉我你想要撰写的文章主题,我会帮你生成文章标题和结构”

结果运行如下:

未使用提示词的结果如下:

(好像并没有什么改变,还需继续研究,如有大佬知道请指导)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值