Deskripsi
magentic adalah pustaka Python yang dirancang untuk menyederhanakan integrasi Large Language Models (LLMs) ke dalam proyek Python Anda. Ini memberdayakan pengembang untuk memperlakukan interaksi LLM sebagai fungsi Python standar, memanfaatkan decorator seperti `@prompt` dan `@chatprompt` untuk mendefinisikan prompt dan menerima output terstruktur. Pendekatan ini memfasilitasi pembuatan sistem agentic yang canggih dengan memadukan kemampuan LLM secara mulus dengan kode Python yang ada dan alat eksternal.
Fungsi inti magentic berkisar pada decorator-nya, yang mengubah fungsi Python menjadi operasi yang didukung LLM. Decorator `@prompt` memungkinkan pembuatan fungsi yang menerima argumen, menyisipkannya ke dalam template prompt yang telah ditentukan, dan kemudian mengirimkannya ke LLM untuk diproses. Output dari LLM bisa berupa string sederhana atau objek terstruktur, seperti model Pydantic, berkat anotasi tipe. Decorator `@chatprompt` memperluas ini dengan memungkinkan penggunaan template pesan obrolan, termasuk pesan sistem, pesan pengguna, dan pesan asisten, yang sangat berguna untuk prompting sedikit contoh (few-shot prompting) dan memberikan konteks.
magentic mendukung fitur-fitur canggih seperti pemanggilan fungsi (function calling), di mana LLM dapat memutuskan untuk memanggil fungsi Python tertentu dengan argumen yang diberikan. Decorator `@prompt_chain` lebih meningkatkan ini dengan memungkinkan LLM untuk merangkai panggilan fungsi, menggunakan output dari satu panggilan sebagai input untuk panggilan berikutnya, hingga jawaban akhir tercapai. Untuk aplikasi real-time, magentic menawarkan kemampuan streaming untuk output teks dan terstruktur, memungkinkan pengembang memproses data saat dihasilkan. Pemrograman asinkron juga didukung penuh, memungkinkan kueri LLM bersamaan untuk secara signifikan mempercepat waktu generasi.
Pustaka ini membanggakan dukungan penyedia LLM yang luas, termasuk OpenAI, Anthropic, dan Ollama, dengan konfigurasi untuk berbagai API yang kompatibel dengan OpenAI. Fleksibilitas ini memungkinkan pengembang untuk memilih LLM yang paling sesuai dengan kebutuhan dan anggaran mereka. magentic juga menekankan pengalaman pengembang dengan fitur-fitur seperti anotasi tipe untuk integrasi IDE yang lebih baik dan observabilitas melalui integrasi OpenTelemetry dan Logfire. Ini dirancang untuk pengembang yang ingin membangun aplikasi cerdas, agen AI, dan alur kerja kompleks yang memanfaatkan kekuatan LLM dalam lingkungan Python yang familiar.
Fitur Inti magentic
Integrasikan LLM sebagai fungsi Python menggunakan decorator.
Definisikan prompt dengan @prompt dan pesan obrolan dengan @chatprompt.
Hasilkan output terstruktur menggunakan model Pydantic dan tipe Python.
Dukungan untuk percobaan ulang yang dibantu LLM untuk meningkatkan kepatuhan skema output.
Observabilitas dengan integrasi OpenTelemetry dan Pydantic Logfire.
Opsi konfigurasi untuk berbagai penyedia LLM (OpenAI, Anthropic, Ollama).
Pemanggilan fungsi dan perantaian untuk alur kerja LLM yang kompleks.
Streaming output teks dan terstruktur untuk pemrosesan real-time.
Dukungan fungsi asinkron untuk kueri LLM bersamaan.
Anotasi tipe untuk dukungan IDE dan linting yang ditingkatkan.
Dukungan untuk kemampuan visi dalam interaksi LLM.
Memulai dengan magentic
Kloning repositori: git clone https://github.com/jackmpcollins/magentic.git
Instal dependensi: pip install magentic
Konfigurasi kunci API LLM: Atur variabel lingkungan seperti OPENAI_API_KEY.
Definisikan fungsi LLM: Gunakan decorator @prompt atau @chatprompt.
Eksekusi fungsi LLM: Panggil fungsi Python yang didekorasi.
Integrasikan output: Gunakan output terstruktur atau data yang di-stream dalam aplikasi Anda.
Kasus Penggunaan magentic
- Pengembangan Agen AI
- Ekstraksi Data Terstruktur
- Pembuatan Konten
- Alur Kerja Otomatis
- Pengembangan Chatbot
- Integrasi Alat
- Bantuan Analisis Data








