当前位置:   article > 正文

如何本地调用ChatGLM3-6B的API_本地python代码怎么调用微调后的chatglm3-6b模型接口

本地python代码怎么调用微调后的chatglm3-6b模型接口

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

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

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

  1. conda create -n chatglm3-demo python=3.11
  2. 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

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/546727
推荐阅读
相关标签
  

闽ICP备14008679号