LangChainベースでLLMを使った超簡単なシステムを作った

aboy
·

生成AIを使ったシステムを作る筋肉を鍛えておきたくて、とりあえずLangChainベースの簡単なCLIを作ってみた。

キーワードを与えると、その説明を返してくれる簡単なCLIアプリケーション。LangChainベースで、LLMにはOpenAI APIを使いつつ、Agent (zero-shot-react-description)が必要に応じてDuckDuckGoを用いたWeb検索を行う。ユーザーに返す最終的なアウトプットは日本語に翻訳するというつくり。

こういったシステムを作るならPythonが最も優秀なんだろうけど、1行も書いたことがないので、Goで作った。LangChainベースのアプリケーションを作るにあたって、Go製の良さげなパッケージtmc/langchaingoを使うことでラクできた。

ただ知見がないためLangChainを正しく活用できているかは分からず、例えばAgentの活用と最終的なアウトプットの翻訳をどうChainさせればいいかあんまり分からなかった。

あとは、生成AIを組み込んだシステムの"安定性"をどう担保するのかが気になった。LLM API側のヘルス的な安定性のほか、理由はよく分からないけど生成されたテキストが解析できないエラーがたまに起こったり、英語 -> 日本語の翻訳がたまにうまくいかなかったりする。プロンプトエンジニアリングを頑張れば精度は上げられるんだろうけど、性質上どうしても不安定なので、リトライできるUIを用意するとかで不安定感を紛らわす工夫も必要なんだろうなと思った。

@aboy
青森でしずかに暮らしたい