当前位置:   article > 正文

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

postman openai

简单记录一下成功通过本地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

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

直接运行这段代码:

  1. import openai
  2. if __name__ == "__main__":
  3. openai.api_base = "http://localhost:8000/v1"
  4. openai.api_key = "none"
  5. for chunk in openai.ChatCompletion.create(
  6. model="chatglm2-6b",
  7. messages=[
  8. {"role": "user",
  9. "content": "你好!"}
  10. ],
  11. stream=True
  12. ):
  13. if hasattr(chunk.choices[0].delta, "content"):
  14. 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库,需要时进行导入,这样也太完美了!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/696937
推荐阅读
相关标签
  

闽ICP备14008679号