gitextract__8u75gon/ ├── .gitignore ├── README.md ├── ch1/ │ ├── js/ │ │ ├── a-llm.js │ │ ├── b-chat.js │ │ ├── c-system.js │ │ ├── d-prompt.js │ │ ├── e-prompt-model.js │ │ ├── f-chat-prompt.js │ │ ├── g-chat-prompt-model.js │ │ ├── h-structured.js │ │ ├── i-csv.js │ │ ├── j-methods.js │ │ ├── k-imperative.js │ │ ├── ka-stream.js │ │ └── l-declarative.js │ └── py/ │ ├── a-llm.py │ ├── b-chat.py │ ├── c-system.py │ ├── d-prompt.py │ ├── e-prompt-model.py │ ├── f-chat-prompt.py │ ├── g-chat-prompt-model.py │ ├── h-structured.py │ ├── i-csv.py │ ├── j-methods.py │ ├── k-imperative.py │ ├── ka-stream.py │ ├── kb-async.py │ └── l-declarative.py ├── ch10/ │ ├── js/ │ │ ├── agent-evaluation-rag.js │ │ ├── agent-evaluation-sql.js │ │ ├── agent-sql-graph.js │ │ ├── create-rag-dataset.js │ │ ├── create-sql-dataset.js │ │ ├── rag-graph.js │ │ ├── retrieve-and-grade.js │ │ └── search-graph.js │ └── py/ │ ├── agent_evaluation_rag.py │ ├── agent_evaluation_sql.py │ ├── agent_sql_graph.py │ ├── create_rag_dataset.py │ ├── create_sql_dataset.py │ ├── rag_graph.py │ ├── retrieve_and_grade.py │ └── search_graph.py ├── ch2/ │ ├── js/ │ │ ├── a-text-loader.js │ │ ├── b-web-loader.js │ │ ├── c-pdf-loader.js │ │ ├── d-rec-text-splitter.js │ │ ├── e-rec-text-splitter-code.js │ │ ├── f-markdown-splitter.js │ │ ├── g-embeddings.js │ │ ├── h-load-split-embed.js │ │ ├── i-pg-vector.js │ │ ├── j-record-manager.js │ │ └── k-multi-vector-retriever.js │ └── py/ │ ├── a-text-loader.py │ ├── b-web-loader.py │ ├── c-pdf-loader.py │ ├── d-rec-text-splitter.py │ ├── e-rec-text-splitter-code.py │ ├── f-markdown-splitter.py │ ├── g-embeddings.py │ ├── h-load-split-embed.py │ ├── i-pg-vector.py │ ├── j-record-manager.py │ ├── k-multi-vector-retriever.py │ └── l-rag-colbert.py ├── ch3/ │ ├── js/ │ │ ├── a-basic-rag.js │ │ ├── b-rewrite.js │ │ ├── c-multi-query.js │ │ ├── d-rag-fusion.js │ │ ├── e-hyde.js │ │ ├── f-router.js │ │ ├── g-semantic-router.js │ │ ├── h-self-query.js │ │ └── i-sql-example.js │ └── py/ │ ├── a-basic-rag.py │ ├── b-rewrite.py │ ├── c-multi-query.py │ ├── d-rag-fusion.py │ ├── e-hyde.py │ ├── f-router.py │ ├── g-semantic-router.py │ ├── h-self-query.py │ └── i-sql-example.py ├── ch4/ │ ├── js/ │ │ ├── a-simple-memory.js │ │ ├── b-state-graph.js │ │ ├── c-persistent-memory.js │ │ ├── d-trim-messages.js │ │ ├── e-filter-messages.js │ │ └── f-merge-messages.js │ └── py/ │ ├── a-simple-memory.py │ ├── b-state-graph.py │ ├── c-persistent-memory.py │ ├── d-trim-messages.py │ ├── e-filter-messages.py │ └── f-merge-messages.py ├── ch5/ │ ├── js/ │ │ ├── a-chatbot.js │ │ ├── b-sql-generator.js │ │ └── c-multi-rag.js │ └── py/ │ ├── a-chatbot.py │ ├── b-sql-generator.py │ └── c-multi-rag.py ├── ch6/ │ ├── js/ │ │ ├── a-basic-agent.js │ │ ├── b-force-first-tool.js │ │ └── c-many-tools.js │ └── py/ │ ├── a-basic-agent.py │ ├── b-force-first-tool.py │ └── c-many-tools.py ├── ch7/ │ ├── js/ │ │ ├── a-reflection.js │ │ ├── b-subgraph-direct.js │ │ ├── c-subgraph-function.js │ │ └── d-supervisor.js │ └── py/ │ ├── a-reflection.py │ ├── b-subgraph-direct.py │ ├── c-subgraph-function.py │ └── d-supervisor.py ├── ch8/ │ ├── js/ │ │ ├── a-structured-output.js │ │ ├── b-streaming-output.js │ │ ├── c-interrupt.js │ │ ├── d-authorize.js │ │ ├── e-resume.js │ │ ├── f-edit-state.js │ │ └── g-fork.js │ └── py/ │ ├── a-structured-output.py │ ├── b-streaming-output.py │ ├── c-interrupt.py │ ├── d-authorize.py │ ├── e-resume.py │ ├── f-edit-state.py │ └── g-fork.py ├── ch9/ │ ├── README.md │ ├── js/ │ │ ├── .gitignore │ │ ├── demo.ts │ │ ├── langgraph.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ingestion_graph/ │ │ │ │ ├── configuration.ts │ │ │ │ ├── graph.ts │ │ │ │ └── state.ts │ │ │ ├── retrieval_graph/ │ │ │ │ ├── configuration.ts │ │ │ │ ├── graph.ts │ │ │ │ ├── state.ts │ │ │ │ └── utils.ts │ │ │ └── shared/ │ │ │ ├── configuration.ts │ │ │ ├── retrieval.ts │ │ │ ├── state.ts │ │ │ └── utils.ts │ │ └── tsconfig.json │ └── py/ │ ├── demo.py │ ├── langgraph.json │ ├── pyproject.toml │ └── src/ │ ├── docSplits.json │ ├── ingestion_graph/ │ │ ├── __init__.py │ │ ├── configuration.py │ │ ├── graph.py │ │ └── state.py │ ├── retrieval_graph/ │ │ ├── __init__.py │ │ ├── configuration.py │ │ ├── graph.py │ │ ├── state.py │ │ └── utils.py │ └── shared/ │ ├── __init__.py │ ├── configuration.py │ ├── retrieval.py │ └── state.py ├── package.json ├── pyproject.toml └── test.txt