16 poin oleh xguru 2023-07-16 | 4 komentar | Bagikan ke WhatsApp
  • LangChain: pustaka Python dan JavaScript yang berinteraksi dengan API GPT milik OpenAI untuk menghasilkan teks AI
    • Implementasi dari makalah ReAct, dan dikenal dapat meningkatkan kualitas teks keluaran LLM
    • Alur kerja ReAct sangat efektif terutama pada InstructGPT/text-davinci-003, tetapi biayanya mahal dan tidak mudah digunakan untuk proyek skala kecil
  • Seiring popularitasnya meningkat, LangChain menggalang pendanaan yang cukup besar meski tidak memiliki pendapatan tersendiri maupun rencana monetisasi
  • Bahkan sempat ingin digunakan di BuzzFeed untuk membuat chatbot
    • Karena LangChain adalah alat yang populer untuk RAG(Retrieval-Augemented Generation)
    • Namun, meski sudah diteliti cukup lama, hasilnya tetap tidak memuaskan. Bug-nya banyak dan kualitasnya juga kurang baik
    • Setelah kembali ke level yang lebih rendah dan mengembangkan sendiri secara langsung, hasilnya jauh lebih baik daripada LangChain
    • Setelah melihat kritik terhadap LangChain di Hacker News melalui tulisan "Membuat LangChain dalam 100 baris kode" beserta komentarnya, penulis menyadari bahwa bukan hanya dia yang merasakan hal ini
  • Masalah LangChain adalah ia menambahkan kompleksitas dan bias yang tidak perlu ke dalam ekosistem AI
    • Pemula yang ingin belajar cara berinteraksi dengan ChatGPT sebaiknya jangan pernah memulai dari LangChain
    • Contoh dan kodenya lebih rumit dibanding menggunakan pustaka Python resmi dari OpenAI
    • Prompt engineering di LangChain pada dasarnya hanya f-strings dengan langkah tambahan yang dipaksakan
    • Alur kerja agent dan fitur ingatan percakapan tidak terdokumentasi dengan baik sehingga membingungkan untuk digunakan
    • Fitur system prompt tidak terintegrasi dengan baik dengan alur kerja agent
    • Dokumentasi dan contoh-contohnya memiliki lebih banyak masalah daripada kelebihan, sehingga menyulitkan saat digunakan di dunia nyata
  • Agent LangChain menggunakan cara pemilihan tool yang khas melalui prompt engineering dan keluaran JSON
    • Perubahan pada struktur keluaran normal dapat membuat agent tidak berfungsi dan mungkin memerlukan penanganan kesalahan parsing
    • Chatbot dapat mengekstrak dan memformat resep dengan benar, tetapi keluarannya membosankan
    • Memang ada fitur agent dan chain kustom, tetapi hal ini justru membuat proses menjadi lebih kompleks
    • Dengan fungsi utilitas seperti text splitter dan vector store terintegrasi, LangChain membatasi pengguna agar hanya dapat memakai kode berbasis LangChain
  • LangChain menambah overhead dan kompleksitas pada sebagian besar use case yang populer
    • Tampaknya mengusung filosofi “it’s complicated, so it must be better!”
  • Penulis mengembangkan paket Python yang jauh lebih sederhana bernama simpleaichat sebagai alternatif LangChain
  • Ini bukan untuk mempromosikan simpleaichat, tetapi karena penulis khawatir pemula akan memilih LangChain

4 komentar

 
sungwoo 2023-07-18

Saya juga sempat menganalisis langchain, dan hasilnya saya sangat merasa bahwa ini sudah di-over-engineering.
http://swcho.github.io/blogs/2023-07-15-langchainjs-part-3

Sepertinya maknanya perlu dicari sebagai open source pertama yang mengangkat pertanyaan bagaimana menyusun ekosistem llm?.

Walaupun kegunaan langchain kurang baik, masalah yang ingin dipecahkan oleh langchain sendiri masih tetap ada.

 
ohyecloudy 2023-07-17

Sekarang GN+ juga masuk ke RSS ya. Terima kasih. @xguru, akan saya simak dengan baik.

 
xguru 2023-07-16

LangChain tidak ada artinya

Saya rasa ini adalah tulisan lanjutan dari artikel tersebut.
Max Woolf, penulis blog ini, sebelumnya mengkritik di kolom komentar artikel di atas bahwa LangChain benar-benar tidak berguna, lalu mengembangkan dan merilis alternatifnya yaitu simpleaichat.
Kali ini dia bahkan menerbitkan tulisan yang merangkum berbagai masalahnya.

 
GN⁺ 2023-07-16
Opini Hacker News
  • LangChain dinilai sebagai perangkat lunak sampah dan ada rencana untuk menulis ulang semuanya.
  • API pustaka Python telah ditambahkan ke alat CLI LLM sehingga pemanggilan model yang ringan menjadi memungkinkan.
  • LangChain dikritik karena tidak perlu sebagai lapisan perantara dan tidak meningkatkan pengalaman menulis kode.
  • Meski memiliki masalah, banyak pengguna tetap menganggap LangChain menyenangkan dan berguna untuk membangun dengan LLM.
  • LangChain menawarkan pemilih alat dan contoh yang menarik, tetapi kualitas kodenya kurang baik.
  • Artikel ini bersifat kritis dan dituduh merendahkan karya penulis aslinya.
  • LangChain berguna untuk mendapatkan ide dan membuat prototipe, tetapi sering kali lebih mudah mengimplementasikan semuanya sendiri.
  • Membuat prototipe dengan LangChain membantu memvalidasi ide sebelum menginvestasikan sumber daya penting.
  • Pendekatan alternatif yang menggunakan lambda over let over lambda diusulkan untuk mengimplementasikan fungsi serupa.