fastgpt将/v1/chat/completions发送给one-api,然后one-api将其分发到下游的open-ai兼容API服务器。
在fastgpt的原始HTTP请求中,包含了Content-Length标头,但是one-api并没有使用这个标头,而是使用了Transfer-Encoding: chunked。
然而,text-generation-webui的open-ai兼容API服务器的实现中,/app/extensions/openai/script.py需要依赖于这个Content-Length标头。因此,text-generation-webui在收到/v1/chat/completions后会报错。
def do_POST(self):
debug_msg(self.requestline)
debug_msg(self.headers)
content_length = int(self.headers['Content-Length'])
body = json.loads(self.rfile.read(content_length).decode('utf-8'))
请问为什么one-api使用Transfer-Encoding: chunked?
谢谢!
1条答案
按热度按时间pod7payv1#
stream 模式下本身就要用 chunked