簡體   English   中英

使用 Python 從 Lambda function 流式傳輸 OpenAI 結果

[英]Streaming OpenAI results from a Lambda function using Python

我正在嘗試使用 OpenAI Python 庫在 AWS 上使用 Lambda function 從 Open AI 獲得 stream 結果。 對於調用模式,我有:RESPONSE_STREAM。 並且,使用為 streaming 提供的示例,我可以在 Function 日志(縮寫如下)中看到流式處理結果:

回復 null

Function 日志開始 RequestId:3e0148c3-1269-4e38-bd08-e29de5751f18 版本:$LATEST { “選擇”:[ { “finish_reason”:null,“索引”:0,“logprobs”:8863412539 188, "文字": "\n " } ], "created": 1685755648, "id": "cmpl-7NALANaR7eLwIMrXTYJVxBpk6tiZb", "model": "text-davinci-003", "object": "text_completion" } { "choices": [ { "finish_reason" : null, “index”: 0, “logprobs”: null, “text”: “\n” } ],....

但是,響應是 null。我通過在瀏覽器中輸入 URL 並通過 cURL 執行獲取請求來測試它:兩者都以 null 響應。下面是我使用的確切代碼(密鑰已更改),但是它也可以在提供的鏈接上找到:

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 運行時當前不支持流式響應。 從 2023 年 4 月 7 日開始,AWS 發布流式響應公告

響應流目前支持 Node.js 14.x 和后續托管運行時。

截至 2023 年 6 月 8 日,這仍然是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM