我正在尝试使用 OpenAI Python 库在 AWS 上使用 Lambda 函数流式传输 Open AI 的结果。对于调用模式,我有:RESPONSE_STREAM。并且,使用示例 provided for streaming ,我可以在函数日志中看到流式结果(下面缩写):
回应 空
函数日志 开始请求 ID:3e0148c3-1269-4e38-bd08-e29de5751f18 版本:$LATEST { “选择”:[ { “完成原因”:空, “索引”:0, “logprobs”:空, “文本”:“\n” } ], “创建”:1685755648, “id”:“cmpl-7NALANaR7eLwIMrXTYJVxBpk6tiZb”, “型号”:“文本-davinci-003”, “对象”:“文本完成” } { “选择”:[ { “完成原因”:空, “索引”:0, “logprobs”:空, “文本”:“\n” } ],....
但是,响应为空。我通过在浏览器中输入 URL 并通过 cURL 执行 get 请求来对此进行了测试:两者都以 null 响应。下面是我使用的确切代码(更改了 key ),但也可以在提供的链接上找到它:
import json
import openai
import boto3
def lambda_handler(event, context):
model_to_use = "text-davinci-003"
input_prompt="Write a sentence in 4 words."
openai.api_key = 'some-secret key'
response = openai.Completion.create(
model=model_to_use,
prompt=input_prompt,
temperature=0,
max_tokens=100,
top_p=1,
frequency_penalty=0.0,
presence_penalty=0.0,
stream=True
)
for chunk in response:
print(chunk)
最佳答案
您遇到了麻烦,因为 python 运行时当前不支持流响应。从 4/7/2023 AWS announcement of streaming responses :
Response streaming currently supports the Node.js 14.x and subsequent managed runtimes.
截至 2023 年 6 月 8 日,这仍然成立。
关于python - 使用 Python 流式传输来自 Lambda 函数的 OpenAI 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76394246/