「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>LLM系ツール]]
--LangChain
--[[LangFlow]]

*目次 [#ga4258eb]
#contents

*概要 [#ua8663d6]
-LLMを自作プログラムと接続し、プロンプトチェーンを構成するツール。
-LLMクライアントであり、プロンプトに、Chat履歴を含めたり、[[RAG>LLMのRAG]]機能を追加したりするのに必要。

-私もLangChainの書籍を読み、そこからLLMのPEのレシピを抽出したが(→ [[LLMのPE]])、~
その後、単純にWebAPI経由でLLMを呼び出すだけの「Hello World」ならぬ「Hell World」で挫折。

-また、界隈のパッケージは破壊的変更を含み非常に速く変更されているので、ネットやGPTの情報が役に立たないケースが多い。

*詳細 [#u3cfafdb]

**問題 [#wdd0e98c]
-プログラマーが LLM をプログラムに簡単に統合できるようにする抽象化ラッパー
-物事をシンプルにするどころか、過剰な設計 / 依存性で、シンプルなものを相対的に複雑にしている。
--自分で簡単にできる簡単な問題を解決し、難しいことを支援する設計やアーキテクチャについてはあまり考慮していない。
--LangChainの「Hello World」は、[[OpenAI]]とほぼ同じコード量で不必要な多くのクラスを組み込む「Hell World」だ。

-一種のAIクックブックとして機能し、さまざまなタスクのレシピを提供したと言う業績はある。
-[[OpenAI]]や[[LlamaIndex]]がLangChainから学んだ機能をリリースしておりコレを代替できる。
-LangChainを[[LangFlow>#k3130395]]実装用のSDKと認識して、[[LangFlow>#k3130395]]ダケ使用すれば、過剰な設計 / 依存性の問題は解決する。

**プロダクト連携 [#m6ce7a92]
**連携 [#m6ce7a92]

***[[Ollama]] [#n697b0fa]
-from langchain_ollama.llms import OllamaLLM
-from langchain_community.llms import Ollama
-いずれも、base_url を指定して既定値を変更できる。

-参考
--別マシンの Ollama へのアクセス #ollama - Qiita~
https://qiita.com/7shi/items/65741fa8ab0a553f51be
--【Ollama】ローカル環境でLLMを選んでLangChainで実行する。~
https://zenn.dev/buenotheebiten/articles/7c351b06494be0

***[[LlamaIndex]] [#z831ea22]
BaseRetrieverを使用してRetrieverを[[LlamaIndex]]拡張する。

-参考
--LangChainでLlama Indexを使う #ChatGPT - Qiita~
https://qiita.com/tamyu/items/d4018572bfa7fb9d4393

**... [#u07cc28f]

*参考 [#v9a19d42]
-LangChain を使い始める | Harsh Bakshi 著 | Medium~
https://bakshiharsh55.medium.com/getting-started-with-langchain-9845f15f7505

-LangChainを使わない - ABEJA Tech Blog~
https://tech-blog.abeja.asia/entry/advent-2023-day13
--LangChain は LLM アプリケーションの開発に採用すべきではない~
https://zenn.dev/kurarrr/articles/c001548c981aca
--The Problem With LangChain | Max Woolf's Blog~
https://minimaxir.com/2023/07/langchain-problem/
--LangChain is Garbage Software~
https://analyticsindiamag.com/langchain-is-garbage-software/
--The Problem with LangChain | Hacker News~
https://news.ycombinator.com/item?id=36725982
--Langchain is pointless : LangChain~
https://www.reddit.com/r/LangChain/comments/13fcw36/langchain_is_pointless/?rdt=50988

-LangChain関係は、変化が激しくて、ネット上の「動かしてみました」サンプルは、大概古くて動かないなぁ・・・#langchain~
https://twitter.com/kamoyan/status/1844768568015044754

-LangChainを新環境で使おうとしたら詰みかけた話(2023年12月14日時点)|よーへん(バーチャル学芸員・バーチャルライブコーダ)~
https://note.com/361yohen/n/nd143959368aa

**公式 [#m17a7e90]
-langchain~
https://www.langchain.com/

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS