نحوه راه اندازی پروکسی معکوس OpenAI با Nginx
OpenAI، یک رهبر مشهور در تحقیقات هوش مصنوعی، API را ارائه می دهد که به توسعه دهندگان امکان می دهد از مدل های زبان قدرتمند خود استفاده کنند. این مقاله راهنمای گام به گام راهاندازی پروکسی معکوس OpenAI با Nginx در دستگاه اوبونتو 22.04 با یک زیر دامنه و Let’s Encrypt SSL رایگان ارائه میکند. این راهاندازی به شما امکان میدهد قابلیتهای هوش مصنوعی را به طور مؤثر در برنامههای خود مانند Janitor AI، Venus AI و موارد دیگر ادغام کنید.
همچنین بررسی کنید: نحوه راه اندازی پروکسی معکوس OpenAI با Docker در صورت در آغوش گرفتن
مزایای یک پروکسی معکوس OpenAI
پراکسی معکوس OpenAI در ترکیب با Nginx دارای مزایایی است که در زیر ذکر شده است:
- عملکرد: با پیکربندی یک پراکسی معکوس، میتوانید پاسخهای OpenAI API را در حافظه پنهان ذخیره کنید، تأخیر را کاهش دهید و عملکرد کلی کاربران خود را بهبود بخشید.
- مقیاسپذیری: پروکسی معکوس بهعنوان واسطه بین برنامه شما و OpenAI API عمل میکند و به شما امکان میدهد تا یکپارچهسازی هوش مصنوعی خود را مقیاسبندی کنید.
- امنیت: یک پروکسی معکوس میتواند با محافظت از کلیدهای حساس API و محافظت از زیرساختهای پشتیبان شما در برابر دسترسی مستقیم خارجی، یک لایه امنیتی اضافی اضافه کند.
اجازه دهید شروع به پیکربندی پروکسی معکوس OpenAI با Nginx کنیم.
پیش نیازها
- دستگاهی با توزیع لینوکس با IP خارجی که بتوانیم زیر دامنه را پیکربندی کرده و SSL را نصب کنیم.
- کاربری با امتیازات
sudo
یا دسترسیroot
.
تنظیم اولیه
با بهروزرسانی بستهها به آخرین نسخه موجود شروع کنید.
بهروزرسانی sudo apt
sudo apt upgrade -y
Nginx را برای پروکسی معکوس OpenAI نصب کنید
شما می توانید Nginx را به راحتی با یک دستور نصب کنید.
sudo apt install nginx
نصب nginx را با استفاده از دستور زیر تأیید کنید.
وضعیت سرویس sudo nginx
خروجی وضعیت Nginx (فعال یا ناموفق) را خواهید دید.
پیکربندی پروکسی معکوس OpenAI با Nginx
اکنون باید پیکربندی پیشفرض Nginx را که با نصب Nginx ارسال شده است حذف کنید.
sudo rm -rf /etc/nginx/sites-enabled/default
sudo rm -rf /etc/nginx/sites-available/default
یک پیکربندی جدید برای پروکسی معکوس OpenAI ایجاد کنید.
یک فایل جدید در فهرست Nginx sites-available
ایجاد کنید.
سودو نانو /etc/nginx/sites-available/reverse-proxy.conf
کل تنظیمات فهرست شده در زیر را در ویرایشگر کپی کنید.
حتما موارد ذکر شده در زیر را جایگزین کنید.
- OPENAI_API_KEY با کلیدی که از پلتفرم OpenAI دریافت میکنید.
- YOUR_DOMAIN_NAME با نام دامنه شما.
proxy_ssl_server_name on;
سرور {
گوش کن 80;
server_name YOUR_DOMAIN_NAME;
proxy_set_header میزبان api.openai.com;
proxy_http_version 1.1;
proxy_set_header میزبان $host;
proxy_busy_buffers_size 512k;
proxy_buffers 4 512k;
proxy_buffer_size 256k;
مکان ~* ^/v1/((موتورهای/.+/)؟(?:chat/completions|کاملها|ویرایشها|تدبیر|پاسخها|جاسازیها))$ {
proxy_pass https://api.openai.com;
مجوز proxy_set_header "Bearer OPENAI_API_KEY";
proxy_set_header Content-Type "application/json";
اتصال proxy_set_header '';
client_body_buffer_size 4m;
}
}
برای ذخیره و خروج از ویرایشگر، CTRL + X
و سپس ENTER
را فشار دهید.
پیکربندی Nginx جدید ایجاد شده را فعال کنید.
پیکربندی کش پروکسی (اختیاری)
در صورت نیاز میتوانید حافظه پنهان را برای عملکرد پیکربندی کنید. فقط باید کد بالا را که اضافه کردیم با کد زیر جایگزین کنید.
proxy_ssl_server_name on;
proxy_cache_path /server_cache level=1:2 keys_zone=openai_cache:10m max_size=1g inactive=4d use_temp_path=off;
log_format cache_log '$remote_addr - $remote_user [$time_local]'
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'حافظه پنهان: $upstream_cache_status';
سرور {
گوش کن 80;
server_name YOUR_DOMAIN_NAME;
proxy_set_header میزبان api.openai.com;
proxy_http_version 1.1;
proxy_set_header میزبان $host;
proxy_busy_buffers_size 512k;
proxy_buffers 4 512k;
proxy_buffer_size 256k;
مکان ~* ^/v1/((موتورهای/.+/)؟(?:chat/completions|کاملها|ویرایشها|تدبیر|پاسخها|جاسازیها))$ {
proxy_pass https://api.openai.com;
مجوز proxy_set_header "Bearer OPENAI_API_KEY";
proxy_set_header Content-Type "application/json";
اتصال proxy_set_header '';
proxy_cache openai_cache;
proxy_cache_methods POST;
proxy_cache_key "$request_method|$request_uri|$request_body";
proxy_cache_valid 200 4d;
proxy_cache_valid 404 1m;
proxy_read_timeout 8m;
خطای proxy_cache_use_stale در حال بهروزرسانی http_500 http_502 http_503 http_504;
proxy_cache_background_update on;
proxy_cache_lock روشن است.
access_log /dev/stdout cache_log;
proxy_ignore_headers Cache-Control;
add_header X-Cache-Status $upstream_cache_status;
client_body_buffer_size 4m;
}
}
پیکربندی Nginx را برای پروکسی معکوس OpenAI فعال کنید
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
پیکربندی Nginx را آزمایش کنید.
sudo nginx -t
برای اعمال تغییرات، Nginx را مجددا راه اندازی کنید.
همچنین بخوانید: نحوه راه اندازی و استفاده از Janitor AI API با OpenAI Reverse Proxy
تنظیمات را با SSL رایگان ایمن کنید
اکنون ما Let’s Encrypt SSL رایگان را نصب می کنیم و درخواست های شما را ایمن می کنیم.
Certbot را با استفاده از دستور زیر نصب کنید.
sudo apt install python3-certbot-nginx
اکنون می توانید SSL را با استفاده از دستور certbot
نصب کنید.
حتماً ایمیل و نام دامنه خود را با ایمیلهای واقعی جایگزین کنید.
مهم: دامنه شما باید به آدرس IP سرور شما اشاره کند، در غیر این صورت نصب SSL ناموفق خواهد بود.
sudo certbot --nginx --redirect --no-eff-email --agree-to-tos -m [ایمیل محافظت شده] -d yourdomain.com
اکنون SSL را برای خود نصب خواهید کرد.
تأیید پروکسی معکوس OpenAI با Nginx
اکنون سرور Nginx خود را برای کار با OpenAI API پیکربندی کرده اید. برای آزمایش اینکه آیا این کار می کند، می توانید آدرس اینترنتی را با v1/chat/completions
تشکیل دهید.
اینها برخی از نقاط پایانی فهرست شده در زیر هستند.
- پست
/v1/chat/completions
- POST
/v1/completions
- POST
/v1/edits
- POST
/v1/embeddings
- POST
/v1/moderations
- POST
/v1/answers
اگر درخواست هایی را به نقطه پایانی مورد نیاز ارسال کنید، طبق درخواست پاسخ را دریافت خواهید کرد.
نتیجه گیری
همین! شما با موفقیت یک پروکسی معکوس OpenAI API را با استفاده از Nginx در اوبونتو 22.04 راه اندازی کردید. شما همچنین SSL را نصب و پیکربندی کردهاید تا اقدامات امنیتی را برای محافظت از کلید API و درخواستهایتان انجام دهد.