# CH01 - Memulai dengan LangChain

**Perkiraan waktu belajar**: 0.5 Hari

**Tingkat kesulitan**: <mark style="color:green;">Mudah</mark>

## LangChain

LangChain adalah Framework yang Memanfaatkan Model Bahasa untuk Mengembangkan Berbagai Aplikasi

Framework ini memungkinkan model bahasa untuk melakukan fungsi-fungsi berikut:

Kemampuan Mengenali Konteks: LangChain menghubungkan model bahasa dengan berbagai sumber konteks, termasuk instruksi prompt, contoh-contoh kecil, dan konten berbasis respons. Dengan demikian, model bahasa dapat menghasilkan jawaban yang lebih akurat dan relevan berdasarkan informasi yang diberikan.

Kemampuan Menalar: Selain itu, model bahasa dapat menyimpulkan jawaban atau tindakan yang harus diambil berdasarkan konteks yang diberikan. Ini berarti bahwa model bahasa tidak hanya mereproduksi informasi, tetapi juga menganalisis situasi dan memberikan solusi yang tepat.

Dengan memanfaatkan LangChain, Anda dapat membuat aplikasi seperti pembuatan konten berbasis pencarian yang ditingkatkan (RAG), analisis data terstruktur, chatbot, dan lainnya.

Contoh-contoh lebih lanjut dapat Anda temukan di saluran YouTube TeddyNote.

## Instalasi

Versi Python yang disarankan adalah versi 3.11.

#### **Instalasi** **menggunakan** **pip**

```python
pip install -r https://raw.githubusercontent.com/teddylee777/langchain-kr/main/requirements.txt
```

#### **Versi mini untuk instalasi fitur minimal (jika hanya ingin menginstal beberapa paket saja)**

```python
pip install -r https://raw.githubusercontent.com/teddylee777/langchain-kr/main/requirements-mini.txt
```

## Konfigurasi

Framework ini terdiri dari beberapa bagian:

**Library LangChain**: Library Python dan JavaScript. Termasuk antarmuka dan integrasi komponen yang berbeda, runtime dasar yang menggabungkan komponen ini ke dalam rantai (chain) dan agen, serta implementasi rantai dan agen yang siap digunakan.

**LangChain Templates**: Kumpulan arsitektur referensi yang mudah diterapkan untuk berbagai tugas.

**LangServe**: Library untuk menerapkan rantai LangChain sebagai REST API.

**LangSmith**: Platform pengembang yang memungkinkan Anda untuk debug, menguji, mengevaluasi, dan memantau rantai yang dibangun di atas kerangka kerja LLM mana pun, dan terintegrasi secara mulus dengan LangChain.

**LangGraph**: Sebuah library untuk membangun aplikasi multi-aktor dengan status yang dapat dipertahankan menggunakan LLM, dibangun di atas LangChain dan dirancang untuk digunakan bersama LangChain. Menambahkan kemampuan untuk menyelaraskan beberapa rantai (atau aktor) dalam mode iteratif di berbagai langkah komputasi ke bahasa ekspresi LangChain.

## Kemudahan Pengembangan✨

**Perakitan dan Integrasi Komponen 🔧**

LangChain menyediakan alat dan integrasi yang dapat dirakit untuk bekerja dengan model bahasa. Komponen dirancang secara modular dan mudah digunakan, memungkinkan pengembang untuk memanfaatkan kerangka kerja LangChain dengan bebas.

**Out-of-the-box chains 🚀**

Menyediakan kombinasi bawaan dari komponen untuk melakukan tugas tingkat tinggi. Rantai ini menyederhanakan proses pengembangan dan meningkatkan kecepatannya.

## Modul Utama 📌

**Model I/O 📃**

Mencakup utilitas untuk manajemen prompt, optimasi, dan antarmuka umum dengan LLM.

**Penemuan 📚**

Modul ini berfokus pada 'pengayaan data', yang bertanggung jawab untuk mengambil data yang diperlukan dari sumber data eksternal selama tahap generasi.

**Agen 🤖**

Mencakup proses di mana model bahasa memutuskan tindakan apa yang akan diambil, melaksanakan tindakan tersebut, mengamati, dan mengulang jika diperlukan.

Dengan memanfaatkan LangChain, Anda dapat memulai pengembangan aplikasi berbasis model bahasa dengan lebih mudah, menyesuaikan fungsionalitas sesuai kebutuhan, dan mengintegrasikan berbagai sumber data untuk menangani tugas-tugas kompleks.





