ChatGLM-6B
ChatGLM-6B copied to clipboard
[Feature] ChatGLM-6B self host API
Is your feature request related to a problem? Please describe.
No response
Solutions
基于现有 ChatGLM-6B 项目,开了一个利用 fastapi 建立私有 API 的项目 ChatGLM-6B-API,希望后面能够利用 API 开展类似 ChatGPT API 的各种应用
Additional context
No response
是否支持流式输出呢
@xzqiaochu 目前还不支持 这两天我研究一下怎么搞
我找到了一种控制台流式输出的方法,在 #78
@xzqiaochu 厉害了!这两天我适配一下
有个给GPT-3.5写的,可以流式输出的项目,https://github.com/Chanzhaoyu/chatgpt-web 如果适配这个的前端就很棒啦
@xzqiaochu 我也想能适配这种 可是目前技术还不太够搞定这个😭
我建了个支持流式的仓库, API跟openai类似, openai的应用可以无缝接入: #204 目前精力有限只适配了ChatGLM, 要是能多些人适配其他社区模型就好了
@josStorer 我在Github也找到一个ChatGLM的API实现,兼容了OpenAI的GPT-3.5请求格式 https://github.com/TylunasLi/ChatGLM-web-stream-demo
@xzqiaochu 我看了下这个功能性上比我的更完善, 我的实际上只实现了 chat/completions 的参数和返回一致, 并且没给显存清理
不过他的API并不是兼容的, 官方API通过body指定stream参数控制是否流式, 以及可以设定max_tokens, 消息部分的数组是带有role和content的键值对构成的对象, 而这个项目传递对话消息是一个单纯的字符串数组 我的仓库支持这些内容, API上更加一致一些
我的项目起初是为了给我开发的一个openai api的应用使用, 为了避免写额外的适配代码, 我做成了兼容的形式, 并且后续我在使用的时候, 就是直接把openai调用的代码复制过来, 改个路径和返回json的取值就能直接用, 更方便各类应用无成本接入GLM, 这方面应该是我的API兼容性更强一些 (自吹自擂一波 😂)
我在 原ChatGLM-web-stream-demo的基础上简单修改了一下,可以兼容ChatGPT API并流式增量输出。https://github.com/didiniao/ChatGLM-web-stream-demo
可以通过PR把项目链接加到友情链接中