openai api sdk 返回sse数据流
时间: 2023-11-15 13:04:34 浏览: 135
OpenAI API SDK 提供了一个异步请求方法 `create_completion_stream()`,它可以返回一个 SSE (Server-Sent Events) 数据流。这个方法可以用于长时间运行的模型生成任务,例如 OpenAI 的 GPT-3 模型。
以下是使用 OpenAI API SDK 返回 SSE 数据流的示例代码:
```python
import openai
import json
openai.api_key = "YOUR_API_KEY"
async def generate_sse():
async with openai.api_client() as client:
prompt = "Once upon a time"
response = await client.completions.create_completion_stream(
engine="davinci",
prompt=prompt,
max_tokens=50,
n=1,
temperature=0.5,
stream=True,
)
async for line in response.content:
data = json.loads(line)
if "text" in data:
print(data["text"])
```
在上面的示例中,我们使用了 `create_completion_stream()` 方法,并传递了一些参数,例如引擎名称、prompt、max_tokens、n 和 temperature。最后我们将 `stream` 参数设置为 `True`,以获取 SSE 数据流。
然后使用 `async for` 循环读取 SSE 数据流中的每一行数据。我们将数据解析为 JSON 对象,并检查其中是否包含“text”字段。如果包含,则打印出来。
阅读全文