Ini adalah lapisan AWS Lambda yang menyediakan dependensi untuk paket OpenAI yang memungkinkan Anda untuk dengan mudah mengembangkan layanan OpenAI tanpa server, sangat mengurangi harga dan menghilangkan kompleksitas mengelola sendiri dependensi OpenAI sendiri.
Ini adalah zip layer pra-dibangun yang dapat dengan mudah Anda sebutkan ke AWS Lambda melalui konsol manajemen atau AWS CLI:
OpenAI 0.27.4 (Python 3.7)
Openai 0.27.4 (Python 3.8)
OpenAI 0.27.4 (Python 3.9)
Anda dapat membangun lapisan openai sendiri (membutuhkan Docker) dan mendapatkan versi terbaru dan menyesuaikan versi Python yang Anda bangun untuk:
$ cd openai-aws-lambda-layer
$ ./build/build.sh
# or specify Python version
$ ./build/build.sh 3.9Ini adalah contoh yang akan berfungsi untuk URL fungsi lambda atau API gateway, pastikan Anda mengaktifkan salah satunya sebelum menggunakan fungsi Anda. Ini juga disarankan untuk meningkatkan nilai batas waktu hingga minimal 30 detik dalam konfigurasi umum karena OpenAI belum cepat (belum). Setelah membuat lapisan menggunakan file zip di sini atau yang baru saja Anda bangun, salin dan tempel contoh di bawah ini di editor kode Lambda:
import openai
import json
import datetime
def query_completion ( prompt : str , engine : str = 'gpt-3.5-turbo' , temperature : float = 0.2 , max_tokens : int = 1500 , top_p : int = 1 , frequency_penalty : float = 0.2 , presence_penalty : float = 0 ) -> object :
"""
Function for querying GPT-3.5 Turbo.
"""
estimated_prompt_tokens = int ( len ( prompt . split ()) * 1.6 )
estimated_answer_tokens = 2049 - estimated_prompt_tokens
response = openai . ChatCompletion . create (
model = engine ,
messages = [{ "role" : "user" , "content" : prompt }],
temperature = temperature ,
max_tokens = min ( 4096 - estimated_prompt_tokens - 150 , max_tokens ),
top_p = top_p ,
frequency_penalty = frequency_penalty ,
presence_penalty = presence_penalty
)
return response
def lambda_handler ( event , context ):
'''Provide an event that contains the following keys:
- prompt: text of an open ai prompt
'''
openai . api_key = "YOUR_KEY_HERE"
print ( "Init:" )
print ( datetime . datetime . now ())
print ( "Event:" )
print ( event )
body = json . loads ( event [ 'body' ])
prompt = body [ 'prompt' ]
max_tokens = 1500
response = query_completion ( prompt )
response_text = response [ 'choices' ][ 0 ][ 'message' ][ 'content' ]. strip ()
response = {
"statusCode" : 200 ,
"headers" : {},
"body" : response_text
}
return responsePastikan Anda tidak lupa untuk memasukkan kunci openai Anda sendiri. Setelah fungsi digunakan, Anda dapat mengujinya dengan melakukan permintaan keriting seperti yang di bawah ini (ganti URL dengan URL fungsi Anda sendiri):
$ curl --request POST ' https://your.lambda-url.us-west-1.on.aws/ ' --header ' Content-Type: application/json ' --data-raw ' {"prompt": "Generate a paragraph about if deploying OpenAI on AWS Lambda makes sense"} 'Inilah tanggapan:
Menyebarkan OpenAi di AWS Lambda dapat menjadi langkah cerdas bagi bisnis yang ingin memanfaatkan kekuatan kecerdasan buatan tanpa berinvestasi dalam perangkat keras atau infrastruktur yang mahal. AWS Lambda adalah platform komputasi tanpa server yang memungkinkan pengembang menjalankan kode tanpa mengelola server. Ini berarti bahwa bisnis dapat dengan mudah menggunakan model OpenAI di AWS Lambda dan meningkatkan atau turun sesuai kebutuhan, tanpa khawatir tentang pemeliharaan server atau perencanaan kapasitas. Selain itu, AWS Lambda menawarkan harga bayar per penggunaan, yang berarti bahwa bisnis hanya membayar untuk sumber daya komputasi yang mereka gunakan, menjadikannya solusi yang hemat biaya untuk menggunakan model OpenAI. Secara keseluruhan, menggunakan OpenAi di AWS Lambda dapat membantu bisnis merampingkan inisiatif AI mereka dan mencapai waktu ke pasar yang lebih cepat dengan investasi minimal.