赞
踩
最近我正在开发基于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、输出总耗时)
总代码如下:
- 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 © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。