マガジンのカバー画像

LangChain記事まとめ

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

#ベクトルDB

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

@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