langgraph-wiki.txtโข33.3 kB
# LangGraph Wiki
## Quickstart
These guides are designed to help you get started with LangGraph.
- [LangGraph Quickstart](https://langchain-ai.github.io/langgraph/tutorials/introduction/): Build a chatbot that can use tools and keep track of conversation history. Add human-in-the-loop capabilities and explore how time-travel works.
- [Common Workflows](https://langchain-ai.github.io/langgraph/tutorials/workflows/): Overview of the most common workflows using LLMs implemented with LangGraph.
- [LangGraph Server Quickstart](https://langchain-ai.github.io/langgraph/tutorials/langgraph-platform/local-server/): Launch a LangGraph server locally and interact with it using REST API and LangGraph Studio Web UI.
- [Deploy with LangGraph Cloud Quickstart](https://langchain-ai.github.io/langgraph/cloud/quick_start/): Deploy a LangGraph app using LangGraph Cloud.
## Concepts
These guides provide explanations of the key concepts behind the LangGraph framework.
- [Why LangGraph?](https://langchain-ai.github.io/langgraph/concepts/high_level/): Motivation for LangGraph, a library for building agentic applications with LLMs.
- [LangGraph Glossary](https://langchain-ai.github.io/langgraph/concepts/low_level/): LangGraph workflows are designed as graphs, with nodes representing different components and edges representing the flow of information between them. This guide provides an overview of the key concepts associated with LangGraph graph primitives.
- [Common Agentic Patterns](https://langchain-ai.github.io/langgraph/concepts/agentic_concepts/): An agent uses an LLM to pick its own control flow to solve more complex problems! Agents are a key building block in many LLM applications. This guide explains the different types of agent architectures and how they can be used to control the flow of an application.
- [Multi-Agent Systems](https://langchain-ai.github.io/langgraph/concepts/multi_agent/): Complex LLM applications can often be broken down into multiple agents, each responsible for a different part of the application. This guide explains common patterns for building multi-agent systems.
- [Breakpoints](https://langchain-ai.github.io/langgraph/concepts/breakpoints/): Breakpoints allow pausing the execution of a graph at specific points. Breakpoints allow stepping through graph execution for debugging purposes.
- [Human-in-the-Loop](https://langchain-ai.github.io/langgraph/concepts/human_in_the_loop/): Explains different ways of integrating human feedback into a LangGraph application.
- [Time Travel](https://langchain-ai.github.io/langgraph/concepts/time-travel/): Time travel allows you to replay past actions in your LangGraph application to explore alternative paths and debug issues.
- [Persistence](https://langchain-ai.github.io/langgraph/concepts/persistence/): LangGraph has a built-in persistence layer, implemented through checkpointers. This persistence layer helps to support powerful capabilities like human-in-the-loop, memory, time travel, and fault-tolerance.
- [Memory](https://langchain-ai.github.io/langgraph/concepts/memory/): Memory in AI applications refers to the ability to process, store, and effectively recall information from past interactions. With memory, your agents can learn from feedback and adapt to users' preferences.
- [Streaming](https://langchain-ai.github.io/langgraph/concepts/streaming/): Streaming is crucial for enhancing the responsiveness of applications built on LLMs. By displaying output progressively, even before a complete response is ready, streaming significantly improves user experience (UX), particularly when dealing with the latency of LLMs.
- [Functional API](https://langchain-ai.github.io/langgraph/concepts/functional_api/): `@entrypoint` and `@task` decorators that allow you to add LangGraph functionality to an existing codebase.
- [Durable Execution](https://langchain-ai.github.io/langgraph/concepts/durable_execution/): LangGraph's built-in [persistence](https://langchain-ai.github.io/langgraph/concepts/persistence/) layer provides durable execution for workflows, ensuring that the state of each execution step is saved to a durable store.
- [Pregel](https://langchain-ai.github.io/langgraph/concepts/pregel/): Pregel is LangGraph's runtime, which is responsible for managing the execution of LangGraph applications.
- [FAQ](https://langchain-ai.github.io/langgraph/concepts/faq/): Frequently asked questions about LangGraph.
## LangGraph Quickstart
- [01. LangGraph ์๊ฐ](https://langchain-ai.github.io/langgraph/tutorials/introduction/)
- [02. LangGraph ๋น ๋ฅธ ์์](https://langchain-ai.github.io/langgraph/tutorials/introduction/)
## LangGraph Concepts
- [03. LangGraph ์ฃผ์ ๊ฐ๋
](https://langchain-ai.github.io/langgraph/concepts/high_level/)
- [๊ทธ๋ํ API ๊ธฐ๋ณธ](https://langchain-ai.github.io/langgraph/concepts/low_level/)
- [์ํ ๊ด๋ฆฌ](https://langchain-ai.github.io/langgraph/how-tos/state-model/)
- [์ง์์ฑ(Persistence)](https://langchain-ai.github.io/langgraph/concepts/persistence/)
- [ํด๋จผ ์ธ ๋ ๋ฃจํ(Human-in-the-loop)](https://langchain-ai.github.io/langgraph/concepts/human_in_the_loop/)
- [ํ์ ํธ๋๋ธ(Time Travel)](https://langchain-ai.github.io/langgraph/concepts/time-travel/)
- [์คํธ๋ฆฌ๋ฐ(Streaming)](https://langchain-ai.github.io/langgraph/concepts/streaming/)
- [๊ธฐ๋ฅ์ API(Functional API)](https://langchain-ai.github.io/langgraph/concepts/functional_api/)
- [๋ด๊ตฌ์ฑ ์คํ(Durable Execution)](https://langchain-ai.github.io/langgraph/concepts/durable_execution/)
- [Pregel](https://langchain-ai.github.io/langgraph/concepts/pregel/)
- [์์ฃผ ๋ฌป๋ ์ง๋ฌธ(FAQ)](https://langchain-ai.github.io/langgraph/concepts/faq/)
- [04. ์์ด์ ํธ ํจํด](https://langchain-ai.github.io/langgraph/concepts/agentic_concepts/)
- [์์ฐจ ์์ด์ ํธ](https://langchain-ai.github.io/langgraph/how-tos/sequence/)
- [๊ณํ ํ ์คํ(Plan-and-Execute)](https://langchain-ai.github.io/langgraph/how-tos/pass-config-to-tools/)
- [๋
ธ๋ ์ฌ์๋ ์ถ๊ฐ](https://langchain-ai.github.io/langgraph/how-tos/node-retries/)
- [์ฌ๊ท ์ ํ ์ถ๊ฐ](https://langchain-ai.github.io/langgraph/how-tos/recursion-limit/)
- [์ฌ๊ท ์ ํ ๋๋ฌ ์ ์ํ ๋ฐํ](https://langchain-ai.github.io/langgraph/how-tos/return-when-recursion-limit-hits/)
- [05. ๋ฉํฐ ์์ด์ ํธ ์์คํ
](https://langchain-ai.github.io/langgraph/concepts/multi_agent/)
- [๋ฉํฐ ์์ด์ ํธ ๋คํธ์ํฌ](https://langchain-ai.github.io/langgraph/how-tos/multi-agent-network/)
- [๋ฉํฐ ์์ด์ ํธ ๊ฐ๋
์(Multi-Agent Supervisor)](https://langchain-ai.github.io/langgraph/tutorials/multi_agent/agent_supervisor/)
- [๊ณ์ธต์ ๋ฉํฐ ์์ด์ ํธ ํ(Hierarchical Multi-Agent Teams)](https://langchain-ai.github.io/langgraph/tutorials/multi_agent/hierarchical_agent_teams/)
- [SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ๋ ์์ด์ ํธ](https://langchain-ai.github.io/langgraph/tutorials/sql-agent/)
- [STORM ๊ฐ๋
์ ๋์
ํ ์ฐ๊ตฌ๋ฅผ ์ํ ๋ฉํฐ ์์ด์ ํธ](https://langchain-ai.github.io/langgraph/tutorials/multi_agent/multi-agent-collaboration/)
- [์์ด์ ํธ ๊ฐ ์ ํ ๊ตฌํ](https://langchain-ai.github.io/langgraph/how-tos/agent-handoffs/)
- [๋ฉํฐ ์์ด์ ํธ ๋ฉํฐํด ๋ํ](https://langchain-ai.github.io/langgraph/how-tos/multi-agent-multi-turn-convo/)
- [06. ๊ทธ๋ํ ๊ธฐ๋ฅ ๋ฐ ๋๊ตฌ](https://langchain-ai.github.io/langgraph/how-tos/)
- [๊ทธ๋ํ ์๊ฐํ](https://langchain-ai.github.io/langgraph/how-tos/visualization/)
- [๋งต-๋ฆฌ๋์ค ๋ธ๋์น ๋ง๋ค๊ธฐ](https://langchain-ai.github.io/langgraph/how-tos/map-reduce/)
- [์ํ ์
๋ฐ์ดํธ ๋ฐ ๋
ธ๋ ์ด๋](https://langchain-ai.github.io/langgraph/how-tos/command/)
- [๊ทธ๋ํ ๋น๋๊ธฐ ์คํ](https://langchain-ai.github.io/langgraph/how-tos/async/)
- [์๋ธ๊ทธ๋ํ ์ฌ์ฉ](https://langchain-ai.github.io/langgraph/how-tos/subgraph/)
- [์๋ธ๊ทธ๋ํ์์ ์ํ ๋ณด๊ธฐ ๋ฐ ์
๋ฐ์ดํธ](https://langchain-ai.github.io/langgraph/how-tos/subgraphs-manage-state/)
- [์๋ธ๊ทธ๋ํ ์
๋ ฅ ๋ฐ ์ถ๋ ฅ ๋ณํ](https://langchain-ai.github.io/langgraph/how-tos/subgraph-transform-state/)
- [์๋ธ๊ทธ๋ํ ์ง์์ฑ ์ถ๊ฐ](https://langchain-ai.github.io/langgraph/how-tos/subgraph-persistence/)
- [07. ๋๊ตฌ ํธ์ถ](https://langchain-ai.github.io/langgraph/how-tos/tool-calling/)
- [ToolNode๋ฅผ ์ฌ์ฉํ ๋๊ตฌ ํธ์ถ](https://langchain-ai.github.io/langgraph/how-tos/tool-calling/)
- [๋๊ตฌ ํธ์ถ ์ค๋ฅ ์ฒ๋ฆฌ](https://langchain-ai.github.io/langgraph/how-tos/tool-calling-errors/)
- [๋ฐํ์ ๊ฐ์ ๋๊ตฌ์ ์ ๋ฌ](https://langchain-ai.github.io/langgraph/how-tos/pass-run-time-values-to-tools/)
- [๋๊ตฌ์ ๊ตฌ์ฑ ์ ๋ฌ](https://langchain-ai.github.io/langgraph/how-tos/pass-config-to-tools/)
- [๋๊ตฌ์์ ๊ทธ๋ํ ์ํ ์
๋ฐ์ดํธ](https://langchain-ai.github.io/langgraph/how-tos/update-state-from-tools/)
- [๋๋์ ๋๊ตฌ ์ฒ๋ฆฌ](https://langchain-ai.github.io/langgraph/how-tos/many-tools/)
- [๋๊ตฌ ํธ์ถ ์์ด์ ํธ์์ ๊ตฌ์กฐํ๋ ์ถ๋ ฅ ๊ฐ์ ](https://langchain-ai.github.io/langgraph/how-tos/react-agent-structured-output/)
- [08. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ](https://langchain-ai.github.io/langgraph/how-tos/memory/)
- [๋ํ ๊ธฐ๋ก ๊ด๋ฆฌ](https://langchain-ai.github.io/langgraph/how-tos/memory/manage-conversation-history/)
- [๋ฉ์์ง ์ญ์ ](https://langchain-ai.github.io/langgraph/how-tos/memory/delete-messages/)
- [์์ฝ ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ถ๊ฐ](https://langchain-ai.github.io/langgraph/how-tos/memory/add-summary-conversation-history/)
- [์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ ์ถ๊ฐ(cross-thread)](https://langchain-ai.github.io/langgraph/how-tos/memory/cross-thread-persistence/)
- [์ฅ๊ธฐ ๋ฉ๋ชจ๋ฆฌ์ฉ ์๋งจํฑ ๊ฒ์](https://langchain-ai.github.io/langgraph/how-tos/memory/semantic-search/)
- [09. ์คํธ๋ฆฌ๋ฐ](https://langchain-ai.github.io/langgraph/how-tos/streaming/)
- [์คํธ๋ฆฌ๋ฐ ๊ตฌํ ๋ฐฉ๋ฒ](https://langchain-ai.github.io/langgraph/how-tos/streaming/)
- [LLM ํ ํฐ ์คํธ๋ฆฌ๋ฐ](https://langchain-ai.github.io/langgraph/how-tos/streaming-tokens/)
- [ํน์ ๋
ธ๋์์ LLM ํ ํฐ ์คํธ๋ฆฌ๋ฐ](https://langchain-ai.github.io/langgraph/how-tos/streaming-specific-nodes/)
- [๋๊ตฌ ๋ด์์ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ](https://langchain-ai.github.io/langgraph/how-tos/streaming-events-from-within-tools/)
- [์๋ธ๊ทธ๋ํ์์ ์คํธ๋ฆฌ๋ฐ](https://langchain-ai.github.io/langgraph/how-tos/streaming-subgraphs/)
- [์คํธ๋ฆฌ๋ฐ์ ์ง์ํ์ง ์๋ ๋ชจ๋ธ ๋นํ์ฑํ](https://langchain-ai.github.io/langgraph/how-tos/disable-streaming/)
- [10. ํด๋จผ ์ธ ๋ ๋ฃจํ](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/)
- [์ฌ์ฉ์ ์
๋ ฅ ๋๊ธฐ](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/wait-user-input/)
- [๋๊ตฌ ํธ์ถ ๊ฒํ ](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/review-tool-calls/)
- [์ ์ ๋ธ๋ ์ดํฌํฌ์ธํธ ์ถ๊ฐ](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/breakpoints/)
- [๊ทธ๋ํ ์ํ ํธ์ง](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/edit-graph-state/)
- [์ฌ์ฉ์ ์
๋ ฅ ๋๊ธฐ(Functional API)](https://langchain-ai.github.io/langgraph/how-tos/wait-user-input-functional/)
- [๋๊ตฌ ํธ์ถ ๊ฒํ (Functional API)](https://langchain-ai.github.io/langgraph/how-tos/review-tool-calls-functional/)
- [11. ์ง์์ฑ ๊ด๋ฆฌ](https://langchain-ai.github.io/langgraph/how-tos/persistence/)
- [์ค๋ ๋ ์์ค ์ง์์ฑ ์ถ๊ฐ](https://langchain-ai.github.io/langgraph/how-tos/persistence/)
- [ํฌ๋ก์ค ์ค๋ ๋ ์ง์์ฑ ์ถ๊ฐ](https://langchain-ai.github.io/langgraph/how-tos/cross-thread-persistence/)
- [PostgreSQL ์ฒดํฌํฌ์ธํฐ ์ฌ์ฉ](https://langchain-ai.github.io/langgraph/how-tos/persistence_postgres/)
- [MongoDB ์ฒดํฌํฌ์ธํฐ ์ฌ์ฉ](https://langchain-ai.github.io/langgraph/how-tos/persistence_mongodb/)
- [Redis๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์ ์ ์ ์ฒดํฌํฌ์ธํฐ ๋ง๋ค๊ธฐ](https://langchain-ai.github.io/langgraph/how-tos/persistence_redis/)
- [์ค๋ ๋ ์์ค ์ง์์ฑ(Functional API)](https://langchain-ai.github.io/langgraph/how-tos/persistence-functional/)
- [ํฌ๋ก์ค ์ค๋ ๋ ์ง์์ฑ(Functional API)](https://langchain-ai.github.io/langgraph/how-tos/cross-thread-persistence-functional/)
- [12. ์ฌ์ฉ ์ฌ๋ก ๋ฐ ํํ ๋ฆฌ์ผ](https://langchain-ai.github.io/langgraph/tutorials/)
- [๊ณ ๊ฐ ์ง์ ์์คํ
](https://langchain-ai.github.io/langgraph/tutorials/customer-support/customer-support/)
- [์ฌ์ฉ์ ์๊ตฌ์ฌํญ์์ ํ๋กฌํํธ ์์ฑ](https://langchain-ai.github.io/langgraph/tutorials/chatbots/information-gather-prompting/)
- [์ฝ๋ ์ด์์คํดํธ](https://langchain-ai.github.io/langgraph/tutorials/code_assistant/langgraph_code_assistant/)
- [LangGraph ์๋ฒ ๋น ๋ฅธ ์์](https://langchain-ai.github.io/langgraph/tutorials/langgraph-platform/local-server/)
- [LangGraph Cloud ์ฌ์ฉ ๋ฐฐํฌ](https://langchain-ai.github.io/langgraph/cloud/quick_start/)
## LangGraph ์คํ ํํ ๋ฆฌ์ผ
- [01. ํต์ฌ ๊ธฐ๋ฅ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features)
- [LangGraph์์ ์ฌ์ฉ๋๋ Python ๋ฌธ๋ฒ ์ดํด](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/understanding-common-python-syntax-used-in-langgraph)
- [LangGraph๋ก ๊ธฐ๋ณธ ์ฑ๋ด ๊ตฌ์ถํ๊ธฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/building-a-basic-chatbot-with-langgraph)
- [LangGraph๋ก ์์ด์ ํธ ๊ตฌ์ถํ๊ธฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/building-an-agent-with-langgraph)
- [๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ ์์ด์ ํธ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/agent-with-memory)
- [ํด๋จผ-์ธ-๋-๋ฃจํ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/human-in-the-loop)
- [์ธ๊ฐ์๊ฒ ๋์ ์์ฒญํ๊ธฐ: LangGraph์์ ์ํ ์ปค์คํฐ๋ง์ด์ง](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/asking-humans-for-help-customizing-state-in-langgraph)
- [๋ฉ์์ง ์ญ์ ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/deletemessages)
- [LangGraph ToolNode](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/langgraph-toolnode)
- [๋ณ๋ ฌ ๋
ธ๋ ์คํ์ ์ํ ๋ธ๋์น ์์ฑ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/branch-creation-for-parallel-node-execution)
- [LangGraph๋ก ๋ํ ์์ฝํ๊ธฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/conversation-summaries-with-langgraph)
- [LangGraph ์๋ธ๊ทธ๋ํ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/langgrpah-subgraph)
- [์๋ธ๊ทธ๋ํ์ ์
๋ ฅ๊ณผ ์ถ๋ ฅ ๋ณํ ๋ฐฉ๋ฒ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/how-to-transform-the-input-and-output-of-a-subgraph)
- [LangGraph ์คํธ๋ฆฌ๋ฐ ๋ชจ๋](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/langgraph-streaming-mode)
- [์๋ฌ ์ฒ๋ฆฌ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/01-core-features/errors)
- [02. ๊ตฌ์กฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/02-structures)
- [LangGraph ๊ทธ๋ํ ๊ตฌ์ถํ๊ธฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/02-structures/langgraph-building-graphs)
- [๊ธฐ๋ณธ RAG](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/02-structures/naive-rag)
- [๊ทผ๊ฑฐ ๊ฒ์ฌ ์ถ๊ฐํ๊ธฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/02-structures/add-groundedness-check)
- [์ฟผ๋ฆฌ ์ฌ์์ฑ ์ถ๊ฐํ๊ธฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/02-structures/langgraph-add-query-rewrite)
- [์์ด์ ํธ RAG](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/02-structures/agentic-rag)
- [03. ์ฌ์ฉ ์ฌ๋ก](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases)
- [LangGraph ์์ด์ ํธ ์๋ฎฌ๋ ์ด์
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/langgraph-agent-simulation)
- [์ฌ์ฉ์ ์๊ตฌ์ฌํญ ๊ธฐ๋ฐ ๋ฉํ ํ๋กฌํํธ ์์ฑ๊ธฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/meta-prompt-generator-based-on-user-requirements)
- [CRAG: ๊ต์ ์ RAG](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/crag-corrective-rag)
- [๊ณํ-์คํ ํจํด](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/plan-and-execute)
- [๋ฉํฐ ์์ด์ ํธ ํ์
๋คํธ์ํฌ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/multi-agent-collaboration-network)
- [๋ฉํฐ ์์ด์ ํธ ๊ฐ๋
์](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/multi-agent-supervisor)
- [๊ณ์ธต์ ๋ฉํฐ ์์ด์ ํธ ํ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/08-hierarchical-multi-agent-teams)
- [LangGraph ์ฐ๊ตฌ ์ด์์คํดํธ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/17-langgraph/03-use-cases/10-langgraph-research-assistant)
## ์ค์ฉ ๋ ์ํผ(Cookbook)
- [01. SQL](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/01-sql)
- [ํ
์คํธ๋ฅผ SQL๋ก ๋ณํ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/01-sql/texttosql)
- [์์ฑ์ SQL๋ก ๋ณํ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/01-sql/speechtosql)
- [02. ์ถ์ฒ ์์คํ
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/02-recommendationsystem)
- [์ด๋ ฅ์ ์ถ์ฒ ๋ฐ ๋ฆฌ๋ทฐ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/02-recommendationsystem/resumerecommendationreview)
- [03. ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/03-graphdb)
- [๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ฉํ ์ํ QA ์์คํ
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/03-graphdb/movie-qa-system-with-graph-database)
- [ํ์ดํ๋ QA ์์คํ
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/03-graphdb/05-titanicqasystem)
- [์ค์๊ฐ GraphRAG QA](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/03-graphdb/real-time-graphrag-qa)
- [04. GraphRAG](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/04-graphrag)
- [ํ์ ๊ฒ์ ์์คํ
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/04-graphrag/academic-search-system)
- [GraphRAG๋ฅผ ํ์ฉํ ํ์ QA ์์คํ
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/04-graphrag/academic-qa-system-with-graphrag)
- [05. AI ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์คํ
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/05-aimemorymanagement)
- [๋ํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์คํ
](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/05-aimemorymanagement/conversationmemorymanagementSystem)
- [06. ๋ฉํฐ๋ชจ๋ฌ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/06-multimodal)
- [๋ฉํฐ๋ชจ๋ฌ RAG](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/19-cookbook/06-multimodal/multimodal-rag)
### Graph API Basics
- [How to update graph state from nodes](https://langchain-ai.github.io/langgraph/how-tos/state-reducers/)
- [How to create a sequence of steps](https://langchain-ai.github.io/langgraph/how-tos/sequence/)
- [How to create branches for parallel execution](https://langchain-ai.github.io/langgraph/how-tos/branching/)
- [How to create and control loops with recursion limits](https://langchain-ai.github.io/langgraph/how-tos/recursion-limit/)
- [How to visualize your graph](https://langchain-ai.github.io/langgraph/how-tos/visualization/)
### Fine-grained Control
These guides demonstrate LangGraph features that grant fine-grained control over the execution of your graph.
- [How to create map-reduce branches for parallel execution](https://langchain-ai.github.io/langgraph/how-tos/map-reduce/)
- [How to update state and jump to nodes in graphs and subgraphs](https://langchain-ai.github.io/langgraph/how-tos/command/)
- [How to add runtime configuration to your graph](https://langchain-ai.github.io/langgraph/how-tos/configuration/)
- [How to add node retries](https://langchain-ai.github.io/langgraph/how-tos/node-retries/)
- [How to return state before hitting recursion limit](https://langchain-ai.github.io/langgraph/how-tos/return-when-recursion-limit-hits/)
### Persistence
Persistence makes it easy to persist state across graph runs (per-thread persistence) and across threads (cross-thread persistence).
These how-to guides show how to add persistence to your graph.
- [How to add thread-level persistence to your graph](https://langchain-ai.github.io/langgraph/how-tos/persistence/)
- [How to add thread-level persistence to a subgraph](https://langchain-ai.github.io/langgraph/how-tos/subgraph-persistence/)
- [How to add cross-thread persistence to your graph](https://langchain-ai.github.io/langgraph/how-tos/cross-thread-persistence/)
- [How to use Postgres checkpointer for persistence](https://langchain-ai.github.io/langgraph/how-tos/persistence_postgres/)
- [How to use MongoDB checkpointer for persistence](https://langchain-ai.github.io/langgraph/how-tos/persistence_mongodb/)
- [How to create a custom checkpointer using Redis](https://langchain-ai.github.io/langgraph/how-tos/persistence_redis/)
See the below guides for how-to add persistence to your workflow using the [Functional API](https://langchain-ai.github.io/langgraph/concepts/functional_api/):
- [How to add thread-level persistence (functional API)](https://langchain-ai.github.io/langgraph/how-tos/persistence-functional/)
- [How to add cross-thread persistence (functional API)](https://langchain-ai.github.io/langgraph/how-tos/cross-thread-persistence-functional/)
### Memory
LangGraph makes it easy to manage conversation memory in your graph. These how-to guides show how to implement different strategies for that.
- [How to manage conversation history](https://langchain-ai.github.io/langgraph/how-tos/memory/manage-conversation-history/)
- [How to delete messages](https://langchain-ai.github.io/langgraph/how-tos/memory/delete-messages/)
- [How to add summary conversation memory](https://langchain-ai.github.io/langgraph/how-tos/memory/add-summary-conversation-history/)
- [How to add long-term memory (cross-thread)](https://langchain-ai.github.io/langgraph/how-tos/memory/cross-thread-persistence/)
- [How to use semantic search for long-term memory](https://langchain-ai.github.io/langgraph/how-tos/memory/semantic-search/)
### Human-in-the-loop
Human-in-the-loop functionality allows you to involve humans in the decision-making process of your graph.
These how-to guides show how to implement human-in-the-loop workflows in your graph.
- [How to wait for user input](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/wait-user-input/): A basic example that shows how to implement a human-in-the-loop workflow in your graph using the `interrupt` function.
- [How to review tool calls](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/review-tool-calls/): Incorporate human-in-the-loop for reviewing/editing/accepting tool call requests before they executed using the `interrupt` function.
- [How to add static breakpoints](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/breakpoints/): Use for debugging purposes. For human-in-the-loop workflows, we recommend the [`interrupt` function](https://langchain-ai.github.io/langgraph/reference/types/#langgraph.types.interrupt) instead.
- [How to edit graph state](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/edit-graph-state/): Edit graph state using `graph.update_state` method. Use this if implementing a **human-in-the-loop** workflow via **static breakpoints**.
See the below guides for how-to implement human-in-the-loop workflows with the Functional API.
- [How to wait for user input (Functional API)](https://langchain-ai.github.io/langgraph/how-tos/wait-user-input-functional/)
- [How to review tool calls (Functional API)](https://langchain-ai.github.io/langgraph/how-tos/review-tool-calls-functional/)
### Time Travel
[Time travel](https://langchain-ai.github.io/langgraph/concepts/time-travel/) allows you to replay past actions in your LangGraph application to explore alternative paths and debug issues. These how-to guides show how to use time travel in your graph.
- [How to view and update past graph state](https://langchain-ai.github.io/langgraph/how-tos/time-travel/)
### Streaming
[Streaming](https://langchain-ai.github.io/langgraph/concepts/streaming/) is crucial for enhancing the responsiveness of applications built on LLMs. By displaying output progressively, even before a complete response is ready, streaming significantly improves user experience (UX), particularly when dealing with the latency of LLMs.
- [How to stream](https://langchain-ai.github.io/langgraph/how-tos/streaming/)
- [How to stream LLM tokens](https://langchain-ai.github.io/langgraph/how-tos/streaming-tokens/)
- [How to stream LLM tokens from specific nodes](https://langchain-ai.github.io/langgraph/how-tos/streaming-specific-nodes/)
- [How to stream data from within a tool](https://langchain-ai.github.io/langgraph/how-tos/streaming-events-from-within-tools/)
- [How to stream from subgraphs](https://langchain-ai.github.io/langgraph/how-tos/streaming-subgraphs/)
- [How to disable streaming for models that don't support it](https://langchain-ai.github.io/langgraph/how-tos/disable-streaming/)
### Tool calling
[Tool calling](https://python.langchain.com/docs/concepts/tool_calling/) is a type of [chat model](https://python.langchain.com/docs/concepts/chat_models/) API.
It accepts tool schemas, along with messages, as input and returns invocations of those tools as part of the output message.
These how-to guides show common patterns for tool calling with LangGraph:
- [How to call tools using ToolNode](https://langchain-ai.github.io/langgraph/how-tos/tool-calling/)
- [How to handle tool calling errors](https://langchain-ai.github.io/langgraph/how-tos/tool-calling-errors/)
- [How to pass runtime values to tools](https://langchain-ai.github.io/langgraph/how-tos/pass-run-time-values-to-tools/)
- [How to pass config to tools](https://langchain-ai.github.io/langgraph/how-tos/pass-config-to-tools/)
- [How to update graph state from tools](https://langchain-ai.github.io/langgraph/how-tos/update-state-from-tools/)
- [How to handle large numbers of tools](https://langchain-ai.github.io/langgraph/how-tos/many-tools/)
### Subgraphs
Subgraphs allow you to reuse an existing graph from another graph.
These how-to guides show how to use subgraphs:
- [How to use subgraphs](https://langchain-ai.github.io/langgraph/how-tos/subgraph/)
- [How to view and update state in subgraphs](https://langchain-ai.github.io/langgraph/how-tos/subgraphs-manage-state/)
- [How to transform inputs and outputs of a subgraph](https://langchain-ai.github.io/langgraph/how-tos/subgraph-transform-state/)
### Multi-agent
Multi-agent systems are useful to break down complex LLM applications into multiple agents, each responsible for a different part of the application.
These how-to guides show how to implement multi-agent systems in LangGraph:
- [How to implement handoffs between agents](https://langchain-ai.github.io/langgraph/how-tos/agent-handoffs/)
- [How to build a multi-agent network](https://langchain-ai.github.io/langgraph/how-tos/multi-agent-network/)
- [How to add multi-turn conversation in a multi-agent application](https://langchain-ai.github.io/langgraph/how-tos/multi-agent-multi-turn-convo/)
### State Management
- [How to use Pydantic model as graph state](https://langchain-ai.github.io/langgraph/how-tos/state-model/)
- [How to define input/output schema for your graph](https://langchain-ai.github.io/langgraph/how-tos/input_output_schema/)
- [How to pass private state between nodes inside the graph](https://langchain-ai.github.io/langgraph/how-tos/pass_private_state/)
### Other
- [How to run graph asynchronously](https://langchain-ai.github.io/langgraph/how-tos/async/)
- [How to force tool-calling agent to structure output](https://langchain-ai.github.io/langgraph/how-tos/react-agent-structured-output/)
- [How to pass custom LangSmith run ID for graph runs](https://langchain-ai.github.io/langgraph/how-tos/run-id-langsmith/)
- [How to integrate LangGraph with AutoGen, CrewAI, and other frameworks](https://langchain-ai.github.io/langgraph/how-tos/autogen-integration/)
## Use cases
Explore practical implementations tailored for specific scenarios:
### Chatbots
- [Customer Support](https://langchain-ai.github.io/langgraph/tutorials/customer-support/customer-support/): Build a multi-functional support bot for flights, hotels, and car rentals.
- [Prompt Generation from User Requirements](https://langchain-ai.github.io/langgraph/tutorials/chatbots/information-gather-prompting/): Build an information gathering chatbot.
- [Code Assistant](https://langchain-ai.github.io/langgraph/tutorials/code_assistant/langgraph_code_assistant/): Build a code analysis and generation assistant.
### RAG
- [Agentic RAG](https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_agentic_rag/): Use an agent to figure out how to retrieve the most relevant information before using the retrieved information to answer the user's question.
- [Adaptive RAG](https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_adaptive_rag/): Adaptive RAG is a strategy for RAG that unites (1) query analysis with (2) active / self-corrective RAG. Implementation of: https://arxiv.org/abs/2403.14403
- For a version that uses a local LLM: [Adaptive RAG using local LLMs](https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_adaptive_rag_local/)
- [Corrective RAG](https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_crag/): Uses an LLM to grade the quality of the retrieved information from the given source, and if the quality is low, it will try to retrieve the information from another source. Implementation of: https://arxiv.org/pdf/2401.15884.pdf
- For a version that uses a local LLM: [Corrective RAG using local LLMs](https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_crag_local/)
- [Self-RAG](https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_self_rag/): Self-RAG is a strategy for RAG that incorporates self-reflection / self-grading on retrieved documents and generations. Implementation of https://arxiv.org/abs/2310.11511.
- For a version that uses a local LLM: [Self-RAG using local LLMs](https://langchain-ai.github.io/langgraph/tutorials/rag/langgraph_self_rag_local/)
- [SQL Agent](https://langchain-ai.github.io/langgraph/tutorials/sql-agent/): Build a SQL agent that can answer questions about a SQL database.
### Multi-Agent Systems
- [Network](https://langchain-ai.github.io/langgraph/tutorials/multi_agent/multi-agent-collaboration/): Enable two or more agents to collaborate on a task
- [Supervisor](https://langchain-ai.github.io/langgraph/tutorials/multi_agent/agent_supervisor/): Use an LLM to orchestrate and delegate to individual agents
- [Hierarchical Teams](https://langchain-ai.github.io/langgraph/tutorials/multi_agent/hierarchical_agent_teams/): Orchestrate nested teams of agents to solve problems
## ์ฐธ๊ณ ์๋ฃ
- [LangChain ๊ณต์ ๋ฌธ์](https://python.langchain.com/docs/)
- [LangGraph ๊ณต์ ๋ฌธ์](https://langchain-ai.github.io/langgraph/)
- [LangChain Hub](https://smith.langchain.com/hub)
- [LangSmith](https://smith.langchain.com/)
- [LangChain ์คํ ํํ ๋ฆฌ์ผ](https://langchain-opentutorial.gitbook.io/langchain-opentutorial/)
---
## Lecture
- [๋ญ์ฒด์ธ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฝ๋์ ์ฅ์(GitHub)](https://github.com/teddylee777/langchain-kr)
- [ํจ์คํธ์บ ํผ์ค - RAG ๋น๋ฒ๋
ธํธ](https://fastcampus.co.kr/data_online_teddy?utm_source=wikidocs&utm_medium=viral&utm_campaign=prd%5E250318%5E239355&utm_content=teacher%5E239355)
๋ณธ ์ํค๋ [ํ
๋๋
ธํธ์ ๋ญ์ฒด์ธLangChain ๋
ธํธ](https://wikidocs.net/book/14314)์ [LangGraph ๊ณต์ ๋ฌธ์](https://langchain-ai.github.io/langgraph/)๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑ๋์์ต๋๋ค.