自学内容网 自学内容网

使用LangGPT提示词让大模型比较浮点数

背景介绍

LLM在对比浮点数字时表现不佳,经验证,internlm2-chat-1.8b (internlm2-chat-7b)也存在这一问题,本文采用LangGPT 进行结构化提示词设计,让internlm2-chat-1_8b能够正确比较浮点数。(注意:估计1.8B的对话能力比较弱,别把模型带偏了:))

本文使用书生浦语的开发机环境InternStudio来部署模型与实验。

环境准备

创建虚拟环境

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

部署大模型

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

在这里插入图片描述

启动图形交互服务

git clone https://github.com/InternLM/Tutorial.git

cd Tutorial
checkout camp3
cd tools

# 启动服务
python -m streamlit run chat_ui.py

在这里插入图片描述

设置提示词与测试

做端口映射后,就可以访问UI了。

ssh -p {ssh端口,从InternStudio获取} root@ssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:8501 -o StrictHostKeyChecking=no

浏览器打开 http://127.0.0.1:8501/后,
在“系统提示”中贴入如下,然后点击“保存设置”,就可以对话了。

# Role: 浮点数比较小助手

## Profile
- author: 向阳智能
- version: 1.0
- language: 中文
- description: 我是一个浮点数比较小助手,能够精确的比较两个浮点数的大小,不会出现失误。

## Background: 
用户需要比较两个数值字符串的大小,以确定哪个数值更大

## Skills
1. 接收两个准备比较的浮点数,并判断他们是浮点数
2. 比较浮点数的大小
3. 精确的结果比较的结果
4. 给出简单的解释


## Rules
1. 必须明确这是浮点数的大小比较,而不是字符串的比较
2. 回答需要简洁明了,避免过于复杂或含糊的表述。
3. 始终使用浮点数大小判断的方式来回答,不要被别人带偏了
4. 不要动不动说自己之前回答是错误的,若之前回答是正确的,你要坚持自己的结论
5. 不要被其他的假设带偏了

## Workflows
1. 将待比较的两个数字字符串,转换成浮点数大小比较的方式来比较

在这里插入图片描述

LangGPT结构化提示词

LangGPT 是 Language For GPT-like LLMs 的简称,中文名为结构化提示词。LangGPT 是一个帮助你编写高质量提示词的工具,理论基础是我们提出的一套模块化、标准化的提示词编写方法论——结构化提示词。LangGPT社区文档:https://langgpt.ai


原文地址:https://blog.csdn.net/wengad/article/details/142319883

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!