Ai-Sentry adalah lapisan Fasad AI Generatif yang dapat dicolokkan berbasis python + DAPR transparan, dirancang untuk mendukung fitur-fitur berikut untuk perusahaan besar yang mengembangkan dan mengoperasikan solusi AI Generatif:
Tagihan silang kembali atas penggunaan token di berbagai konsumen openAI
Pencatatan log berbasis asinkron Permintaan/Respon dengan kemampuan untuk mengalihkan penghapusan informasi PII. Tingkat pencatatan ini berguna untuk banyak hal seperti kepatuhan hukum serta menilai dan memutar ulang permintaan/tanggapan terhadap model yang lebih baru untuk membantu Anda menangani peningkatan model tanpa memengaruhi pengguna yang ada.
Penyeimbangan beban yang lebih cerdas dengan mempertimbangkan metrik beban header respons Azure openAI dan pengumpulan multi backend dengan kemampuan model yang sama
Mendukung respons streaming dan non-streaming (termasuk pencatatannya)
Ekstensibilitas adaptor khusus untuk membantu Anda menangani penghentian SDK/API dari sisi klien - sehingga Anda dapat menyediakan kompatibilitas mundur jika diperlukan.
AI-Sentry tidak dirancang untuk menggantikan solusi API Gateway yang sudah ada seperti Azure APIM - melainkan dirancang untuk berada di antara API Gateway dan titik akhir openAI - memberikan kontrol penuh untuk solusi openAI Anda.
Kami mencoba melakukan pemrosesan berat di luar jalur panggilan HTTP langsung untuk meminimalkan latensi bagi konsumen dan mengandalkan mobil samping DAPR dan pola Pub/Sub untuk melakukan pekerjaan secara asinkron.
Karena AI-Sentry menggunakan DAPR; pilihan teknologi untuk persistensi log, dan perantara pesan dapat ditukar melalui komponen asli DAPR. Contoh kami menggunakan REDIS dan Event Hubs sebagai perantara pesan untuk PUB/SUB, dan CosmosDB sebagai penyimpanan persistensi Log.
Variabel lingkungan berikut harus ada. Cara Anda memasukkannya terserah Anda - yaitu rahasia Kubernetes, peta konfigurasi, dll...
Nama | Nilai | Komponen |
---|---|---|
AI-SENTRY-ENDPOINT-CONFIG | Contoh nilai JSON terletak di sini. Ini digunakan untuk memetakan titik akhir/penerapan openai - sehingga ketika kita melakukan penyeimbangan beban, kita mendapatkan sekelompok model openAI yang sama dari kumpulan. Pastikan untuk menyertakan /openai dalam konfigurasi url titik akhir Anda. Anda dapat memanfaatkan skrip berikut untuk membantu Anda menghasilkan string lolos JSON dari JSON ini. | Aplikasi Fasad |
AI-SENTRY-LANGUAGE-KEY | Kunci API Umum Congnitive Services Anda | Pekerja CosmosDB |
AI-SENTRY-LANGUAGE-ENDPOINT | analisis teks bahasa Anda atau url titik akhir layanan umum | Pekerja CosmosDB |
Apa pun yang Anda gunakan di depan AI-Sentry, misalnya Azure APIM, beberapa teknologi gateway API lainnya - Anda perlu menyediakan beberapa header HTTP wajib.
NAMA KEPALA HTTP | NILAI KEPALA HTTP |
---|---|
ai-penjaga-konsumen | ini bisa berupa string apa saja - digunakan untuk mewakili konsumen atau produk yang menggunakan backend ai generatif. Kami menggunakan ini untuk tujuan pencatatan |
tingkat log-penjaga-ai | Ini mengubah tingkat logging untuk konsumen sebenarnya. Nilai yang diterima adalah: COMPLETE, PII_STRIPPING_ENABLED atau DISABLED |
ai-penjaga-backend-pool | Berikan nama kumpulan dari konfigurasi AI-SENTRY-ENDPOINT-CONFIG. Misalnya Kolam1 |
ai-penjaga-adaptor | Berikan daftar nama adaptor yang ingin Anda jalankan sebelum mengirimkan permintaan ke titik akhir openai. Contoh: ["SampleApiRequestTransformer","adapter2..."] |
Untuk informasi lebih lanjut tentang menyiapkan AI-Sentry di lingkungan Anda, silakan ikuti bagian mendetail berikut.
Menyiapkan dbs/tabel CosmosDB
Menyiapkan AI-Penjaga di AKS
Skema Pencatatan CosmosDB
Skema Pencatatan Ringkasan
Menyiapkan identitas beban kerja - jika Anda ingin mengautentikasi backend openai melalui JWT, bukan kunci api
Untungnya kolega kami Graeme Foster telah menerbitkan versi dotnet dengan rangkaian fitur serupa. Silakan pergi dan periksa: https://github.com/microsoft/aicentral
Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda berhak, dan memang benar, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.opensource.microsoft.com.
Saat Anda mengirimkan permintaan tarik, bot CLA akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghiasi PR dengan tepat (misalnya, pemeriksaan status, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di seluruh repo menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi lebih lanjut lihat FAQ Pedoman Perilaku atau hubungi [email protected] jika ada pertanyaan atau komentar tambahan.
Proyek ini mungkin berisi merek dagang atau logo untuk proyek, produk, atau layanan. Penggunaan resmi atas merek dagang atau logo Microsoft tunduk dan harus mengikuti Pedoman Merek Dagang & Merek Microsoft. Penggunaan merek dagang atau logo Microsoft dalam versi modifikasi proyek ini tidak boleh menimbulkan kebingungan atau menyiratkan sponsor Microsoft. Segala penggunaan merek dagang atau logo pihak ketiga tunduk pada kebijakan pihak ketiga tersebut.