Implementasi tumpukan penuh React + AWS tanpa server dari contoh aplikasi yang ditemukan dalam dokumentasi API OpenAI resmi. Lihat diagram arsitektur sistem ini untuk detailnya. Ini adalah alat pengajaran untuk saluran YouTube "Tumpukan penuh dengan Lawrence" dan untuk kursus University of British Columbia, "Implementasi Teknologi Cloud Kecerdasan Buatan".
Bekerja dengan lingkungan Linux, Windows dan MacOS.
Verifikasi Persyaratan Proyek: Akun AWS dan Akses CLI, Terraform, Python 3.11, NPM dan Docker Compose.
Tinjau dan edit file konfigurasi master terraform.
make dan tambahkan kredensial Anda ke file .env yang baru dibuat di root repo.
Inisialisasi, bangun, dan jalankan aplikasi.
git clone https://github.com/FullStackWithLawrence/aws-openai.git
make # scaffold a .env file in the root of the repo
make init # initialize Terraform, Python virtual environment and NPM
make build # deploy AWS cloud infrastructure, build ReactJS web app
make run # run the web app locally in your dev environment Lengkap API OpenAI : Menyebarkan API siap-produksi untuk mengintegrasikan ke serangkaian layanan lengkap Openai, termasuk ChatGTP, Dall · E, Whisper, dan TTS.
Integrasi Langchain : Titik akhir API sederhana untuk membangun konteks-sadar, aplikasi penalaran dengan abstraksi fleksibel Langchain dan toolkit AI-first. Gunakan titik akhir ini untuk mengembangkan berbagai aplikasi, dari chatbots hingga sistem pertanyaan.
Dynamic ChatGPT Prompting : Template terraform sederhana untuk membuat chatbots yang sangat presonalisasi. Program dan Kulit Aplikasi Obrolan Kustom Anda Sendiri Dalam Menit.
Panggilan fungsi : Fitur integrasi paling canggih di Openai hingga saat ini. Panggilan fungsi API OpenAI adalah fitur yang memungkinkan pengembang untuk mengintegrasikan fungsi Python khusus mereka sendiri ke dalam pemrosesan respons obrolan. Misalnya, ketika chatbot yang ditenagai oleh model GPT-3 OpenAI menghasilkan respons, ia dapat menyebut fungsi Python khusus ini untuk melakukan tugas atau perhitungan tertentu, dan kemudian memasukkan hasil fungsi-fungsi ini dalam tanggapannya. Fitur yang kuat ini dapat digunakan untuk membuat chatbot yang lebih dinamis dan interaktif yang dapat melakukan tugas-tugas seperti mengambil data waktu nyata, melakukan perhitungan, atau berinteraksi dengan API atau layanan lain. Lihat Kode Sumber Python untuk dokumentasi dan contoh tambahan, termasuk, "get_current_weather ()" dari dokumentasi API Openai resmi
Plugin Panggilan Fungsi : Kami membuat model "plugin" berbasis YAML kami sendiri. Lihat contoh plugin ini dan dokumentasi ini untuk detailnya, atau coba di situs langsung ini. Templat YAML dapat disimpan secara lokal atau disajikan dari ember AWS S3 yang aman. Anda akan menemukan set plugin contoh yang menyenangkan di sini.
Kode dan dokumentasi sumber lengkap terletak di sini.
React App yang memanfaatkan vite.js, @chatscope/chat-ui-kit-react, dan react-pro-sideebar.
Dokumentasi lengkap terletak di sini. Kode Python terletak di sini
API REST yang menerapkan masing -masing dari 30 contoh aplikasi dari dokumentasi API OpenAI resmi menggunakan pendekatan terraform yang dimodulus. Memanfaatkan rangkaian model AI Openai, termasuk GPT-3.5, GPT-4, Dall · E, Whisper, Embeddings, dan Moderation.
.env dan terraform.tfvars .Persyaratan opsional:
Dokumentasi terperinci untuk setiap titik akhir tersedia di sini: dokumentasi
Untuk mendapatkan dukungan masyarakat, buka halaman masalah resmi untuk proyek ini.
Proyek ini menunjukkan berbagai praktik terbaik pengkodean yang baik untuk mengelola layanan mikro berbasis cloud yang kritis pada lingkungan tim, yaitu kepatuhannya terhadap metodologi 12-faktor. Silakan lihat praktik terbaik manajemen kode ini untuk detail tambahan.
Kami ingin membuat proyek ini lebih mudah diakses oleh siswa dan pelajar sebagai alat pengajaran sambil tidak menambahkan beban kerja tinjauan kode yang tidak semestinya kepada siapa pun yang memiliki otoritas gabungan untuk proyek tersebut. Untuk tujuan ini kami juga telah menambahkan beberapa alat penegakan hukum dan kode pra-komit, serta prosedur otomatis untuk pemeliharaan versi dependensi paket, evaluasi permintaan tarik, dan rilis semantik.
Kami menyambut kontribusi! Ada berbagai cara bagi Anda untuk terlibat, terlepas dari latar belakang Anda. Selain permintaan menarik, proyek ini akan mendapat manfaat dari kontributor yang berfokus pada dokumentasi dan penciptaan, pengujian, keterlibatan masyarakat, dan pelayan untuk membantu kami memastikan bahwa kami mematuhi standar yang berkembang untuk penggunaan etis AI.
Untuk pengembang, silakan lihat:
Anda juga dapat menghubungi Lawrence McDaniel secara langsung. Komposisi Kode pada Feb-2024:
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 29 732 722 2663
HCL 30 352 714 2353
Markdown 52 779 6 2344
YAML 23 112 149 1437
JavaScript 39 114 127 1088
JSX 6 45 47 858
CSS 5 32 14 180
make 1 27 30 120
Text 6 13 0 117
INI 2 15 0 70
HTML 2 1 0 65
Jupyter Notebook 1 0 186 48
Bourne Shell 5 17 55 47
TOML 1 1 0 23
Dockerfile 1 4 4 5
-------------------------------------------------------------------------------
SUM: 203 2,244 2,054 11,418
-------------------------------------------------------------------------------