![見出し画像](https://assets.st-note.com/production/uploads/images/119180627/rectangle_large_type_2_c6752a572558950e0c8c0b6eabec4620.jpeg?width=1200)
LangChainの書籍を読みました
導入
↑の本を著者の吉田 真吾さんに献本いただいたので、一足早く読んでみました
前提として、僕のLangChainレベルは
IVSのhackathonのためにLLMアプリケーションをつくりために入門し、
momento関連ライブラリのコードを読んでみたり
ちょっとしたcontributeを積んでみたり
くらいなので、完全に初めましての状態ではないところから読んでみました
本書の構成
まず、1~3章は大規模言語モデル(以降、LLM)のここ最近の隆盛の話から、火付け役ともなったChatGPTについて記載されています
次の4, 5章でメイントピックであるLangChainについて、フレームワークの基本構成や簡単な使い方から、実践的な活用方法について記載されています
続く6~8章でLangChainを用いたサンプルアプリケーションのハンズオン的な実装について一緒に進められるようになっています
残る9章で、LangChainなどを用いたLLMアプリケーションを本番運用していくためのガイドについて触れられています
個人的よかったポイント
一通り読んで、個人的に良い!と思ったポイントです
曖昧な理解で進みがちな点についてもきちんと説明してくれる
例えば、世に出ている知見や事例を見ると、LLM、ChatGPT、OpenAI API、GPT4、その他言語モデルあたりの定義がごちゃごちゃしているものが多いなと感じており、その辺りの理解が曖昧なままLLMアプリケーションの実装をやってみた系に突き進んでいるものが散見されるなという印象を持ってしまいます
一方で難しいのが、この辺の概念を綺麗に整理してから、さぁ触ってみましょうみたいな構成にしちゃうと、面白みが薄れるというか、焦らされる感じがして、今まさに動くLLMに触れたくてうずうずしている人たちには物足りないだろうなぁと
この本がいいなと思ったところは、まず触れるところから(最初はChatGPTアプリから)触ってみて、概念に触れたところで付随する説明がちゃんとあって、また新しい概念(OpenAI APIとか)に触れて、というステップで冒頭3章くらいが進んでいくので、これから学ぼうとしている人たちに、飽きさせず、かつ正しい知識を教えてくれる構成だなぁと思い、素敵だなと感じました
発売日時点での新しい概念もきちんと取り入れられている
正直、今LLM関連の本を出すのは結構リスキーだと思っています
LangChainは週に10もバージョン上がるし、毎週のようにOpenAIが衝撃的なアップデート入れてくるし、、、1年後にはかなり古い知識になってしまっているだろうなと
ただ、この激動の過渡期だからこそ、何かの記事で齧った知識を継ぎ接ぎしていくのではなく、体系的な知識を入れておくことが重要だと思います。そうするとこの後訪れるいろんなアップデートも比較的すんなりと理解できるだろうなと
その上でこの本は、発売される2023/10時点でホットなトピックについてきちんと触れられているのが好印象でした
例えばLangChainのコードで実験的な機能と安定的に提供する機能についてリポジトリ内でレイヤが分かれた話とか(columnで触れられていました)
流行りのRAGについての丁寧な説明、LangSmithの活用など、出版のタイムラグはあるとはいえ今知っておくべき重要な要素について割と網羅的に触れられていて、向こうN年くらい現役でいける本じゃないかなぁと思います
(それでもこの界隈は進化が早すぎるので、読むならマジで今読んだ方がいいです)
便利な3rd partyのSaaSとの連携例も充実している
momento cacheやPineconeといった、OpenAI APIやLangChainだけでは補完できない機能を提供してくれている外部サービスについても、実装ハンズオンの中で触れられていて、より実践的なアプリケーションの実装にそのまま活用できる事例が並んでいるなと思いました
例えば、LangChainとOpenAI APIだけでは、会話に記憶を持たせることは難しいし、RAGを実装する際に検索対象として追加で読み込ませるドキュメントをどこかに格納しないといけなかったり、実践的なLLMアプリケーションを作るには追加で知らないといけないことが多く、そこまで網羅して触れてくれているので、ハンズオンの後、実際に自分たちでつくりたいアプリケーションにそのまま応用できるものが多いのではないかと思います
本番でLLMアプリケーションを公開・運用する知見が書かれている
僕は9章に書かれている「LLMアプリの本番リリースに向けて」が一番楽しみだったと言っても過言ではありません
何らかのLLMアプリケーションを作ってみた方ならわかるかと思いますが、何となく動くものを作るハードルは月を重ねるごとにどんどん低くなってきていると感じます
一方で、世の中に公開して人に使ってもらえる品質のLLMアプリケーションを作るには、世の中に知見やガイドラインも少なく、セキュリティやら法律やら非機能要件やらいろんなことをゼロベースで模索していかないといけないのが現状かなと
この本は第9章を丸々使って、LLMアプリケーションを本番公開するための性能評価、テスト、セキュリティ、法令対応などなど・・それぞれめちゃくちゃ詳しく書いているわけではないですが、何を調べればいいのかのとっかかりになる情報を広く記載してくれているので、きっとこれからアプリを公開したい人にとっていい指針になってくれると思います
まとめ
昨今のLLMブームに乗っかって、毎日のようにLLM関連の本(主にChatGPTの本)が世に出ていて、時代を感じますね
この本はChatGPTの使い方をなんとなく知りたいという層に向けたものではなく、OpenAI APIから、LangChainから、Pineconeやらmomentoやらの外部サービスから、あらゆるものを使い倒して世の中に自分だけのLLMアプリケーションをリリースする流れを加速する本だと思います
ぜひビッグウェーブに乗って、LangChainを使ったアプリケーションを作ってみましょう!
あとLangChainにもcontributeしてみましょう!