
2025.02.18
AIが「嘘のデータ」を返してしまう アルペンが生成AI導入で味わった失敗と、その教訓
リンクをコピー
記事をブックマーク
大嶋勇樹氏:(スライドを示して)というところで、最後少し駆け足になっちゃうかもしれませんが、5分ほどで簡単にLangChainの過去バージョンのドキュメントを見る方法を少し紹介できればと思います。
ウェビナーのチャットに、「やっぱりそういう仕組みだったのか」と書かれていたんですけど(笑)。そうですね。ソースを読むのは大事だし、リクエストのログまで見てあげると、明らかにわかりやすいので「openai.log = "debug"」とするのはけっこうおすすめです。APIキーとかは表示されないですね。
最後に、ちょっと駆け足になっちゃいますが、過去のバージョンのドキュメントを見る方法も見ていこうと思います。
(スライドを示して)やはりアップデートが激しいOSSを使う時は、該当バージョンのドキュメントを見ることがすごく重要です。
最新バージョンのドキュメントを見ていると、ドキュメントには載っている機能が使っているバージョンにはないことがよくあって、時間を溶かすことがどうしてもあります。使い方が違うのか、機能がないのか、そういうことがよくあります。しかもLangChainのドキュメントは0.0.203で、2、3週間前に大幅にアップデートされていて、けっこう見方が変わっています。
せっかくなので、大幅アップデートがかかる前のドキュメントを見えるようにして、「今のドキュメントとまあまあ違うな」というところを見ていこうと思います。
(画面を示して)ちなみに、今のドキュメントは「langchain document」と検索すると(その結果が)出てきますが、こんな見た目で検索欄がついて、AIにドキュメントの中を検索させることもできるようになっています。
なんですが、過去バージョンはドキュメントの見方が違うので、そのあたりを見ていければと思います。
まず、過去バージョンのドキュメントを見たいとなったら、ドキュメントに過去バージョンを見られるようになっているオープンソースもあるので、そういうのを探せれば(いい)と思いますが、LangChainは残念ながらそういうのはないんですね。過去バージョンが公式で見られるようになっていません。
ではどうするかというと、ソースコードと一緒にdocsがあって、「過去バージョンのドキュメントがたぶんここにあるだろうな」ということで見たいバージョンにURLを切り替えて……。見たいバージョンはドキュメントが大幅アップデートされる前、0.0.202としましたが、これでdocs以下を見ていきます。
すると、.rstとかが目につきます。この.rstは、reStructuredTextですね。これが直接ドキュメントになっているわけではなくて……。まぁ、なっていると言えばなっているんですが、これを基にHTMLを生成する有名なファイルの形式です。
なので、このバージョンのドキュメントを見ようと思ったら、たぶん何かビルドのコマンドを打たないといけないんだなということが推測されます。
この.rstはPythonのSphinxというツールでHTMLに変換してドキュメントとして公開するとか、(それは)よくやられる形式ですね。これはMakefileという、Makeというタスクランナーに使われたりするコンパイルの自動化に使われるツールの設定ファイルがあって、これでSphinxを動かすために設定されているようです。
あとは、LangChainのトップをもう1回見てみると、ここにもMakefileがあって、docs_buildというタスクが定義されています。
docs_buildというタスクが定義されているのを見ると、「確実にこれを打てばドキュメントがビルドされて見られるようになりそうだな」と察することができます。
もちろん物によってはドキュメントのビルド方法などがしっかりドキュメントに書かれているケースもあるし、LangChainのドキュメントもコントリビューター向けのガイドみたいなところに、ドキュメントのビルド方法が載っていたりはします。
(画面を示して)コントリビューター向けのガイドを見ると、「make docs_buildコマンドでビルドできますよ」と載っています。
ですが、こんな感じでソースコードを読んでビルド方法を察するようなことが求められたり。知りたいことを知ろうとすると、そういうことが必要な場合もあったりするという紹介です。
実際、この「make docs_build」というコマンドを打つと……。すみません、これはちょっと名前を変えていますが、LangChainのリポジトリをローカルに持ってきて、バージョンを切り替えて。ここで「make docs_build」と打ってあげると、ドキュメントが実際にビルドされます。
このコマンドは実行に時間がかかるので、事前にビルド済みのものを見ていきます。そうすると、docsディレクトリ以下に_buildというディレクトリができて、その下を見るとhtmlができています。その下にindex.htmlとかがあるので、「だいたいHTMLはこういう名付けをするよな」という想像で、これをopenコマンドで開いてみます。
(そうすると)こんな感じで過去のバージョンのドキュメントを見ることができます。これは0.0.202という、インターネット上にはもう公開されていないバージョンのドキュメントです。
現在のバージョンと違って、AIによる検索とかがまだ存在していないですね。実際にコマンドを打つと5分、10分(ほど)時間がかかるので、時間の関係でそこはやりませんでしたが。
ソースコードを読んで、手元に取ってきて、特定バージョンに切り替えて、関係するパッケージをインストールして……。説明しませんでしたが、関係するパッケージをインストールしてmake docs_buildと打つと、「過去のバージョンのドキュメントが見られそうだな」みたいなことを読み取ることもできます。
ビルド、実演まではやりませんでしたが、例えば「Make」や「Poetry」や「Sphinx」みたいなツールを知っていたりすると、LangChainの過去バージョンのドキュメントをビルドする方法も読み取ることができます。
Pythonのエコシステムや一般的なツールの知識をつけたりすると、LangChainや、そういう新技術のキャッチアップにも役立つかなと思います。
ということで、特に後半ちょっと駆け足でしたが、まとめます。
今日はソースコードリーディングのテーマとしていた、OpenAIのChat APIを「ちゃんと」使うことについて、ChainやAgentが「"role": "assistant"」をちゃんと使うような挙動になっているかは、注意が必要です。
プラス、それをわかるためには、「openai.log = "debug"」でリクエストの内容を表示してみるのもおすすめです。これもOpenAIのツールのドキュメントに書かれているわけじゃないので、ゆくゆくなくなる可能性がないわけではないですが、今の時点だとできます。
プラス、ソースコードリーディングについては、特殊メソッドや継承みたいな、Pythonの実践的な本じゃないと書いていないような知識も必要だったり、あとはPythonのエコシステムやMakeなどの一般的なツールの知識も役立つということを見ることができたかなと思います。オープンソースのソースコードリーディングはとても勉強になるので、ぜひみなさんも気軽に読んでもらえればと思います。
ということで、時間がだいぶギリギリになりましたが、いったん私からの発表を以上とします。
関連タグ:
大嶋勇樹氏が解説する「OpenAIの文書生成API」の基本 モデルの種類、APIの種類と違い、今使うべきもの
「chat(messages)」と「chat.predict」は同じ挙動を示すのか? ChatOpenAIクラスの2つの呼び出し方の互換性
「GitHub検索欄を使う」「定義から見る」「grepコマンドを使う」 「ソースコードを読む」以外のChatOpenAIクラスの見つけ方
LangChainの「Chain」や「Agent」を使う時は注意が必要 「Chat APIの形式を活かした実装かどうか」の確認方法
時間を溶かさないためにもLangChainの過去バージョンは確認しよう ネット上では公開されていないドキュメントの見つけ方
2025.02.13
“最近の新人は報連相をしない”という、管理職の他責思考 部下に対する「NG指示」から見る、認識のズレを防ぐコツ
2025.02.13
AIを使いこなせない人が直面する本当の課題 元マッキンゼー・赤羽雄二氏が“英語の情報”を追い続ける理由
2025.02.14
報連相ができない部下に対するコミュニケーションの取り方 「部下が悪い」で終わらせない、管理職のスキル向上のポイント
2025.02.12
マネージャーは「プレイング3割」が適切 チームの業績を上げるためのマネジメントと業務の比率
2025.02.13
上司からは丸投げ、部下からはハラスメント扱い、業務は増加…プレイングマネジャーを苦しめる「6つの圧力」とは
2025.02.12
何度言っても変わらない人への指示のポイント 相手が主体的に動き出す“お願い”の仕方
2025.02.13
「みんなで決めたから」を言い訳にして仲良しクラブで終わる組織 インパクトも多様性も両立させるソース原理
2025.02.06
すかいらーく創業者が、社長を辞めて75歳で再起業したわけ “あえて長居させるコーヒー店”の経営に込めるこだわり
2025.02.10
32歳で「すかいらーく」を創業、75歳で「高倉町珈琲」で再起業 「失敗したからすかいらーくができた」横川竟氏流の経営哲学
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
着想から2か月でローンチ!爆速で新規事業を立ち上げる方法
2025.01.21 - 2025.01.21
新人の報連相スキルはマネージメントで引きあげろ!~管理職の「他責思考」を排除~
2025.01.29 - 2025.01.29
【手放すTALK LIVE#45】人と組織のポテンシャルが継承されるソース原理 ~人と組織のポテンシャルが花開く「ソース原理」とは~
2024.12.09 - 2024.12.09
『これで採用はうまくいく』著者が語る、今こそ採用担当に届けたい「口説く」力のすべて
2024.11.29 - 2024.11.29
第20回エクゼクティブメンターイベント「今、「ひと」と組織が共創する〜働き方の未来へ」
2024.12.07 - 2024.12.07