Open5
LangChainの全体感を知る

イマココ

全体間を知りたいスコープ は、~/path/to/repository/langchain/libs/langchain/langchain
配下
*
つけたやつ中心に見ようかな(RAGは一旦あと回し)
.
├── _api
├── adapters
├── *agents
├── callbacks
├── *chains
├── chat_loaders
├── *chat_models
├── cli
├── docstore
├── document_loaders
├── document_transformers
├── embeddings # 予想:RAGのembedding周り?
├── evaluation
├── globals
├── graphs
├── indexes
├── *llms # 予想:LLMの個別実装?
├── load
├── *memory # 予想:会話履歴保持のためのMemory機能
├── output_parsers
├── *prompts
├── pydantic_v1
├── retrievers # 予想:RAGの検索周り?
├── runnables
├── *schema
├── smith
├── *storage
├── tools
├── utilities
├── utils
└── vectorstores # 予想:RAGのstorage周り?

基本はこんな感じ

Chain
Abstract base class for creating structured sequences of calls to components.
stuructured sequencesのinterfaceを提供している。
Chain interfaceは以下を提供している
- Stateful: 任意のチェーンにメモリを追加できる
- Observable: チェーンにコールバックを渡して、コンポーネント呼び出しのメインシーケンス外で、ログなどの追加の機能を実行できる
- Composable(コンポーザブル): チェーンAPIは柔軟性があり、他のコンポーネント、他のチェーンを含む、さまざまな要素と簡単に組み合わせることができる