LangChainのConversation Knowledge Graph Memoryを検証してみた

はじめに

LangChainの会話履歴を保存するMemory機能の1つであるConversation Knowledge Graph Memoryを検証してみました。LangChainのConversation Knowledge Graph Memoryの挙動を確認したい方におすすめです。

開発環境

  • Windows 11
  • Python 3.11.5
  • dotenv
  • LangChain
  • Azure OpenAI

実装

必要なパッケージのインストール

以下のコマンドで必要なパッケージをインストールします。

環境変数の設定と依存関係の読み込み

.envファイルを作成し、Azure Open AIの環境変数の設定をします。
ご自身の環境に合わせて設定してください。

.env

必要なライブラリをインポートします。

test.py

使用するモデルの準備

Azure Chat OpenAIを定義します。

test.py

プロンプトの定義

使用するプロンプトを定義します。プロンプトは、こちらのプロンプトをそのまま活用しています。

test.py

Conversation Knowledge Graph Memoryの定義

以下のようにConversation Knowledge Graph Memoryを定義します。
Conversation Knowledge Graph Memoryはナレッジグラフを使って記憶を再現します。
ナレッジグラフとは、さまざまな知識(ナレッジ)を体系的に連結し、グラフ構造で表した知識のネットワークのことです。

test.py

chainを作成し、実行

最後にchainを作成し、実行します。私自身の自己紹介を3問投げた後、4問目で私について知っていることを回答させました。

test.py

これまでのPythonコードを上から順に記述し終わったら、Pythonファイルを実行します。
実行結果は以下のようになりました。

「Relevant Information」に会話履歴からの情報が生成されています。
その情報を元にして、4問目は回答していることが分かります。

おわりに

LangChainの会話履歴を保存するMemory機能の1つであるConversation Knowledge Graph Memoryを検証してみました。文脈を考慮した回答を生成したい場合には、おすすめです。ぜひ、試してみてください。

最後までお読みいただき、ありがとうございました!

この記事を書いた人

azure-recipe-user