Mempelajari llms dan genai untuk Dev,Sec,Ops
Tentang apa repo ini?
Repo ini bertujuan untuk menyusun berbagai informasi tentang LLM dan GenAi dalam narasi pembelajaran yang mudah dipahami oleh rekayasa perangkat lunak tradisional. Ini menyoroti aspek-aspek yang perlu Anda pahami dari perspektif pengembangan, operasi, dan keamanan. Meskipun ada banyak materi di luar sana, saya mendapati diri saya menjelaskan hal yang sama berulang kali dan mengembangkan sebuah narasi.
Pelajarannya sebagian besar didasarkan pada kerangka Langchain dan mengharapkan sedikit keakraban dengan bahasa pemrograman Python. Banyak contoh yang dipinjam dari halaman dokumentasi dan atribusi diberikan jika memungkinkan. Kudos to Langchain untuk koleksi begitu banyak materi!
Ikhtisar pelajaran
Pengembang
- Memanggil LLM sederhana menggunakan OpenAI
- Melihat debugging di Langchain
- Mengobrol dengan OpenAI sebagai model
- Menggunakan template cepat
- Penggunaan Docloader untuk membaca file lokal Anda dan mempersiapkannya untuk LLM
- Jelaskan perhitungan dan penggunaan embeddings
- Pahami pentingnya pemisahan dan pengelompokan
- Memuat embeddings dan dokumen dalam database vektor
- Gunakan rantai Tanya Jawab untuk menerapkan pola RAG (Retrieval Augmented Generation)
- Tunjukkan penggunaan dokumentasi OpenAI agar llm menghasilkan panggilan guna menemukan informasi waktu nyata
- Menerapkan Agen dan menyediakan alat untuk mendapatkan lebih banyak informasi real-time
Operasi
- Cari tahu berapa banyak token yang Anda gunakan dan biayanya
- Cara menyimpan panggilan Anda ke LLM menggunakan pencocokan atau penyematan yang tepat
- Cara menyimpan perhitungan embeddings dalam cache dan menjalankan perhitungan secara lokal
- Jalankan LLM lokal Anda sendiri (menggunakan Ollama)
- Lacak panggilan Anda dan catat ke file (menggunakan pengendali panggilan balik)
- Terapkan struktur keluaran (sebagai JSON) dan minta LLM mencoba lagi jika tidak benar
Keamanan
- Jelaskan 10 teratas OWASP untuk LLMS
- Tunjukkan cara kerja injeksi cepat yang sederhana dan beberapa strategi mitigasi
- Cara mendeteksi injeksi cepat menggunakan model pihak ketiga dari Hugginface
- Deteksi injeksi proyek dengan menggunakan prompt
- Periksa jawaban yang diberikan oleh saya dan renungkan apakah itu oke
- Gunakan model pelukan untuk mendeteksi apakah keluaran LLM beracun
- Tampilkan perintah sederhana untuk menanyakan pendapat llm tentang kerentanan Kubernetes dan Trivy
Langsung masuk https://github.com/jedi4ever/learning-llms-and-genai-for-dev-sec-ops/tree/main/lessons Akan ada lebih banyak lagi!
Sejarah repo ini
- Struktur pembelajaran awal dibentuk selama hackaton GenAI yang diselenggarakan dengan baik oleh Techstrong/MediaOps
- Pembelajaran tersebut disempurnakan untuk presentasi di grup London Devops Meetup.
- Yang lain membuat rencana untuk menjalankan versi mereka sendiri
Bagaimana Anda bisa membantu?
Beri tahu kami topik pelajaran apa yang ingin Anda lihat? Buka masalah github untuk menanyakannya
Kirimkan pelajaran baru, kirimkan koreksi dll.. untuk memperbaikinya.
Jalankan pertemuan/hackaton Anda sendiri menggunakan repo ini sebagai basis dan laporkan kembali! Kami senang mendengar cerita itu, kirimkan gambar atau video kepada kami!
Kirim tweet terima kasih ke @patrickdebois
Persyaratan untuk menjalankan repo ini (membutuhkan lebih banyak perhatian)
Jalankan menggunakan devcontainer
Proyek ini berisi devcontainer untuk menjalankan repo secara lokal. Atau Anda dapat menggunakan kolaborasi Google atau lebih untuk menjalankan buku catatan
Jalankan secara lokal
- Kami menggunakan Microsoft VSCode untuk menjalankan demo
- Kami menjalankan notebook python & jupyter secara lokal
- Kami menggunakan puisi sebagai manajer python env virtual kami
Puisi adalah manajer paket baru di blok ini. Mirip dengan Conda atau Pip dengan venv.
poetry init
poetry install --no-root
konfigurasikan vscode untuk menggunakan puisi
- instal python 3.11 (sebagian besar contoh berfungsi dengan 3.12) dengan pyenv
- dapatkan jalur pyenv
pyenv which python
- atur puisi versi pyton
poetry env use <the python binary path from pyenv>
- temukan puisi env path
poetry env info --path
- dalam
view -> command pallete -> python: select interpreter -> enter interpreter path
- tambahkan path
/Users/patrick.debois/Library/Caches/pypoetry/virtualenvs/london-devops-VW7lFx7f-py3.11
+ tambahkan /bin/python to it
-
poetry add ipykernel
konfigurasikan notebook jupyter
- instal plugin vscode
- instal ipykernel
log perubahan
- Versi 0.1 dengan sintaks langchain awal
- Versi 0.2 disesuaikan dengan langchain-community baru, langchain-openai dan sintaksis baru