LangChainは、大規模言語モデル(LLM)を利用したサービス開発に有用なライブラリで、特に特定の要件を満たすために必要な機能を提供します。GPTだけでAIチャットサービスを開発するのが十分可能である一方、最新の検索結果を考慮に入れたAIの回答が必要な場合など、より高度な要件があるときにはLangChainが役立ちます。これはLangChainが「SerpApi」などの検索結果をAPIで返すサービスとLLMを組み合わせる機能や、特定のソースを参照したり、LLM同士のリレーション?機能を提供しているからです。

何はともあれインストール

pip install langchain

適当な参照用のファイル(results.txt)にはCPTは知らない情報を用意し後は以下。

from langchain.chat_models import ChatOpenAI
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
from langchain.indexes import VectorstoreIndexCreator
from langchain.indexes.vectorstore import VectorStoreIndexWrapper
from langchain.document_loaders import TextLoader

# ドキュメントローダーの初期化
loader = TextLoader('results.txt')
index: VectorStoreIndexWrapper = VectorstoreIndexCreator().from_loaders([loader])

query = "万屋物産について詳しく教えてちょ"
answer = index.query(query)
print(answer)

これだけで、results.txtを参照した回答をゲットすることができました。これが実現することにより、例えば企業のウェブサイトにLangChainを組み込むことで、会社情報を基にしたカスタマイズされた対話が可能となります。例えば、企業の歴史や製品情報などを提供したり、特定の問いに対する回答を生成するなど、具体的な情報を提供することができます。

OPEN AIは年内にファインチューニングに対応する予定ではあるものの、LangChainの多機能性がとても魅力的なので、しばらく色々触ってみて活用を探ってみようと思います。