如何将来自请求的文本流转换为 IOBytes 对象?

How can I convert a text stream coming in from a request to an IOBytes object?

提问人:skidjoe 提问时间:11/9/2023 最后编辑:relent95skidjoe 更新时间:11/9/2023 访问量:33

问:

我正在使用一个 API,在其中我使用以下代码块发送和接收以流形式传入的请求(我正在托管一个流式传输文本输出的 LLM):

def get_streaming_response(response: requests.Response) -> Iterable[List[str]]:
    for chunk in response.iter_lines(chunk_size=8192,
                                     decode_unicode=False,
                                     delimiter=b"\0"):
        if chunk:
            data = json.loads(chunk.decode("utf-8"))
            output = data["text"]
            yield output


def get_response(response: requests.Response) -> List[str]:
    data = json.loads(response.content)
    output = data["text"]
    return output

这是我如何获取输出的示例:

prompt = "Hey, how are you?"
response = post_http_request(prompt, api_url, n, stream) 

#This keeps printing new words at every 
for h in get_streaming_response(response):
    for i, line in enumerate(h):
        print(line)

我现在正在尝试将流式传输到对象中的输出,以便可以将其流式传输到 TTS API。关于我该如何去做,有什么建议吗?io.BytesIO()

Python

评论

0赞 relent95 11/9/2023
这是不具体的。发布一个最小的可重现示例,其中包含 TTS API 的存根模块,显示 TTS API 接口。此外,不要添加不相关的标签。您的问题不依赖于数据源,因此它与请求库或 JSON 无关。

答: 暂无答案