![見出し画像](https://assets.st-note.com/production/uploads/images/99187235/rectangle_large_type_2_10f8521821d245de038326fb3b602c92.png?width=800)
LangChain のデバッグツール Tracing を試す
「LangChain」のデバッグツール「Tracing」を試したので、まとめました。
・LangChain 0.0.96
・Python 3.9
1. Tracing
「Tracing」は、「LangChain」のデバッグツールです。チェーンとエージェントをツリー構造で可視化することができます。「Tracing」はDockerで提供されています。
![](https://assets.st-note.com/img/1677639260351-vVC4qqMzBf.png?width=800)
2. Tracingの起動
今回はDockerが必要なので、「Google Colab」でなくローカルで実行します。
(1) Dockerのインストール。
(2) Pythonの仮想環境 で「langchain」をインストール。
$ pip install langchain
(3) 「langchain-server」を起動。
Dockerが起動してる状態で実行してください。
$ langchain-server
成功すると、「Tracing」のURLが表示されます。
➜ Local: http://localhost:4173/
(4) ブラウザで表示されたURLを開く。
セッション一覧が表示されます。「セッション」は、トレースをグループ化したものになります。
![](https://assets.st-note.com/img/1677639623842-44h0a5PDjU.png?width=800)
(5) 「Session default」をクリック。
セッション情報が表示されます。まだ何も実行されてません。
![](https://assets.st-note.com/img/1677639719348-z2Dj7HC9KH.png?width=800)
3. LangChainの実行
Jupyter NotebookでLangChainを実行します。
(1) Pythonの仮想環境 で「Jupyter Notebook」のインストール。
$ pip install notebook
(2) 「Jupyter Notebook」の起動。
$ jupyter notebook
(3) 「New → Python 3」でPythonのノートブックを作成。
![](https://assets.st-note.com/img/1677640043562-Cq5MBr0hIN.png?width=800)
(4) パッケージのインストール。
# パッケージのインストール
!pip install langchain
!pip install openai
(3) 環境変数の準備。
「LANGCHAIN_HANDLER」は、トレースを使用する環境を指定しています。 <OpenAI_APIのトークン> にはOpenAI APIのトークンを指定します。(有料)
import os
os.environ["OPENAI_API_KEY"] = "<OpenAI_APIのトークン>"
os.environ["LANGCHAIN_HANDLER"] = "langchain"
(4) 動作確認用にエージェントを実行。
ツール「llm-math」を持つエージェントを作成し、「2の.123243乗は?」と質問してます。
import langchain
from langchain.agents import Tool, initialize_agent, load_tools
from langchain.llms import OpenAI
# エージェントの準備
llm=OpenAI(temperature=0)
agent = initialize_agent(
tools= load_tools(["llm-math"], llm=llm),
llm=llm,
agent="zero-shot-react-description",
verbose=True
)
# エージェントの実行
agent.run("2の.123243乗は?")
> Entering new AgentExecutor chain...
I need to calculate the power of a number
Action: Calculator
Action Input: 2^.123243
Observation: Answer: 1.0891804557407723
Thought:
Retrying langchain.llms.openai.BaseOpenAI.completion_with_retry.<locals>._completion_with_retry in 4.0 seconds as it raised Timeout: Request timed out: HTTPSConnectionPool(host='api.openai.com', port=443): Read timed out. (read timeout=600).
I now know the final answer
Final Answer: 1.0891804557407723
> Finished chain.
'1.0891804557407723'
4. トレース結果の確認
「Tracing」のセッション情報に戻り、ブラウザを更新すると、トレース結果を確認できます。
![](https://assets.st-note.com/img/1677640357752-2wsvsjsJC9.png?width=800)
「Explore」で、チェーンやLLMごとの情報を確認できます。
![](https://assets.st-note.com/img/1677640483772-ZJErqhtZRa.png?width=800)
この記事が気に入ったらサポートをしてみませんか?