Membangun aplikasi yang didukung LLM menggunakan LangChain

Halaman ini memperkenalkan cara membangun aplikasi yang didukung LLM menggunakan LangChain. Ringkasan di halaman ini ditautkan ke panduan prosedur di GitHub.

Apa itu LangChain?

LangChain adalah framework orkestrasi LLM yang membantu developer membangun aplikasi AI generatif atau alur kerja retrieval-augmented generation (RAG). Vertex AI menyediakan struktur, alat, dan komponen untuk menyederhanakan alur kerja LLM yang kompleks.

Untuk mengetahui informasi selengkapnya tentang LangChain, lihat halaman Google LangChain. Untuk mengetahui informasi selengkapnya tentang framework LangChain, lihat dokumentasi produk LangChain.

Komponen LangChain untuk Bigtable

Bigtable menawarkan antarmuka LangChain berikut:

Pelajari cara menggunakan LangChain dengan Panduan Memulai LangChain untuk Bigtable. Panduan memulai ini membuat aplikasi yang mengakses set data Film Netflix sehingga pengguna dapat berinteraksi dengan data film.

Penyimpanan vektor untuk Bigtable

Anda dapat menggunakan penyimpanan vektor untuk menyimpan dokumen teks beserta embedding vektor dan metadata lainnya dalam tabel Bigtable. Hal ini memungkinkan Anda:

  • Telusuri dokumen Anda dengan teknik seperti penelusuran kemiripan vektor atau penelusuran relevansi marginal maksimal (MMR).
  • Lakukan pemfilteran tambahan pada hasil penelusuran vektor dengan metadata dokumen.

Untuk mengetahui informasi selengkapnya, lihat topik Penyimpanan vektor LangChain.

Panduan prosedur penyimpanan vektor

Panduan Bigtable untuk penyimpanan vektor menunjukkan cara melakukan hal berikut:

  • Menginstal paket integrasi dan LangChain
  • Menyiapkan layanan penyematan
  • Membuat dan mengonfigurasi penyimpanan Bigtable
  • Menyesuaikan koneksi dan autentikasi
  • Buat kueri penyimpanan dengan algoritma kNN dan filter hasilnya menurut metadata dokumen

Penyimpanan nilai kunci untuk Bigtable

Bigtable menyediakan penyimpanan nilai kunci untuk LangChain dalam bentuk class ByteStore yang memungkinkan Anda menggunakan dokumen atau embedding yang disimpan sebagai objek byte. Pendekatan ini dapat membantu Anda mengurangi biaya dan latensi secara signifikan saat melakukan tugas seperti membuat cache dan mengindeks sematan untuk kueri berulang.

Untuk mengetahui informasi selengkapnya, lihat topik Penyimpanan nilai kunci LangChain.

Panduan prosedur penyimpanan nilai kunci

Panduan Bigtable untuk penyimpanan nilai kunci menunjukkan cara melakukan hal berikut:

  • Menginstal paket integrasi dan LangChain
  • Lakukan inisialisasi mesin dan tabel yang diperlukan
  • Menyesuaikan koneksi dan autentikasi
  • Cara menggunakan BigtableByteStore sebagai lapisan caching untuk embedding vektor

Pemuat dokumen untuk Bigtable

Pemuat dokumen menyimpan, memuat, dan menghapus objek Document LangChain. Misalnya, Anda dapat memuat data untuk diproses ke dalam embedding dan menyimpannya di penyimpanan vektor atau menggunakannya sebagai alat untuk memberikan konteks spesifik ke rantai.

Untuk memuat dokumen dari pemuat dokumen di Bigtable, gunakan class BigtableLoader. Metode BigtableLoader menampilkan satu atau beberapa dokumen dari tabel. Gunakan class BigtableSaver untuk menyimpan dan menghapus dokumen.

Untuk mengetahui informasi selengkapnya, lihat topik Pemuat Dokumen LangChain.

Panduan prosedur pemuat dokumen

Panduan Bigtable untuk pemuat dokumen menunjukkan cara melakukan hal berikut:

  • Menginstal paket integrasi dan LangChain
  • Memuat dokumen dari tabel
  • Menambahkan filter ke pemuat
  • Menyesuaikan koneksi dan autentikasi
  • Menyesuaikan Konstruksi dokumen dengan menentukan konten dan metadata pelanggan
  • Cara menggunakan dan menyesuaikan BigtableSaver untuk menyimpan dan menghapus dokumen

Histori pesan chat untuk Bigtable

Aplikasi tanya jawab memerlukan histori hal-hal yang diucapkan dalam percakapan untuk memberikan konteks aplikasi dalam menjawab pertanyaan lebih lanjut dari pengguna. Class ChatMessageHistory LangChain memungkinkan aplikasi menyimpan pesan dan mengambilnya saat diperlukan untuk merumuskan jawaban lebih lanjut. Pesan dapat berupa pertanyaan, jawaban, pernyataan, sapaan, atau teks lainnya yang diberikan pengguna atau aplikasi selama percakapan. ChatMessageHistory menyimpan setiap pesan dan merangkai pesan untuk setiap percakapan.

Bigtable memperluas class ini dengan BigtableChatMessageHistory.

Panduan prosedur histori pesan chat

Panduan Bigtable untuk histori pesan chat menunjukkan cara melakukan hal berikut:

  • Instal LangChain dan autentikasi ke Google Cloud
  • Menginisialisasi skema Bigtable
  • Inisialisasi class BigtableChatMessageHistory untuk menambahkan dan menghapus pesan
  • Menggunakan klien untuk menyesuaikan koneksi dan autentikasi