当前位置:首页|资讯|OpenAI|编程|GitHub

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

作者:西二旗马斯克LLM发布时间:2023-07-27

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

一、环境配置:

去github上搜索并下载chatglm2-6B库(搜索chatglm2-6B,下载第一个链接的库即可)

启动python openai_api.py

监听端口为8000。

二、代码编写:

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

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

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

(4、输出总耗时)

总代码如下:

import openai

import time

import json

openai.api_key = 'test'

openai.api_base = "http://localhost:8000/v1"

start_time = time.time()

while True:

   query = input("请输入:")

   if "end" == query:

       break

   start_time = time.time()

   response = openai.ChatCompletion.create(

           model="chatglm2-6b",

           messages=[

               {"role": "system", "content": ""},

               {"role": "user", "content": query}

               ],

           stream = True

           )

   response_time = time.time()

   print(f'请求耗时:{response_time - start_time:.2f} s')

   for i in response:

       t = time.time()

       if "content" in i.choices[0].delta:

           msg = i.choices[0].delta.content

           print(msg, end='', flush=True)

   print(f'\n总耗时: {t - start_time:.2f} s')

   print("===结束===")

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

请输入:讲一个笑话

请求耗时:0.00 s

下面是一个简短的笑话:

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

因为它们不接地啊!

总耗时: 0.67 s

===结束===

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


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1