AI Generatif yang Luar Biasa Bertemu Bahasa Pemrograman Julia
Panduan komprehensif untuk proyek dan sumber daya AI generatif di/untuk/terkait dengan Julia.
Julia adalah bahasa dinamis tingkat tinggi dan berkinerja tinggi untuk komputasi teknis.
AI generatif mencakup algoritma dan model yang memanfaatkan pembelajaran mesin skala besar untuk menghasilkan konten baru (di banyak modalitas), mengotomatiskan, memahami, menguraikan, mengekstrak dan banyak lagi, beradaptasi dengan berbagai aplikasi di luar pembuatan konten belaka.
Isi
- Proyek AI Generatif dan Julia
- Model
- API SDKS
- Penyedia Model
- Penyedia layanan cloud
- Database vektor
- DBMS tujuan umum dengan dukungan indeks vektor
- Paket
- Paket JLL
- Tolok ukur/perbandingan
- Aplikasi/Produk
- Tutorial/Pembelajaran
- Menyebutkan yang patut diperhatikan
- Penyebaran lokal
- AI generatif - generasi sebelumnya
- Proyek Python yang harus diketahui
- Daftar luar biasa lainnya
Proyek AI Generatif dan Julia
- Organisasi Juliagenai - Organisasi GitHub dan komunitas pengembang dan peneliti Julia yang bekerja pada AI generatif.
Model
Membangun, melatih, dan menggunakan model bahasa besar (dan modalitas lainnya) di Julia.
- Flux.jl - Flux adalah perpustakaan pembelajaran mesin untuk Julia yang fleksibel dan memungkinkan model membangun model yang kompleks. Namun, pada saat penulisan, saya tidak mengetahui adanya model bahasa besar (LLM) yang telah diimplementasikan dan dilatih dalam fluks.
- Transformers.jl-Transformers.jl adalah paket Julia yang menyediakan API tingkat tinggi untuk menggunakan model transformator pra-terlatih. Ini juga memungkinkan untuk mengunduh model apa pun dari Hugging Face Hub dengan string makro
@hgf_str . - Pickle.jl - Paket hebat untuk memuat bobot pytorch ke Julia (jika Anda ingin menerapkan model sendiri).
- Bytepairencoding.jl - Pure Julia Implementasi algoritma encoding pair byte (BPE). Ini digunakan oleh transformers.jl untuk tokenize teks.
- Llama2.jl - llama2.jl menyediakan kode sederhana untuk inferensi dan pelatihan model bahasa berbasis Llama2 berdasarkan llama2.c. Ini mendukung pemuatan bobot terkuantisasi dalam format GGUF (varian
q4_K_S ). Proyek serupa lainnya: languageModels.jl - Llama.jl - Julia Interface ke llama.cpp, perpustakaan C/C ++ untuk menjalankan model bahasa secara lokal. Mendukung berbagai model.
- Whisper.jl - Julia Interface to Whisper.cpp, inferensi kinerja tinggi dalam C/C ++ dari model Openai's Whisper ucapan ucapan otomatis (ASR).
API SDKS
Penyedia Model
Akses model AI generatif melalui API resmi.
- Openai.jl - Pembungkus Julia yang dipelihara oleh komunitas ke Openai API.
Penyedia layanan cloud
Akses model AI generatif melalui SDK dari penyedia layanan cloud populer.
- Googlecloud.jl - SDK untuk Google Cloud. Ada PR terbuka untuk mengaktifkan titik akhir vertex AI.
- GoogleGenai.jl - Pembungkus tidak resmi untuk API Google Gemini.
Database vektor
- Pinecone.jl - SDK untuk database vektor pinecone.io.
DBMS tujuan umum dengan dukungan indeks vektor
| Nama | Klien Julia | Contoh penggunaan |
|---|
| Elasticsearch | ElasticsearchClient.jl | Gptseachplugin dengan elasticsearch |
| OpenSearch | ElasticsearchClient.jl | Gptseachplugin dengan OpenSearch |
| PostgreSQL + PGVector | Libpq.jl | Contoh PGVektor untuk Julia |
Paket
- Replgpt.jl - membawa antarmuka chatgpt sebagai mode Julia Rept.
- Helpgpt.jl - Memanggil chatgpt untuk menjelaskan kesalahan dalam kode Julia.
- Gengpt3.jl - Fungsi generatif gen.jl yang membungkus API OpenAI.
- PromptingTools.jl - Membantu dengan aplikasi sehari -hari dari model bahasa besar di Julia dengan membungkus API yang akan datang, menggunakan kembali petunjuk melalui templat, dan memungkinkan transisi mudah antara berbagai penyedia model (misalnya, OpenAi, Ollama). (Penafian: Saya penulis paket ini.)
- Llmtextanalysis.jl - Leverage model bahasa besar untuk mengungkap, mengevaluasi, dan memberi label tema/konsep/spektrum dalam koleksi dokumen besar. (Penafian: Saya penulis paket ini.)
- AIHELPME.JL - Bantuan kode AI yang ditingkatkan dengan memanfaatkan dokumentasi paket (pengambilan generasi augmented). Dilengkapi pra-paket untuk paket Julia umum, tetapi dapat digunakan untuk paket apa pun.
- AIHELPUI.JL - Antarmuka grafis berbasis web untuk Aihelpme.jl dibangun di atas Stipple.jl.
- Protoportal.jl-Antarmuka grafis berbasis web untuk compaTingTools.jl dengan templat dan fungsionalitas ekstra prompt (eksekusi kode Julia dan pengikat otomatis, meta-promptting, auto-kritik, entri ucapan-ke-teks). Mirip dengan chatgpt tetapi diarahkan pada Julia.
Paket JLL
JLL adalah pustaka prebuilt dan executable untuk dengan mudah menginstal dan memanggil proyek non-Julia (misalnya, C/C ++). Seringkali mereka adalah langkah pertama menuju paket Julia dengan antarmuka idiomatik.
- llama_cpp_jll.jl - paket jll untuk llama.cpp, antarmuka terbaik untuk model gaya llama2 kuantisasi.
Tolok ukur/perbandingan
- Julia LLM Leaderboard - Perbandingan kemampuan generasi bahasa Julia dari berbagai model bahasa besar di berbagai tugas. Kunjungi jika Anda ingin membantu memilih model yang tepat untuk aplikasi Anda.
- Humaneval.jl - Versi Julia dari Openai/Human -Eval. Ini menulis ulang masalah Python asli ke dalam versi Julia dan memberikan hasil evaluasi dengan beberapa LLM terbaru.
Aplikasi/Produk
Aplikasi dan produk yang "berfungsi" dengan bahasa Julia.
- GitHub Copilot - Saran inline yang sangat baik dengan bantuan model OpenAI. Ini bekerja sangat baik dengan bahasa Julia untuk tugas berulang satu baris pada satu waktu, tetapi potongan kode yang lebih besar jarang benar.
- Codium.AI - Plugin IDE atau VSCode yang hebat untuk analisis kode, saran dan pembuatan suite uji. Meskipun tes ditulis lebih dalam gaya pytest daripada julia idiomatik. Ini memiliki tingkat gratis.
- Replit - Replit's Rept ditenagai oleh model in -house yang mendukung bahasa Julia.
- Codeium - Alternatif gratis untuk gitub kopilot dengan ekstensi untuk sebagian besar editor.
- Kursor - IDE alternatif berdasarkan vScode dengan penyelesaian dan saran kode bertenaga AI. Ini bekerja sangat baik dengan bahasa Julia.
Aplikasi dan produk yang berafiliasi dengan Julia menggunakan LLMS
- Juliahub Askai - Askai adalah aplikasi juliahub (pengambilan augmented generasi) yang memungkinkan pengguna untuk mengajukan pertanyaan tentang bahasa Julia dan ekosistemnya. Ini gratis, tetapi Anda harus masuk ke Juliahub untuk menggunakannya.
- Genie UI Assistant - Genie UI Assistant adalah pembangun UI bertenaga GPT -4 membantu pengguna Genie.jl membuat UI lebih cepat menggunakan bahasa alami.
- COMIND - Jejaring sosial, pesan, dan antarmuka LLM yang dibangun di Julia.
Ruang tunggu
Proyek -proyek baru yang masih menunggu untuk membuktikan diri dan mengumpulkan cukup bintang.
- FlashRank.jl - Peringkat dokumen cepat dan lokal dengan model yang dapat berjalan di komputer mana pun (berbasis CPU). Berdasarkan Flashrank Python.
- SEMANTICCACHES.JL - Caching yang lebih cerdas untuk aplikasi Genai dengan model embedding kecil - mengurangi latensi, satu permintaan pada satu waktu.
- Spehulak.jl - Platform Observabilitas Genai untuk men -debug panggilan LLM Anda. Sepenuhnya terintegrasi dengan promptingtools.jl.
Yang belum dirilis, eksperimental tetapi fungsional:
- MILVUS.JL - Implementasi minimal dan tidak resmi klien Milvus VectordB untuk Julia.
Proyek yang diarsipkan
- Gptcodingtools.jl - Alat pembuatan kode untuk bahasa Julia dengan templat prompt yang berguna dan fitur penyembuhan diri (ALA OpenAI Code Interpreter). Itu berhasil, tetapi pengembangan telah ditinggalkan. (Penafian: Saya penulis paket ini.)
Tutorial/Pembelajaran
- Tutorial untuk menggunakan LLMS dengan Transformers.jl - Tutorial singkat tentang cara menggunakan Transformers.jl untuk mengakses LLM dari hub HuggingFace.
- Membangun chatbot kain di atas DataFrames.jl Dokumentasi - Panduan Hands -On - Panduan Langsung Tentang Cara Membangun Chatbot Rag Lebih Dokumentasi DataFRames.jl Menggunakan hanya dependensi minimal.
- Tugas Mini Genai: Mengekstraksi Data Dari (.*)? Tidak terlihat lagi! - Tutorial tentang ekstraksi data terstruktur. Bagian dari serangkaian tutorial yang lebih besar tentang tugas -tugas kecil yang dapat dilakukan dengan Genai.
- Tiny Binary Rag - penyelaman dalam yang sangat baik pada pencarian semantik ("R" dalam kain). Ini menampilkan bahwa dengan 100 baris Julia, Anda dapat mencari potongan 15m (~ ukuran wikipedia) dalam <20ms.
Menyebutkan yang patut diperhatikan
Beberapa proyek di bawah ini belum tentu menyebutkan Julia, tetapi patut dicatat dalam ruang AI generatif dan menarik bagi pengembang Julia.
Penyebaran lokal
- Ollama - Pilihan terbaik bagi mereka yang ingin meng -host model bahasa besar secara lokal. Cukup mulai server dan kirim permintaan dengan http.jl.
- LM Studio - Aplikasi desktop untuk hosting dan berinteraksi dengan LLM secara lokal. Ini adalah pilihan yang bagus untuk mereka yang ingin menggunakan LLMS tanpa coding. Ini gratis untuk penggunaan pribadi .
AI generatif - generasi sebelumnya
- GenerativeModels.jl - Perpustakaan yang berguna untuk melatih model generatif yang lebih tradisional seperti VAE. Ini dibangun di atas Flux.jl.
### utilitas yang bermanfaat
- Stipple.jl - Untuk membangun aplikasi data interaktif di Julia murni (bagian dari Genie.jl Ecosystem). Sangat baik untuk membangun antarmuka berbasis web untuk aplikasi Genai.
- Taro.jl - Parser yang kuat untuk berbagai jenis dokumen (Interop to Java). Sangat berguna untuk aplikasi pembuatan generasi pengambilan (RAG).
Proyek Python yang harus diketahui
Python berada di ujung tombak revolusi AI generatif. Untungnya, kami memiliki pythoncall.jl yang memungkinkan kami untuk dengan mudah memanggil semua paket Python di bawah ini.
- HuggingFace Transformers - Perpustakaan paling populer untuk mengakses LLM dan model lainnya. Ini sebagian besar dapat digunakan melalui transformers.jl (lihat di atas).
- Langchain - Pilihan terbaik untuk membangun aplikasi di atas LLMS (misalnya, rantai, agen). Ini memiliki banyak adaptor untuk model umum, database, dan layanan lainnya.
- Llama Index - Mirip dengan Langchain tetapi dengan fokus pada aplikasi yang berpusat pada data seperti Rag.
- Instruktur - Kerangka kerja ekstraksi terstruktur sederhana namun kuat di atas API OpenAI. Sangat baik untuk memahami kekuatan fungsi memanggil API bersama dengan Pydantic.
- Marvin - Blok bangunan yang kuat untuk dengan cepat membangun aplikasi AI dan mengeksposnya melalui API siap -produksi.
- Buka Interpreter - Biarkan LLMS menjalankan kode di komputer Anda (misalnya, Python, Javascript, Shell, dan banyak lagi). Alternatif lokal sumber terbuka untuk penerjemah kode openai.
Daftar luar biasa lainnya
- AI Generatif yang Luar Biasa - Daftar Hebat Untuk Semua Hal AI Generatif. Inspirasi untuk daftar ini!