当前位置: 代码网 > it编程>软件设计>软件测试 > 采用API的方式调用本地chatGLM2-6B,postman方式访问接口,openai格式调用接口

采用API的方式调用本地chatGLM2-6B,postman方式访问接口,openai格式调用接口

2024年08月06日 软件测试 我要评论
本文记录了采用api的方式访问本地chatGLM2-6B的方法

简单记录一下成功通过本地api方式访问chatglm2-6b的接口

前面已经在本地win11系统部署chatglm2-6b完成,接着前面的项目目录。现在尝试使用api的方式调用大模型接口。

1、采用普通api进行调用

按照官方文档,应该是先安装fastapi uvicorn这个库

pip install fastapi uvicorn

这里我已经安装完成。

开始运行api.py,还是把模型修改为本地路径:

ok,运行没有任何报错:

我们先打开网址http://127.0.0.1:8000/看一下:

这说明接口至少是能够访问的。

官方推荐:

采用curl带参数的命令进行访问,这是linux的访问方式,在windows我决定用postman测试一下,这里先安装好postman。安装过程需要注册,这边省略掉~~

打开postman,新建一个访问接口。

选择post,url,并在消息头中填写参数,如下:

再在body中选择raw,将json格式的请求内容写进入:

点击send:

成功接收到接口返回的消息,接口调通!

2、采用openai的方式调用接口

除了支持上述的api调用,chatglm也支持 openai 格式的流式 api 部署,如下这种:

可以看到,直接导入openai库,然后输入一些模式,就可以像其他库一样调用,确实非常方便,我们这里进行尝试。

首先安装openai

pip install openai==0.28.1

这里必须要指定版本,如果不指定,会默认安装最新的版本,超过1.0了,后续代码会报错。

安装好之后启动openai_api.py

我们发现,成功启动,没有报错。

直接运行这段代码:

import openai
if __name__ == "__main__":
    openai.api_base = "http://localhost:8000/v1"
    openai.api_key = "none"
    for chunk in openai.chatcompletion.create(
        model="chatglm2-6b",
        messages=[
            {"role": "user",
             "content": "你好!"}
        ],
        stream=true
    ):
        if hasattr(chunk.choices[0].delta, "content"):
            print(chunk.choices[0].delta.content, end="", flush=true)

嗯?怎么报错了呢?

看这报错信息,我也确实没有看懂,网上找了半天方法,甚至试了关代理,重启电脑等,但是都不是关键的,后边在百度搜索如何解决,直到看到:chatglm流式输出的报错修复_chatcompletionresponse然后返回值-csdn博客

我进行尝试,将所有的:

chunk.json(exclude_unset=true, ensure_ascii=false)

替换为:

chunk.model_dump_json(exclude_unset=true)

再次运行:

ok!确实没有任何问题。哇哦,感谢大佬。

这种调用方式,直接将chatglm变为一个python库,需要时进行导入,这样也太完美了!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com