如何本地调用ChatGLM3-6B的API

本文介绍了如何在本地启动ChatGLM3-6B模型,通过Postman进行API调用,并提供了官方推荐的超参数设置,以及针对不同场景的参数调整建议。
摘要由CSDN通过智能技术生成

ChatGLM3-6B的本地api调用方式

一.启动本地的ChatGLM3-6B模型

        1.执行以下命令新建一个 conda 环境

conda create -n chatglm3-demo python=3.11
conda activate chatglm3-demo

        2.切换到openai_api_demo模块下,运行如下代码:

python api_server.py

       若出现显存溢出的问题,请量化模型,在api_server的main代码如下

        启动成功后界面:

该界面包含了本机的ip地址和端口号

       3.postman调用测试(推荐):请求方式为post

接口:http://127.0.0.1:8000/v1/chat/completions

传递参数:

该传递的格式可以实现多轮对话,将规定的格式追加到messages列表中

{

    "model": "chatglm3-6b",

    "messages": [

        {

            "role": "system",

            "content": "You are ChatGLM3, a large language model trained by Zhipu.AI. Follow the user’s instructions carefully. Respond using markdown."

        },

        {

            "role": "user",

            "content": "你好,给我讲一个故事,大概100字"

        },

        {

            "role": "system",

            "content": "从前有个叫小明的小学毕业生,他非常勤奋。他每天早上都会把书翻开,先读一段英文再读一段中文。有一天,他的老师告诉他:“小明,你这么用功,我觉得你应该好好休息。”小明回答说:“老师,我只要用功了一半,你就已经满意了。”"

        },

        {

            "role": "user",

            "content": "继续讲下去"

        },

        {

            "role": "system",

            "content": "小明听了老师的话,思考了一下,然后说:“老师,那我就不用功了。”从此以后,小明就经常在课堂上睡觉。老师感到很惊讶,于是去问他为什么这样做。小明回答说:“老师,我已经用功了一半,现在我在休息。”老师听后笑了,告诉其他同学:“这个孩子有很强的自我管理能力,我们不需要太担心。”"

        },

        {

            "role": "user",

            "content": "继续讲下去"

        }

    ],

    "stream": false,

    "max_tokens": 100,

    "temperature": 0.5,

    "top_p": 0.5

}

 若使用postman请求,发生连接超时,则需要开放对应8000端口

二.官方推荐的超参数设置

  • max_length: 模型的总token限制,包括输入和输出的tokens

  • temperature: 模型的温度。温度只是调整单词的概率分布。其最终的宏观效果是,在较低的温度下,我们的模型更具确定性,而在较高的温度下,则不那么确定。

  • top_p: 模型采样策略参数。在每一步只从累积概率超过某个阈值 p 的最小单词集合中进行随机采样,而不考虑其他低概率的词。只关注概率分布的核心部分,忽略了尾部部分

1.不同场景下的参数设置

Use Case

temperature

top_p

任务描述

代码生成

0.2

0.1

生成符合既定模式和惯例的代码。 输出更确定、更集中。有助于生成语法正确的代码

创意写作

0.7

0.8

生成具有创造性和多样性的文本,用于讲故事。输出更具探索性,受模式限制较少。

聊天机器人回复

0.5

0.5

生成兼顾一致性和多样性的对话回复。输出更自然、更吸引人。

调用工具并根据工具的内容回复

0.0

0.7

根据提供的内容,简洁回复用户的问题。

代码注释生成

0.1

0.2

生成的代码注释更简洁、更相关。输出更具有确定性,更符合惯例。

数据分析脚本

0.2

0.1

生成的数据分析脚本更有可能正确、高效。输出更确定,重点更突出。

探索性代码编写

0.6

0.7

生成的代码可探索其他解决方案和创造性方法。输出较少受到既定模式的限制。

  • 60
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要对 chatglm2-6b 进行微调以适应 LORA(低功耗广域网)环境,可以按照以下步骤进行操作: 1. 首先,执行 chatglm2_6b_lora.py 脚本来启动微调过程。可以使用命令行输入以下命令:`python chatglm2_6b_lora.py`。 2. 接下来,修改配置文件中的几个值。可以使用以下命令在配置文件中替换一些字符串: ``` sed -i 's/THUDM\/chatglm2-6b--//g' ./chatglm2_6b_lora/config.json sed -i 's/THUDM\/chatglm2-6b/\.\.\/chatglm2_6b_lora/g' ./chatglm2_6b_lora/config.json sed -i 's/THUDM\/chatglm2-6b--//g' ./chatglm2_6b_lora/tokenizer_config.json sed -i 's/THUDM\/ChatGLM2-6B/\.\.\/chatglm2_6b_lora/g' ./chatglm2_6b_lora/modeling_chatglm.py sed -i 's/THUDM\/chatglm2-6b/\.\.\/chatglm2_6b_lora/g' ./chatglm2_6b_lora/modeling_chatglm.py ``` 这些命令将修改配置文件中的一些路径,以使其适应 LORA 微调环境。 3. 最后,调用导出的模型进行微调。具体操作可以参考 ChatGLM-Efficient-Tuning 项目的 README 文件,首先克隆该项目的仓库,然后创建并激活一个新的 Python 环境,安装所需的依赖,并根据提供的数据集说明进行微调。可以使用以下命令执行这一步骤: ``` git clone https://github.com/hiyouga/ChatGLM-Efficient-Tuning.git conda create -n chatglm_etuning python=3.10 conda activate chatglm_etuning cd ChatGLM-Efficient-Tuning pip install -r requirements.txt ``` 然后,根据项目提供的数据集说明进行微调。 通过按照上述步骤进行操作,您可以对 chatglm2-6b 进行 LORA 微调。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [修改 ChatGLM2-6B 自我认知的 Lora 微调教程](https://blog.csdn.net/engchina/article/details/131492403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值