マガジンのカバー画像

LangChain記事まとめ

46
大規模言語モデル(LLMs)を便利に扱えるライブラリLangChainに関する記事をまとめました。
運営しているクリエイター

2023年4月の記事一覧

第3回LangChainもくもく会開催レポート!第4回は5/11(木)開催予定

LangChainもくもく会もかれこれ3回目。今回もconnpass登録者76名と大盛況でした。みなさまご参加ありがとうございました! 前回はどちらかというとLangChain周辺の話にフォーカスがありましたが、今回は真面目にLangChainの差分コードを追いかける2時間でした。 今回のトピックス覚えている限りで話されていたトピックはコチラ(時間軸不同)↓ 毎日ローダーが追加されていくね(GitだったりSlackだったり) Anthropicって何?(→元OpenA

LangChainのv0.0.139からv0.0.151までの差分を整理(もくもく会向け)

本日は第3回目のLangChainもくもく会なので、前回4月13日に実施した回から本日までのLangChainの差分について整理しました。 ドタ参OKですので、ぜひお気軽にご参加くださいー。 v0.0.139 (2023.4.14)v0.0.140 (2023.4.16)v0.0.141 (2023.4.16)v0.0.142 (2023.4.18)v0.0.143 (2023.4.19)v0.0.144 (2023.4.19)v0.0.145 (2023.4.21)v0

LangChainの新機能Contextual Compression Retrieverを試す

Q&Aチャットボットのようなシステムを作成するとき、ユーザーの問い合わせに関連した情報をプロンプトに埋め込んで精度の高い回答を返す、といった仕組みはもはや一般的だと思います。 その上で、関連情報を取り出す仕組みとしてベクトルDBの利用が一般的になってきていますが、抽出した文章が必ずしも質問に対して適切な情報源になっているとは限らない可能性はあります。類似度から算出して似ていると評価されていても、文脈が違うケースもあったりするのではないでしょうか。 先日(4/21)追加され

【後編】LangChainによるGenerative Agents実装まとめ

前編はコチラ↓ 前回に引き続きGenerative Agentsです。今回はこちらのドキュメントの内容を中心に見ていきます。 ちなみにまだデモを見たことがない方はぜひデモをご覧下さい。 GenerativeAgentクラスの概要この実装で中心的な役割を果たしているのがGenerativeAgentクラスです。 class GenerativeAgent(BaseModel):    """A character with memory and innate chara

【前編】LangChainによるGenerative Agents実装まとめ

先週、LLM(GPT-3.5)によって固有の性格や属性を持たせた25人のAIエージェントによる小規模社会シミュレーションの実現を試みたGenerative Agents論文が話題になりました。 論文そのものの内容についてはteftefさんの以下の記事に詳しいため、あわせてご参考ください。 で、この論文内にあるリフレクションを踏まえた長時間記憶の実装のアイデアはかなり役に立ちそうだよね、というところで前回のLangChainもくもく会でも話題になっていたのですが、昨晩早速L

Q&Aチャットボット高品質化への道〜テキストの埋め込みベクトル変換における適切なチャンクデータ長を探る

そういえば先日のLangChainもくもく会でこんな質問があったのを思い出しました。 以前に紹介していた記事ではチャンク化をUnstructuredライブラリに任せていたので「このぐらいが良いよ」とハッキリとは言えなかったのですが、今日はこの問題について検証を交えながら考えてみたいと思います。 埋め込みベクトル化するデータ長の限界値そもそもで埋め込みベクトル化できるデータ長の限界値はどの程度なのでしょうか。OpenAIのドキュメントによると、OpenAIのtext-emb

第2回LangChainもくもく会開催レポート!第3回は4/28(金)開催予定

第1回に引き続き開催された第2回LangChainもくもく会。今回はconnpassでの参加登録者78名という前回から倍以上の規模での開催になりました。みなさま、ご参加ありがとうございました! 前回と同様、もくもく会場ではLangChainを肴にしたトークが繰り広げられておりまして、前半はnpakaさんと最近気になる話題のキャッチアップ、後半は「本をChatGPTで読むアレ、具体的にどう実装しているの?」ということで、実際にエディタ画面を共有しながらコードを説明する、みたい

LangChainのv0.0.126からv0.0.138までの差分を整理(もくもく会向け)

本日は第2回目のLangChainもくもく会なので、前回3月29日に実施した回から本日までのLangChainの差分について整理しました。 v0.0.126 (2023.3.30)v0.0.127 (2023.3.31)v0.0.128 (2023.4.1)v0.0.129 (2023.4.2)v0.0.130 (2023.4.4)v0.0.131 (2023.4.4)v0.0.132 (2023.4.5)v0.0.133 (2023.4.7)v0.0.134 (2023.

LangChainで対話型ロールプレイモデルCAMELを試す

「CAMEL(Communicative Agents for “Mind” Exploration of Large Scale Language Model Society)」という、言語モデル同士が対話を通して複雑なタスクを遂行していくエージェントモデルのモデル実装がLangChainのドキュメントに追加されていたので試してみました。 CAMELの問題意識は会話やチャットに基づく言語モデルの急速な進歩によって複雑なタスクをコンピューターが遂行できるようになったものの、

LangChainのプルリクエスト一覧からChatGPTに今後のライブラリの進化の方向性を分析してもらってみた

みんな大好きLangChainですが、イシューの数もプルリクエストの数も凄まじいものがあります。流石、勢いのあるライブラリ。 毎日ガンガンバージョンが上がって面白いなーと思う訳ですが、今後どんなアップデートがあるのかも何となく想定したいなと思うことがあります。 そんなわけで、プルリクのタイトル一覧を抜き出して雑にChatGPTに分析してもらったら何となくのライブラリの方向性が分かるのではないかと思い、試してみました。 プルリクエストの一覧を抜き出すまずはプルリクエストの

@mah_labが3月につくったモノのまとめ

3月はGPT-3.5(ChatGPT) APIの登場で一気に界隈が盛り上がりましたね! 私も祭りに乗じていろいろなものを作ってアップし続けていたので、3月のふりかえりとしてまとめてみました。 GPT-3.5(ChatGPT) API関連テキストデータ変換 GPTの代表的な用途としてテキスト要約がありますが、LlamaIndexのようなライブラリを活用した精度の高いテキスト要約が注目を集めていました。 ただ、要約タスクで言えばLlamaIndexを使うよりシンプルにma

OSSベクトルDBのChromaを使ってQ&AボットをLangChainで作成する

新興で勢いのあるベクトルDBにChromaというOSSがあり、オンメモリのベクトルDBとして気軽に試せます。 LangChainやLlamaIndexとのインテグレーションがウリのOSSですが、今回は単純にベクトルDBとして使う感じで試してみました。 データをChromaに登録する今回はLangChainのドキュメントをChromaに登録し、LangChainのQ&Aができるようなボットを作成しようと思います。 しかしLangChainのドキュメントはほとんどがJupy

ChatGPT風の画面を表示できるChatbot UIをFastAPIで作成した自作LangChainサーバに接続させる方法

ChatGPT風の画面を表示するOSSがいくつか出てきている中で、コードの読みやすさと操作性を比較した上でオススメしたいのが、Next.jsで書かれているChatbot UIというOSSだ。 ローカルでサクッと起動ができ、立ち上がるとこんな画面が表示される。 OpenAIのAPI Keyを入力すれば簡単にOpenAIのチャットモデルと接続される。API接続のChatGPTなので、本家のChatGPTよりはやりとりできる文字量が制限されるものの、本家のChatGPTではセン

RailwayにFastAPIで作成したAPIをデプロイする

FastAPIで作成したLangChainサーバーを気軽にデプロイできるとしたら、OSSで配布されているChatGPT UIと接続して好きなチャットエージェントと会話させることができるようになるだろう。 そんな訳で先日はAzure Functionsでtext/event-streamを返すような関数を作成できずに撃沈したが、より簡単にデプロイできる環境としてRailwayを試したので手順を紹介したい。 デプロイ手順デプロイするAPIは以下の記事で紹介したAPIだ。 サ