当前位置:   article > 正文

如何用OpenAI的形式流式访问ChatGLM2-6B?30行代码简单解决!_azureopenai 可以使用chatglm

azureopenai 可以使用chatglm

    最近我正在开发基于LangChain的知识库。为了降低tokens的费用,需要完成接口替换。将原来调用OpenAI接口的方式改为使用ChatGLM2-6B接口。这样的改变不仅可以节省成本,还能提高文本输出速度。以下是我们在实践中取得的成果,现在与大家分享!

一、环境配置:

下载chatglm2-6B库:https://github.com/THUDM/ChatGLM2-6B.git

启动python openai_api.py

监听端口为8000。

二、代码编写:

1、首先要有一个“openai.api_key”,这里直接输入个test进行测试即可。

2、还要有一个域名,这里设置的是“http://localhost:8000/v1”

3、用chatglm2-6b查询输入的文字

(4、输出总耗时)

总代码如下:

  1. import openai
  2. import time
  3. import json
  4. openai.api_key = 'test'
  5. openai.api_base = "http://localhost:8000/v1"
  6. start_time = time.time()
  7. while True:
  8. query = input("请输入:")
  9. if "end" == query:
  10. break
  11. start_time = time.time()
  12. response = openai.ChatCompletion.create(
  13. model="chatglm2-6b",
  14. messages=[
  15. {"role": "system", "content": ""},
  16. {"role": "user", "content": query}
  17. ],
  18. stream = True
  19. )
  20. response_time = time.time()
  21. print(f'请求耗时:{response_time - start_time:.2f} s')
  22. for i in response:
  23. t = time.time()
  24. if "content" in i.choices[0].delta:
  25. msg = i.choices[0].delta.content
  26. print(msg, end='', flush=True)
  27. print(f'\n总耗时: {t - start_time:.2f} s')
  28. print("===结束===")

三、运行此文件即可进行测试,效果如下:

请输入:讲一个笑话

请求耗时:0.00 s

下面是一个简短的笑话:

为什么小鸟站在电线上不会被电到呢?

因为它们不接地啊!

总耗时: 0.67 s

===结束===

     以上就是我在配置并使用OpenAI的形式流式访问ChatGLM2-6B的简单方法,希望可以帮到大家。欢迎发私信与我共同讨论更多该领域的知识!

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

闽ICP备14008679号