From 8b9eec84197e35fdaf8f071127ebba922d8f3df0 Mon Sep 17 00:00:00 2001 From: seongyeon Date: Thu, 5 Feb 2026 13:05:36 +0900 Subject: [PATCH] docs: Add streaming outputs tutorial with diagrams - Fix LangGraph v1 API compatibility (interrupt in compile, not stream) - Add stream_mode comparison diagram (values vs updates) - Add interrupt_before/interrupt_after flow diagram - Add chatbot graph structure diagram - Fix checkpointer config requirements for stream() calls --- .../05-LangGraph-Streaming-Outputs.ipynb | 507 +++++-- .../assets/chatbot-graph.excalidraw | 449 +++++++ 08-Core-Features/assets/chatbot-graph.png | Bin 0 -> 25557 bytes .../assets/interrupt-flow.excalidraw | 1163 +++++++++++++++++ 08-Core-Features/assets/interrupt-flow.png | Bin 0 -> 105223 bytes .../assets/stream-mode-comparison.excalidraw | 1010 ++++++++++++++ .../assets/stream-mode-comparison.png | Bin 0 -> 103969 bytes 7 files changed, 3031 insertions(+), 98 deletions(-) create mode 100644 08-Core-Features/assets/chatbot-graph.excalidraw create mode 100644 08-Core-Features/assets/chatbot-graph.png create mode 100644 08-Core-Features/assets/interrupt-flow.excalidraw create mode 100644 08-Core-Features/assets/interrupt-flow.png create mode 100644 08-Core-Features/assets/stream-mode-comparison.excalidraw create mode 100644 08-Core-Features/assets/stream-mode-comparison.png diff --git a/08-Core-Features/05-LangGraph-Streaming-Outputs.ipynb b/08-Core-Features/05-LangGraph-Streaming-Outputs.ipynb index 45f8c69..f26e89f 100644 --- a/08-Core-Features/05-LangGraph-Streaming-Outputs.ipynb +++ b/08-Core-Features/05-LangGraph-Streaming-Outputs.ipynb @@ -7,24 +7,40 @@ "source": [ "# LangGraph 단계별 스트리밍 출력\n", "\n", - "이번에는 LangGrpah 의 `stream()` 출력 함수에 대한 조금 더 자세한 설명을 진행합니다.\n", + "LangGraph의 `stream()` 메서드는 그래프의 각 단계를 스트리밍하는 기능을 제공합니다. 이 튜토리얼에서는 다양한 스트리밍 모드와 옵션을 살펴봅니다.\n", "\n", - "LangGraph 의 스트리밍 출력 함수는 그래프의 각 단계를 스트리밍하는 기능을 제공합니다.\n", - "\n" + "> 참고 문서: [LangGraph Streaming](https://langchain-ai.github.io/langgraph/concepts/streaming/)" ] }, { "cell_type": "markdown", "id": "1b2184f4", "metadata": {}, - "source": "## 튜토리얼 그래프 설정\n\n아래의 LangGraph 예제는 이전 섹션의 Agent 예제와 동일합니다. Google News 검색 도구를 사용하는 챗봇 에이전트를 구축하고, 이를 통해 다양한 스트리밍 모드를 테스트합니다.\n\n추가로 `dummy_data` 상태 필드를 추가하여 여러 상태 키가 있을 때 `output_keys` 옵션이 어떻게 동작하는지 확인합니다." + "source": [ + "## 튜토리얼 그래프 설정\n", + "\n", + "아래의 LangGraph 예제는 이전 섹션의 Agent 예제와 동일합니다. Google News 검색 도구를 사용하는 챗봇 에이전트를 구축하고, 이를 통해 다양한 스트리밍 모드를 테스트합니다.\n", + "\n", + "추가로 `dummy_data` 상태 필드를 추가하여 여러 상태 키가 있을 때 `output_keys` 옵션이 어떻게 동작하는지 확인합니다." + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "de9d9d8d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# API 키를 환경변수로 관리하기 위한 설정 파일\n", "from dotenv import load_dotenv\n", @@ -35,10 +51,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "6b5c6228", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LangSmith 추적을 시작합니다.\n", + "[프로젝트명]\n", + "LangGraph-V1-Tutorial\n" + ] + } + ], "source": [ "# LangSmith 추적을 설정합니다. https://smith.langchain.com\n", "# !pip install -qU langchain-teddynote\n", @@ -50,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "51549b1d", "metadata": {}, "outputs": [], @@ -71,9 +97,10 @@ "########## 1. 상태 정의 ##########\n", "# 상태 정의\n", "class State(TypedDict):\n", - " # 메시지 목록 주석 추가\n", + " # 메시지 목록: add_messages reducer를 사용하여 메시지 누적\n", " messages: Annotated[list, add_messages]\n", - " dummy_data: Annotated[str, \"dummy\"]\n", + " # 더미 데이터: output_keys 테스트용 (reducer 없이 단순 덮어쓰기)\n", + " dummy_data: str\n", "\n", "\n", "########## 2. 도구 정의 및 바인딩 ##########\n", @@ -101,7 +128,10 @@ "########## 3. 노드 추가 ##########\n", "# 챗봇 함수 정의\n", "def chatbot(state: State):\n", - " # 메시지 호출 및 반환\n", + " \"\"\"챗봇 노드 함수\n", + " \n", + " 메시지를 받아 LLM에 전달하고 응답을 반환합니다.\n", + " \"\"\"\n", " return {\n", " \"messages\": [llm_with_tools.invoke(state[\"messages\"])],\n", " \"dummy_data\": \"[chatbot] 호출, dummy data\", # 테스트를 위하여 더미 데이터를 추가합니다.\n", @@ -135,17 +165,23 @@ "# START > chatbot\n", "graph_builder.add_edge(START, \"chatbot\")\n", "\n", - "# chatbot > END\n", - "graph_builder.add_edge(\"chatbot\", END)\n", - "\n", "########## 5. 그래프 컴파일 ##########\n", "\n", + "# 메모리 체크포인터 생성 (interrupt 기능 사용을 위해 필요)\n", + "memory = MemorySaver()\n", + "\n", "# 그래프 빌더 컴파일\n", - "graph = graph_builder.compile()\n", + "graph = graph_builder.compile(checkpointer=memory)" + ] + }, + { + "cell_type": "markdown", + "id": "g5vjvx0kwya", + "metadata": {}, + "source": [ + "위 코드에서 생성한 그래프의 구조는 다음과 같습니다. `chatbot` 노드에서 `tools_condition`에 따라 조건부 분기가 이루어지며, 도구 호출이 필요한 경우 `tools` 노드로, 그렇지 않으면 `__end__`로 이동합니다.\n", "\n", - "########## 6. 그래프 시각화 ##########\n", - "# 그래프 시각화\n", - "visualize_graph(graph)" + "![chatbot-graph](./assets/chatbot-graph.png)" ] }, { @@ -155,31 +191,34 @@ "source": [ "## StateGraph의 `stream` 메서드\n", "\n", - "`stream` 메서드는 단일 입력에 대한 그래프 단계를 스트리밍하는 기능을 제공합니다.\n", + "`stream` 메서드는 단일 입력에 대한 그래프 단계를 스트리밍하는 기능을 제공합니다. 각 노드의 실행 결과를 순차적으로 받아볼 수 있어, 실시간으로 진행 상황을 모니터링하거나 점진적으로 결과를 표시할 때 유용합니다.\n", "\n", "**매개변수**\n", "- `input` (Union[dict[str, Any], Any]): 그래프에 대한 입력\n", - "- `config` (Optional[RunnableConfig]): 실행 구성\n", + "- `config` (Optional[RunnableConfig]): 실행 구성 (thread_id, recursion_limit 등)\n", "- `stream_mode` (Optional[Union[StreamMode, list[StreamMode]]]): 출력 스트리밍 모드\n", "- `output_keys` (Optional[Union[str, Sequence[str]]]): 스트리밍할 키\n", - "- `interrupt_before` (Optional[Union[All, Sequence[str]]]): 실행 전에 중단할 노드\n", - "- `interrupt_after` (Optional[Union[All, Sequence[str]]]): 실행 후에 중단할 노드\n", - "- `debug` (Optional[bool]): 디버그 정보 출력 여부\n", "- `subgraphs` (bool): 하위 그래프 스트리밍 여부\n", "\n", "**반환값**\n", "- Iterator[Union[dict[str, Any], Any]]: 그래프의 각 단계 출력. 출력 형태는 `stream_mode`에 따라 다름\n", "\n", - "**주요 기능**\n", - "1. 입력된 설정에 따라 그래프 실행을 스트리밍 방식으로 처리\n", - "2. 다양한 스트리밍 모드 지원 (`values`, `updates`, `debug`)\n", - "3. 콜백 관리 및 오류 처리\n", - "4. 재귀 제한 및 중단 조건 처리\n", - "\n", "**스트리밍 모드**\n", "- `values`: 각 단계의 현재 상태 값 출력\n", - "- `updates`: 각 단계의 상태 업데이트만 출력\n", - "- `debug`: 각 단계의 디버그 이벤트 출력" + "- `updates`: 각 단계의 상태 업데이트만 출력 (기본값)\n", + "- `debug`: 각 단계의 디버그 이벤트 출력\n", + "\n", + "**참고: interrupt 옵션**\n", + "\n", + "`interrupt_before`와 `interrupt_after` 옵션은 **`compile()` 메서드**에서 설정해야 합니다. `stream()` 메서드가 아닌 그래프 컴파일 시점에 지정합니다.\n", + "\n", + "```python\n", + "# 올바른 사용법: compile()에서 interrupt 설정\n", + "graph = graph_builder.compile(\n", + " checkpointer=memory,\n", + " interrupt_before=[\"tools\"], # tools 노드 실행 전 중단\n", + ")\n", + "```" ] }, { @@ -209,14 +248,66 @@ "cell_type": "markdown", "id": "e931823b", "metadata": {}, - "source": "## 그래프 실행 및 스트리밍 테스트\n\n`config` 설정과 함께 스트리밍 출력을 진행합니다. 기본 스트리밍 모드는 `updates`이며, 각 노드의 실행 결과를 순차적으로 출력합니다.\n\n아래 코드에서는 질문을 입력하고 그래프를 스트리밍 방식으로 실행합니다." + "source": [ + "## 그래프 실행 및 스트리밍 테스트\n", + "\n", + "`config` 설정과 함께 스트리밍 출력을 진행합니다. 기본 스트리밍 모드는 `updates`이며, 각 노드의 실행 결과를 순차적으로 출력합니다.\n", + "\n", + "아래 코드에서는 질문을 입력하고 그래프를 스트리밍 방식으로 실행합니다." + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "ab5c0bad", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "[ chatbot ]\n", + "\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "Tool Calls:\n", + " search_keyword (call_96Sw1QepxIyZSArSPTaDz8sZ)\n", + " Call ID: call_96Sw1QepxIyZSArSPTaDz8sZ\n", + " Args:\n", + " query: 2024 노벨 문학상\n", + "\n", + "[ tools ]\n", + "\n", + "=================================\u001b[1m Tool Message \u001b[0m=================================\n", + "Name: search_keyword\n", + "\n", + "[{\"url\": \"https://news.google.com/rss/articles/CBMibkFVX3lxTFA4YVpqdTZvWURMMWxtbFFzVVBDZkc3ZmMtOEpEV0hZQ3JoUEtyWmFqN21uZkthdW1EM3lwOW1vUlBnU2R3SkpQWDVaa2FQLTBUY1gwWnlhWVFkMDcwdENrNHpEcVhaTXZLX2JFSlBR?oc=5\", \"content\": \"[1년전 오늘] 한강 작가, 2024 노벨문학상 시상식 참석 - 전국매일신문\"}, {\"url\": \"https://news.google.com/rss/articles/CBMiUkFVX3lxTE9ZSHIzUEQxcFlXSE1GUDR0MWJPZHdWTVFrcm9qaVQ3MTBtU2tsUVZrTjlxMFJTeWctYlIxUElVRmJNTjl1aE1nQVJLNUVSRk82cUE?oc=5\", \"content\": \"속보노벨문학상 한강 \\\"2024년에 계엄 상황 충격받았다\\\" - 서울경제\"}, {\"url\": \"https://news.google.com/rss/articles/CBMiWkFVX3lxTE0zaHd3RVowVldBdW1COEtkS29Lc2NXVkUxb0d6OW1NVzhtUEJuNVZrenRxX0pYMFV2TGlhQkRaQkpBS2pLYkRMS2dIck4xcktIcE1sVDBZaFZoQdIBVEFVX3lxTE5fYXBPVE9PalBqcThfSGRIa2R0REJsSVBzNlRWZzktQzlzTDJTdFpqUHo4NHg2aHdJU2dMMUhFRnZ0My1KejRIVVdhNlhNS2FJWE11bA?oc=5\", \"content\": \"2025 노벨문학상 D-1…수상자는 누가 정하나? - 한국경제\"}, {\"url\": \"https://news.google.com/rss/articles/CBMia0FVX3lxTFBTOE1zQXVRS2FiSzlDaGVyUDhrVXBHbFF0OEFpVzVTeWZITEZOVTBfdkpxdmFJYmlGRnU2VFAyYzUtZXRGX1M4YmhzWWpPSnhjU09SYnYtZ0pMa0kxZU1IbWQzR09fVWV4Ykdr?oc=5\", \"content\": \"지난해 도서관 최다 대출 도서는 한강 '소년이 온다' - 뉴스저널리즘\"}, {\"url\": \"https://news.google.com/rss/articles/CBMiVkFVX3lxTE9mZ0pEUmFGWUkwWmNQbTgwQTlKeWpEOFc4Yjc5U0tOdTgxUmpXME9wdlBFX3BUWkNNWXhqN1lnNklNWjhMVHg4N2tiLVpKOHowYTU3dVZB?oc=5\", \"content\": \"[테마스페셜] 한강 작가, 2024 노벨문학상 수상 “세계 사로잡은 독창성” - knn.co.kr\"}]\n", + "\n", + "[ chatbot ]\n", + "\n", + "==================================\u001b[1m Ai Message \u001b[0m==================================\n", + "\n", + "2024년 노벨 문학상에 관련된 최근 뉴스는 다음과 같습니다:\n", + "\n", + "1. **한강 작가, 2024 노벨문학상 시상식 참석** \n", + " - [전국매일신문 기사](https://news.google.com/rss/articles/CBMibkFVX3lxTFA4YVpqdTZvWURMMWxtbFFzVVBDZkc3ZmMtOEpEV0hZQ3JoUEtyWmFqN21uZkthdW1EM3lwOW1vUlBnU2R3SkpQWDVaa2FQLTBUY1gwWnlhWVFkMDcwdENrNHpEcVhaTXZLX2JFSlBR?oc=5)\n", + "\n", + "2. **속보: 노벨문학상 한강 \"2024년에 계엄 상황 충격받았다\"** \n", + " - [서울경제 기사](https://news.google.com/rss/articles/CBMiUkFVX3lxTE9ZSHIzUEQxcFlXSE1GUDR0MWJPZHdWTVFrcm9qaVQ3MTBtU2tsUVZrTjlxMFJTeWctYlIxUElVRmJNTjl1aE1nQVJLNUVSRk82cUE?oc=5)\n", + "\n", + "3. **2025 노벨문학상 D-1…수상자는 누가 정하나?** \n", + " - [한국경제 기사](https://news.google.com/rss/articles/CBMiWkFVX3lxTE0zaHd3RVowVldBdW1COEtkS29Lc2NXVkUxb0d6OW1NVzhtUEJuNVZrenRxX0pYMFV2TGlhQkRaQkpBS2pLYkRMS2dIck4xcktIcE1sVDBZaFZoQdIBVEFVX3lxTE5fYXBPVE9PalBqcThfSGRIa2R0REJsSVBzNlRWZzktQzlzTDJTdFpqUHo4NHg2aHdJU2dMMUhFRnZ0My1KejRIVVdhNlhNS2FJWE11bA?oc=5)\n", + "\n", + "4. **지난해 도서관 최다 대출 도서는 한강 '소년이 온다'** \n", + " - [뉴스저널리즘 기사](https://news.google.com/rss/articles/CBMia0FVX3lxTFBTOE1zQXVRS2FiSzlDaGVyUDhrVXBHbFF0OEFpVzVTeWZITEZOVTBfdkpxdmFJYmlGRnU2VFAyYzUtZXRGX1M4YmhzWWpPSnhjU09SYnYtZ0pMa0kxZU1IbWQzR09fVWV4Ykdr?oc=5)\n", + "\n", + "5. **[테마스페셜] 한강 작가, 2024 노벨문학상 수상 “세계 사로잡은 독창성”** \n", + " - [knn.co.kr 기사](https://news.google.com/rss/articles/CBMiVkFVX3lxTE9mZ0pEUmFGWUkwWmNQbTgwQTlKeWpEOFc4Yjc5U0tOdTgxUmpXME9wdlBFX3BUWkNNWXhqN1lnNklNWjhMVHg4N2tiLVpKOHowYTU3dVZB?oc=5)\n", + "\n", + "이 뉴스들은 한강 작가와 관련된 내용과 2024년 노벨 문학상의 주요 이슈들에 대해 다루고 있습니다.\n" + ] + } + ], "source": [ "for event in graph.stream(input=input, config=config):\n", " for key, value in event.items():\n", @@ -246,10 +337,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "efe63155", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['messages', 'dummy_data', '__start__', '__pregel_tasks', 'branch:to:chatbot', 'branch:to:tools']\n" + ] + } + ], "source": [ "# channels 에 정의된 키 목록을 출력합니다.\n", "print(list(graph.channels.keys()))" @@ -257,10 +356,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "87efc73e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "[ chatbot ]\n", + "\n", + "dict_keys(['dummy_data'])\n", + "[chatbot] 호출, dummy data\n", + "\n", + "[ tools ]\n", + "\n", + "\n", + "[ chatbot ]\n", + "\n", + "dict_keys(['dummy_data'])\n", + "[chatbot] 호출, dummy data\n" + ] + } + ], "source": [ "# 질문\n", "question = \"2024년 노벨 문학상 관련 뉴스를 알려주세요.\"\n", @@ -295,10 +414,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "9cecf357", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "[ chatbot ]\n", + "\n", + "\n", + "\n", + "[ tools ]\n", + "\n", + "[{\"url\": \"https://news.google.com/rss/articles/CBMiQkFVX3lxTE9QemstQnJSeXZvc2lQWk56dHlFZXEzNGNaMXhmbm5GT2tobHRDcnp2RTROdVlrOUpjdGY2bTloeEJVQQ?oc=5\", \"content\": \"부천시립도서관, ‘2025년 베스트 대출 도서’ 발표 - 브레이크뉴스\"}, {\"url\": \"https://news.google.com/rss/articles/CBMiXkFVX3lxTE8zbzljanBYZmpabGxRRzU4ZlcxaXlCRWxESWFzQ1NfYmptYXU1cXUydzRlVG41NXA2dkpxWWNDeWhXVkFnZDYwb1p2dmdoRWF2WEdROEttbVZTLVNYQVE?oc=5\", \"content\": \"Han Kang’s poetic prose embraces wounds of martial law - 경향신문\"}, {\"url\": \"https://news.google.com/rss/articles/CBMiU0FVX3lxTE84bnZBVzYtTGdJWFNnVG5VeFl5b3B1RVJGUkZvZ3dETjFBU3R6Q0VWTXd2M3UwSXltOHR0WVRhSjBkbTljQ3AwYUdjdFdpd3NvSDk4?oc=5\", \"content\": \"Han Kang Wins Nobel Prize in Literature: A Moment of Honor - 미주한국일보\"}, {\"url\": \"https://news.google.com/rss/articles/CBMiR0FVX3lxTE5xZkFDTzNsZ05QTUNpbUFiQlRZeFZMaDVDTGNKNkt3TXdLeU9qc2xwWld2TXZTZlVDMXpOdUxkWkZUV1FnNlB3?oc=5\", \"content\": \"월간 '리더피플', ‘2025년 대한민국 리더 100인’ 선정 - 브레이크뉴스\"}, {\"url\": \"https://news.google.com/rss/articles/CBMihwNBVV95cUxNSE9FdzRYelhleXFyMFpsb2hFTEZxMkF4eDcxX18zQTh2NWl0cVUzOUdSNXlHOEJ1TFdOeENTZHZFbHFzNVFPTkpYenYya2dJQ3dGUk1fVXNDREhzNnpuN3drWDZzcVYzQjNBSGQ0NnYteDNwNFltZGVUSy0yMWpGN1B1WUQ0TTJhNnlyZktka3YxSWdyZDhOY1NsZkNTMzlNd1VjUldTRlRNeEhjdTJkN2lOX1NkUjctS3VHcUhSOWtvalJtWGY2eHFKUEhXZTFLWGRscGFxb2hrdEdPck41ZmRENlVXNno1NXpCbWY5ZXBvck5hTUJ4OWtudzRFMy1lX0Zrc0owb2c0azV3MVc1aFRNNGpFX19ZQVd5WmVvWk5MTXhOZ2w2Mm9DWmxVVC1BeWRyZE40M1hQVnh5U3BDM0s4X1NhSkZ0ZHVlbE5DYlUyTGVBV1FlbWZUV1U0RE4zbmFFVHNBcWdCUGdNNUhsREp0S2FMRVNhTVpFMjI5akkwbEx3UG5v?oc=5\", \"content\": \"한강의 노벨상 수상, 정치적 혼란 속 맛본 승리의 순간 - Korea JoongAng Daily\"}]\n", + "\n", + "[ chatbot ]\n", + "\n", + "2024년 노벨 문학상에 대한 최근 뉴스는 다음과 같습니다:\n", + "\n", + "1. **한강의 시적 프로즈, 계엄의 상처를 포용하다** \n", + " - [경향신문 기사](https://news.google.com/rss/articles/CBMiXkFVX3lxTE8zbzljanBYZmpabGxRRzU4ZlcxaXlCRWxESWFzQ1NfYmptYXU1cXUydzRlVG41NXA2dkpxWWNDeWhXVkFnZDYwb1p2dmdoRWF2WEdROEttbVZTLVNYQVE?oc=5)\n", + "\n", + "2. **한강, 노벨 문학상 수상: 영예의 순간** \n", + " - [미주한국일보 기사](https://news.google.com/rss/articles/CBMiU0FVX3lxTE84bnZBVzYtTGdJWFNnVG5VeFl5b3B1RVJGUkZvZ3dETjFBU3R6Q0VWTXd2M3UwSXltOHR0WVRhSjBkbTljQ3AwYUdjdFdpd3NvSDk4?oc=5)\n", + "\n", + "3. **한강의 노벨상 수상, 정치적 혼란 속 맛본 승리의 순간** \n", + " - [Korea JoongAng Daily 기사](https://news.google.com/rss/articles/CBMihwNBVV95cUxNSE9FdzRYelhleXFyMFpsb2hFTEZxMkF4eDcxX18zQTh2NWl0cVUzOUdSNXlHOEJ1TFdOeENTZHZFbHFzNVFPTkpYenYya2dJQ3dGUk1fVXNDREhzNnpuN3drWDZzcVYzQjNBSGQ0NnYteDNwNFltZGVUSy0yMWpGN1B1WUQ0TTJhNnlyZktka3YxSWdyZDhOY1NsZkNTMzlNd1VjUldTRlRNeEhjdTJkN2lOX1NkUjctS3VHcUhSOWtvalJtWGY2eHFKUEhXZTFLWGRscGFxb2hrdEdPck41ZmRENlVXNno1NXpCbWY5ZXBvck5hTUJ4OWtudzRFMy1lX0Zrc0owb2c0azV3MVc1aFRNNGpFX19ZQVd5WmVvWk5MTXhOZ2w2Mm9DWmxVVC1BeWRyZE40M1hQVnh5U3BDM0s4X1NhSkZ0ZHVlbE5DYlUyTGVBV1FlbWZUV1U0RE4zbmFFVHNBcWdCUGdNNUhsREp0S2FMRVNhTVpFMjI5akkwbEx3UG5v?oc=5)\n", + "\n", + "이 기사들은 한강 작가의 노벨 문학상 수상과 관련된 다양한 측면을 다루고 있습니다.\n" + ] + } + ], "source": [ "# 질문\n", "question = \"2024년 노벨 문학상 관련 뉴스를 알려주세요.\"\n", @@ -337,7 +486,11 @@ "`stream_mode` 옵션은 스트리밍 출력 모드를 지정하는 데 사용됩니다.\n", "\n", "- `values`: 각 단계의 현재 상태 값 출력 \n", - "- `updates`: 각 단계의 상태 업데이트만 출력 (기본값)" + "- `updates`: 각 단계의 상태 업데이트만 출력 (기본값)\n", + "\n", + "아래 다이어그램은 두 모드의 차이를 보여줍니다.\n", + "\n", + "![stream_mode 비교](./assets/stream-mode-comparison.png)" ] }, { @@ -359,10 +512,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "89eff21c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "[ messages ]\n", + "\n", + "메시지 개수: 1\n", + "\n", + "[ dummy_data ]\n", + "\n", + "============================== 단계 ==============================\n", + "\n", + "[ messages ]\n", + "\n", + "메시지 개수: 2\n", + "\n", + "[ dummy_data ]\n", + "\n", + "============================== 단계 ==============================\n", + "\n", + "[ messages ]\n", + "\n", + "메시지 개수: 3\n", + "\n", + "[ dummy_data ]\n", + "\n", + "============================== 단계 ==============================\n", + "\n", + "[ messages ]\n", + "\n", + "메시지 개수: 4\n", + "\n", + "[ dummy_data ]\n", + "\n", + "============================== 단계 ==============================\n" + ] + } + ], "source": [ "# 질문\n", "question = \"2024년 노벨 문학상 관련 뉴스를 알려주세요.\"\n", @@ -370,17 +562,18 @@ "# 초기 입력 State 를 정의\n", "input = State(dummy_data=\"테스트 문자열\", messages=[(\"user\", question)])\n", "\n", - "# config 설정\n", + "# config 설정 (새로운 thread_id 사용)\n", "config = RunnableConfig(\n", - " recursion_limit=10, # 최대 10개의 노드까지 방문. 그 이상은 RecursionError 발생\n", - " configurable={\"thread_id\": \"1\"}, # 스레드 ID 설정\n", - " tags=[\"my-rag\"], # Tag\n", + " recursion_limit=10,\n", + " configurable={\"thread_id\": \"values-mode-test\"}, # thread_id 필수\n", + " tags=[\"my-rag\"],\n", ")\n", "\n", "# values 모드로 스트리밍 출력\n", "for event in graph.stream(\n", " input=input,\n", - " stream_mode=\"values\", # 기본값\n", + " config=config, # checkpointer 사용 시 config 필수\n", + " stream_mode=\"values\",\n", "):\n", " for key, value in event.items():\n", " # key 는 state 의 key 값\n", @@ -412,10 +605,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "2124b916", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "[ chatbot ]\n", + "\n", + "dict_keys(['messages', 'dummy_data'])\n", + "메시지 개수: 1\n", + "============================== 단계 ==============================\n", + "\n", + "[ tools ]\n", + "\n", + "dict_keys(['messages'])\n", + "메시지 개수: 1\n", + "============================== 단계 ==============================\n", + "\n", + "[ chatbot ]\n", + "\n", + "dict_keys(['messages', 'dummy_data'])\n", + "메시지 개수: 1\n", + "============================== 단계 ==============================\n" + ] + } + ], "source": [ "# 질문\n", "question = \"2024년 노벨 문학상 관련 뉴스를 알려주세요.\"\n", @@ -423,17 +641,18 @@ "# 초기 입력 State 를 정의\n", "input = State(dummy_data=\"테스트 문자열\", messages=[(\"user\", question)])\n", "\n", - "# config 설정\n", + "# config 설정 (새로운 thread_id 사용)\n", "config = RunnableConfig(\n", - " recursion_limit=10, # 최대 10개의 노드까지 방문. 그 이상은 RecursionError 발생\n", - " configurable={\"thread_id\": \"1\"}, # 스레드 ID 설정\n", - " tags=[\"my-rag\"], # Tag\n", + " recursion_limit=10,\n", + " configurable={\"thread_id\": \"updates-mode-test\"}, # thread_id 필수\n", + " tags=[\"my-rag\"],\n", ")\n", "\n", "# updates 모드로 스트리밍 출력\n", "for event in graph.stream(\n", " input=input,\n", - " stream_mode=\"updates\", # 기본값\n", + " config=config, # checkpointer 사용 시 config 필수\n", + " stream_mode=\"updates\",\n", "):\n", " for key, value in event.items():\n", " # key 는 노드 이름\n", @@ -454,101 +673,193 @@ "id": "d98b21a8", "metadata": {}, "source": [ - "### `interrupt_before` 와 `interrupt_after` 옵션\n", + "## `interrupt_before`와 `interrupt_after` 옵션\n", + "\n", + "LangGraph v1에서 `interrupt_before`와 `interrupt_after` 옵션은 **`compile()` 메서드**에서 설정합니다. 이 옵션들은 Human-in-the-Loop(HITL) 패턴을 구현할 때 유용하며, 특정 노드 실행 전후에 그래프 실행을 일시 중단합니다.\n", + "\n", + "- `interrupt_before`: 지정된 노드 **실행 전**에 중단\n", + "- `interrupt_after`: 지정된 노드 **실행 후**에 중단\n", + "\n", + "**중요**: interrupt 기능을 사용하려면 반드시 `checkpointer`가 필요합니다. 체크포인터가 있어야 중단된 지점의 상태를 저장하고, 이후 `invoke(None, config)`로 재개할 수 있습니다.\n", "\n", - "`interrupt_before` 와 `interrupt_after` 옵션은 스트리밍 중단 시점을 지정하는 데 사용됩니다.\n", + "아래 다이어그램은 두 옵션의 중단 시점 차이를 보여줍니다.\n", "\n", - "- `interrupt_before`: 지정된 노드 이전에 스트리밍 중단\n", - "- `interrupt_after`: 지정된 노드 이후에 스트리밍 중단\n" + "![interrupt_before vs interrupt_after](./assets/interrupt-flow.png)\n", + "\n", + "아래 코드에서는 `interrupt_before`를 사용하여 `tools` 노드 실행 전에 중단되는 그래프를 컴파일합니다." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "6f583a38", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "=== interrupt_before=['tools'] 테스트 ===\n", + "\n", + "tools 노드 실행 전에 중단됩니다.\n", + "\n", + "\n", + "[chatbot]\n", + "\n", + "출력 키: dict_keys(['messages', 'dummy_data'])\n", + "메시지 개수: 1\n", + "도구 호출 요청: search_keyword\n", + "========================================\n", + "\n", + "[__interrupt__]\n", + "\n", + "========================================\n", + "\n", + "현재 상태 - 다음 실행 노드: ('tools',)\n" + ] + } + ], "source": [ + "# interrupt_before를 사용하는 그래프 컴파일\n", + "graph_with_interrupt_before = graph_builder.compile(\n", + " checkpointer=MemorySaver(),\n", + " interrupt_before=[\"tools\"], # tools 노드 실행 전에 중단\n", + ")\n", + "\n", "# 질문\n", "question = \"2024년 노벨 문학상 관련 뉴스를 알려주세요.\"\n", "\n", - "# 초기 입력 State 를 정의\n", + "# 초기 입력 State를 정의\n", "input = State(dummy_data=\"테스트 문자열\", messages=[(\"user\", question)])\n", "\n", - "# config 설정\n", + "# config 설정 (새로운 thread_id 사용)\n", "config = RunnableConfig(\n", - " recursion_limit=10, # 최대 10개의 노드까지 방문. 그 이상은 RecursionError 발생\n", - " configurable={\"thread_id\": \"1\"}, # 스레드 ID 설정\n", - " tags=[\"my-rag\"], # Tag\n", + " recursion_limit=10,\n", + " configurable={\"thread_id\": \"interrupt-before-test\"},\n", ")\n", "\n", - "for event in graph.stream(\n", + "print(\"=== interrupt_before=['tools'] 테스트 ===\\n\")\n", + "print(\"tools 노드 실행 전에 중단됩니다.\\n\")\n", + "\n", + "for event in graph_with_interrupt_before.stream(\n", " input=input,\n", " config=config,\n", - " stream_mode=\"updates\", # 기본값\n", - " interrupt_before=[\"tools\"], # tools 노드 이전에 스트리밍 중단\n", + " stream_mode=\"updates\",\n", "):\n", " for key, value in event.items():\n", - " # key 는 노드 이름\n", + " # key는 노드 이름\n", " print(f\"\\n[{key}]\\n\")\n", "\n", - " # value 는 노드의 출력값\n", + " # value는 노드의 출력값\n", " if isinstance(value, dict):\n", - " print(value.keys())\n", + " print(f\"출력 키: {value.keys()}\")\n", " if \"messages\" in value:\n", - " print(value[\"messages\"])\n", + " print(f\"메시지 개수: {len(value['messages'])}\")\n", + " # 마지막 메시지 내용 출력\n", + " last_msg = value[\"messages\"][-1]\n", + " if hasattr(last_msg, \"tool_calls\") and last_msg.tool_calls:\n", + " print(f\"도구 호출 요청: {last_msg.tool_calls[0]['name']}\")\n", + " print(\"=\" * 40)\n", + "\n", + "# 중단 후 상태 확인\n", + "state = graph_with_interrupt_before.get_state(config)\n", + "print(f\"\\n현재 상태 - 다음 실행 노드: {state.next}\")" + ] + }, + { + "cell_type": "markdown", + "id": "bgcjoa94cjr", + "metadata": {}, + "source": [ + "### `interrupt_after` 예제\n", "\n", - " # value 에는 state 가 dict 형태로 저장(values 의 key 값)\n", - " if \"messages\" in value:\n", - " print(f\"메시지 개수: {len(value['messages'])}\")\n", - " print(\"===\" * 10, \" 단계 \", \"===\" * 10)" + "`interrupt_after`는 지정된 노드가 **실행된 후**에 그래프를 중단합니다. 도구 실행 결과를 확인한 후 다음 단계로 진행할지 결정하는 시나리오에 유용합니다.\n", + "\n", + "아래 코드에서는 `interrupt_after`를 사용하여 `tools` 노드 실행 후에 중단되는 그래프를 컴파일합니다." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "33dc67a2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "=== interrupt_after=['tools'] 테스트 ===\n", + "\n", + "tools 노드 실행 후에 중단됩니다.\n", + "\n", + "\n", + "[chatbot]\n", + "\n", + "출력 키: dict_keys(['messages', 'dummy_data'])\n", + "메시지 개수: 1\n", + "========================================\n", + "\n", + "[tools]\n", + "\n", + "출력 키: dict_keys(['messages'])\n", + "메시지 개수: 1\n", + "========================================\n", + "\n", + "[__interrupt__]\n", + "\n", + "========================================\n", + "\n", + "현재 상태 - 다음 실행 노드: ('chatbot',)\n" + ] + } + ], "source": [ + "# interrupt_after를 사용하는 그래프 컴파일\n", + "graph_with_interrupt_after = graph_builder.compile(\n", + " checkpointer=MemorySaver(),\n", + " interrupt_after=[\"tools\"], # tools 노드 실행 후에 중단\n", + ")\n", + "\n", "# 질문\n", "question = \"2024년 노벨 문학상 관련 뉴스를 알려주세요.\"\n", "\n", - "# 초기 입력 State 를 정의\n", + "# 초기 입력 State를 정의\n", "input = State(dummy_data=\"테스트 문자열\", messages=[(\"user\", question)])\n", "\n", - "# config 설정\n", + "# config 설정 (새로운 thread_id 사용)\n", "config = RunnableConfig(\n", - " recursion_limit=10, # 최대 10개의 노드까지 방문. 그 이상은 RecursionError 발생\n", - " configurable={\"thread_id\": \"1\"}, # 스레드 ID 설정\n", - " tags=[\"my-rag\"], # Tag\n", + " recursion_limit=10,\n", + " configurable={\"thread_id\": \"interrupt-after-test\"},\n", ")\n", "\n", - "for event in graph.stream(\n", + "print(\"=== interrupt_after=['tools'] 테스트 ===\\n\")\n", + "print(\"tools 노드 실행 후에 중단됩니다.\\n\")\n", + "\n", + "for event in graph_with_interrupt_after.stream(\n", " input=input,\n", " config=config,\n", " stream_mode=\"updates\",\n", - " interrupt_after=[\"tools\"], # tools 실행 후 interrupt\n", "):\n", - " for value in event.values():\n", - " # key 는 노드 이름\n", + " for key, value in event.items():\n", + " # key는 노드 이름\n", " print(f\"\\n[{key}]\\n\")\n", "\n", + " # value는 노드의 출력값\n", " if isinstance(value, dict):\n", - " # value 는 노드의 출력값\n", - " print(value.keys())\n", + " print(f\"출력 키: {value.keys()}\")\n", " if \"messages\" in value:\n", - " print(value[\"messages\"])\n", + " print(f\"메시지 개수: {len(value['messages'])}\")\n", + " print(\"=\" * 40)\n", "\n", - " # value 에는 state 가 dict 형태로 저장(values 의 key 값)\n", - " if \"messages\" in value:\n", - " print(f\"메시지 개수: {len(value['messages'])}\")" + "# 중단 후 상태 확인\n", + "state = graph_with_interrupt_after.get_state(config)\n", + "print(f\"\\n현재 상태 - 다음 실행 노드: {state.next}\")" ] } ], "metadata": { "kernelspec": { - "display_name": "langchain-kr-lwwSZlnu-py3.11", + "display_name": "langgraph-v1-tutorial", "language": "python", "name": "python3" }, @@ -562,9 +873,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.13" } }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/08-Core-Features/assets/chatbot-graph.excalidraw b/08-Core-Features/assets/chatbot-graph.excalidraw new file mode 100644 index 0000000..ad816b0 --- /dev/null +++ b/08-Core-Features/assets/chatbot-graph.excalidraw @@ -0,0 +1,449 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "langgraph-tutorial", + "elements": [ + { + "id": "__start__", + "type": "ellipse", + "x": 200, + "y": 50, + "width": 120, + "height": 50, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "#f3f4f6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 2 }, + "seed": 1001, + "version": 1, + "versionNonce": 1001, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "__start__-text" }, + { "type": "arrow", "id": "arrow-start-chatbot" } + ], + "updated": 1700000000000, + "link": null, + "locked": false + }, + { + "id": "__start__-text", + "type": "text", + "x": 215, + "y": 62, + "width": 90, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 1002, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "text": "__start__", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "__start__", + "originalText": "__start__", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "chatbot", + "type": "rectangle", + "x": 200, + "y": 160, + "width": 120, + "height": 55, + "angle": 0, + "strokeColor": "#ca8a04", + "backgroundColor": "#fef08a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 1003, + "version": 1, + "versionNonce": 1003, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "chatbot-text" }, + { "type": "arrow", "id": "arrow-start-chatbot" }, + { "type": "arrow", "id": "arrow-chatbot-tools" }, + { "type": "arrow", "id": "arrow-chatbot-end" }, + { "type": "arrow", "id": "arrow-tools-chatbot" } + ], + "updated": 1700000000000, + "link": null, + "locked": false + }, + { + "id": "chatbot-text", + "type": "text", + "x": 220, + "y": 175, + "width": 80, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1004, + "version": 1, + "versionNonce": 1004, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "text": "chatbot", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "chatbot", + "originalText": "chatbot", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "tools", + "type": "rectangle", + "x": 80, + "y": 290, + "width": 120, + "height": 55, + "angle": 0, + "strokeColor": "#0d9488", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 1005, + "version": 1, + "versionNonce": 1005, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "tools-text" }, + { "type": "arrow", "id": "arrow-chatbot-tools" }, + { "type": "arrow", "id": "arrow-tools-chatbot" } + ], + "updated": 1700000000000, + "link": null, + "locked": false + }, + { + "id": "tools-text", + "type": "text", + "x": 108, + "y": 305, + "width": 64, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1006, + "version": 1, + "versionNonce": 1006, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "text": "tools", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tools", + "originalText": "tools", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "__end__", + "type": "ellipse", + "x": 320, + "y": 290, + "width": 120, + "height": 50, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "#f3f4f6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 2 }, + "seed": 1007, + "version": 1, + "versionNonce": 1007, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "__end__-text" }, + { "type": "arrow", "id": "arrow-chatbot-end" } + ], + "updated": 1700000000000, + "link": null, + "locked": false + }, + { + "id": "__end__-text", + "type": "text", + "x": 345, + "y": 302, + "width": 70, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1008, + "version": 1, + "versionNonce": 1008, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "text": "__end__", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "__end__", + "originalText": "__end__", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "arrow-start-chatbot", + "type": "arrow", + "x": 260, + "y": 100, + "width": 0, + "height": 60, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1009, + "version": 1, + "versionNonce": 1009, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "points": [[0, 0], [0, 60]], + "startBinding": { "elementId": "__start__", "focus": 0, "gap": 1 }, + "endBinding": { "elementId": "chatbot", "focus": 0, "gap": 1 }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-chatbot-tools", + "type": "arrow", + "x": 215, + "y": 215, + "width": 75, + "height": 75, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1010, + "version": 1, + "versionNonce": 1010, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "points": [[0, 0], [-75, 75]], + "startBinding": { "elementId": "chatbot", "focus": 0, "gap": 1 }, + "endBinding": { "elementId": "tools", "focus": 0, "gap": 1 }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-chatbot-end", + "type": "arrow", + "x": 305, + "y": 215, + "width": 75, + "height": 75, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1011, + "version": 1, + "versionNonce": 1011, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "points": [[0, 0], [75, 75]], + "startBinding": { "elementId": "chatbot", "focus": 0, "gap": 1 }, + "endBinding": { "elementId": "__end__", "focus": 0, "gap": 1 }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-tools-chatbot", + "type": "arrow", + "x": 185, + "y": 290, + "width": 30, + "height": 75, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1012, + "version": 1, + "versionNonce": 1012, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "points": [[0, 0], [30, -75]], + "startBinding": { "elementId": "tools", "focus": 0, "gap": 1 }, + "endBinding": { "elementId": "chatbot", "focus": 0, "gap": 1 }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "condition-label", + "type": "text", + "x": 195, + "y": 250, + "width": 130, + "height": 20, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1013, + "version": 1, + "versionNonce": 1013, + "isDeleted": false, + "boundElements": null, + "updated": 1700000000000, + "link": null, + "locked": false, + "text": "tools_condition", + "fontSize": 12, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "tools_condition", + "autoResize": true, + "lineHeight": 1.25 + } + ], + "appState": { + "theme": "light", + "viewBackgroundColor": "#ffffff", + "currentItemFontFamily": 1 + }, + "files": {} +} diff --git a/08-Core-Features/assets/chatbot-graph.png b/08-Core-Features/assets/chatbot-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b02ba3bba0f2e14af1575b3d9426b82758416488 GIT binary patch literal 25557 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 literal 0 HcmV?d00001 diff --git a/08-Core-Features/assets/interrupt-flow.excalidraw b/08-Core-Features/assets/interrupt-flow.excalidraw new file mode 100644 index 0000000..b6187e2 --- /dev/null +++ b/08-Core-Features/assets/interrupt-flow.excalidraw @@ -0,0 +1,1163 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "claude-code-excalidraw-skill", + "elements": [ + { + "id": "title", + "type": "text", + "x": 150, + "y": 30, + "width": 500, + "height": 40, + "text": "interrupt_before vs interrupt_after", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "interrupt_before vs interrupt_after", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1, + "version": 1, + "versionNonce": 1, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-section-title", + "type": "text", + "x": 60, + "y": 90, + "width": 450, + "height": 30, + "text": "interrupt_before=[\"tools\"]", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "interrupt_before=[\"tools\"]", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2, + "version": 1, + "versionNonce": 2, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-chatbot", + "type": "rectangle", + "x": 60, + "y": 135, + "width": 110, + "height": 55, + "angle": 0, + "strokeColor": "#ca8a04", + "backgroundColor": "#fef08a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 3, + "version": 1, + "versionNonce": 3, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "before-chatbot-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-chatbot-text", + "type": "text", + "x": 70, + "y": 152, + "width": 90, + "height": 20, + "text": "chatbot", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "before-chatbot", + "originalText": "chatbot", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 4, + "version": 1, + "versionNonce": 4, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-pause", + "type": "rectangle", + "x": 210, + "y": 135, + "width": 90, + "height": 55, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fecaca", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 5, + "version": 1, + "versionNonce": 5, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "before-pause-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-pause-text", + "type": "text", + "x": 220, + "y": 152, + "width": 70, + "height": 20, + "text": "PAUSE", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "before-pause", + "originalText": "PAUSE", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 6, + "version": 1, + "versionNonce": 6, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-tools", + "type": "rectangle", + "x": 340, + "y": 135, + "width": 90, + "height": 55, + "angle": 0, + "strokeColor": "#0d9488", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 7, + "version": 1, + "versionNonce": 7, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "before-tools-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-tools-text", + "type": "text", + "x": 350, + "y": 152, + "width": 70, + "height": 20, + "text": "tools", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "before-tools", + "originalText": "tools", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 8, + "version": 1, + "versionNonce": 8, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-chatbot2", + "type": "rectangle", + "x": 470, + "y": 135, + "width": 110, + "height": 55, + "angle": 0, + "strokeColor": "#ca8a04", + "backgroundColor": "#fef08a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 9, + "version": 1, + "versionNonce": 9, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "before-chatbot2-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-chatbot2-text", + "type": "text", + "x": 480, + "y": 152, + "width": 90, + "height": 20, + "text": "chatbot", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "before-chatbot2", + "originalText": "chatbot", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 10, + "version": 1, + "versionNonce": 10, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-end", + "type": "ellipse", + "x": 620, + "y": 137, + "width": 70, + "height": 50, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "#f3f4f6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 2 }, + "seed": 11, + "version": 1, + "versionNonce": 11, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "before-end-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-end-text", + "type": "text", + "x": 635, + "y": 152, + "width": 40, + "height": 20, + "text": "END", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "before-end", + "originalText": "END", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 12, + "version": 1, + "versionNonce": 12, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "before-arrow1", + "type": "arrow", + "x": 170, + "y": 163, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 13, + "version": 1, + "versionNonce": 13, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "before-arrow2", + "type": "arrow", + "x": 300, + "y": 163, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 14, + "version": 1, + "versionNonce": 14, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "before-arrow3", + "type": "arrow", + "x": 430, + "y": 163, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 15, + "version": 1, + "versionNonce": 15, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "before-arrow4", + "type": "arrow", + "x": 580, + "y": 163, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 16, + "version": 1, + "versionNonce": 16, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "before-desc", + "type": "text", + "x": 60, + "y": 205, + "width": 550, + "height": 50, + "text": "Pauses BEFORE tools execution\nUse case: Approve tool execution before running", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Pauses BEFORE tools execution\nUse case: Approve tool execution before running", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 17, + "version": 1, + "versionNonce": 17, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-section-title", + "type": "text", + "x": 60, + "y": 280, + "width": 450, + "height": 30, + "text": "interrupt_after=[\"tools\"]", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "interrupt_after=[\"tools\"]", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#9333ea", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 18, + "version": 1, + "versionNonce": 18, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-chatbot", + "type": "rectangle", + "x": 60, + "y": 325, + "width": 110, + "height": 55, + "angle": 0, + "strokeColor": "#ca8a04", + "backgroundColor": "#fef08a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 19, + "version": 1, + "versionNonce": 19, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "after-chatbot-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-chatbot-text", + "type": "text", + "x": 70, + "y": 342, + "width": 90, + "height": 20, + "text": "chatbot", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "after-chatbot", + "originalText": "chatbot", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 20, + "version": 1, + "versionNonce": 20, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-tools", + "type": "rectangle", + "x": 210, + "y": 325, + "width": 90, + "height": 55, + "angle": 0, + "strokeColor": "#0d9488", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 21, + "version": 1, + "versionNonce": 21, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "after-tools-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-tools-text", + "type": "text", + "x": 220, + "y": 342, + "width": 70, + "height": 20, + "text": "tools", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "after-tools", + "originalText": "tools", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 22, + "version": 1, + "versionNonce": 22, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-pause", + "type": "rectangle", + "x": 340, + "y": 325, + "width": 90, + "height": 55, + "angle": 0, + "strokeColor": "#9333ea", + "backgroundColor": "#e9d5ff", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 23, + "version": 1, + "versionNonce": 23, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "after-pause-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-pause-text", + "type": "text", + "x": 350, + "y": 342, + "width": 70, + "height": 20, + "text": "PAUSE", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "after-pause", + "originalText": "PAUSE", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#9333ea", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 24, + "version": 1, + "versionNonce": 24, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-chatbot2", + "type": "rectangle", + "x": 470, + "y": 325, + "width": 110, + "height": 55, + "angle": 0, + "strokeColor": "#ca8a04", + "backgroundColor": "#fef08a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 25, + "version": 1, + "versionNonce": 25, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "after-chatbot2-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-chatbot2-text", + "type": "text", + "x": 480, + "y": 342, + "width": 90, + "height": 20, + "text": "chatbot", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "after-chatbot2", + "originalText": "chatbot", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 26, + "version": 1, + "versionNonce": 26, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-end", + "type": "ellipse", + "x": 620, + "y": 327, + "width": 70, + "height": 50, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "#f3f4f6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 2 }, + "seed": 27, + "version": 1, + "versionNonce": 27, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "after-end-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-end-text", + "type": "text", + "x": 635, + "y": 342, + "width": 40, + "height": 20, + "text": "END", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "after-end", + "originalText": "END", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 28, + "version": 1, + "versionNonce": 28, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "after-arrow1", + "type": "arrow", + "x": 170, + "y": 353, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 29, + "version": 1, + "versionNonce": 29, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "after-arrow2", + "type": "arrow", + "x": 300, + "y": 353, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 30, + "version": 1, + "versionNonce": 30, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "after-arrow3", + "type": "arrow", + "x": 430, + "y": 353, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#9333ea", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 31, + "version": 1, + "versionNonce": 31, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "after-arrow4", + "type": "arrow", + "x": 580, + "y": 353, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 32, + "version": 1, + "versionNonce": 32, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "after-desc", + "type": "text", + "x": 60, + "y": 395, + "width": 550, + "height": 50, + "text": "Pauses AFTER tools execution\nUse case: Review tool results before continuing", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Pauses AFTER tools execution\nUse case: Review tool results before continuing", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 33, + "version": 1, + "versionNonce": 33, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "resume-note", + "type": "rectangle", + "x": 60, + "y": 470, + "width": 630, + "height": 55, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "#f3f4f6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 34, + "version": 1, + "versionNonce": 34, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "resume-note-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "resume-note-text", + "type": "text", + "x": 70, + "y": 485, + "width": 610, + "height": 25, + "text": "Resume: graph.invoke(None, config) to continue from paused state", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "resume-note", + "originalText": "Resume: graph.invoke(None, config) to continue from paused state", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 35, + "version": 1, + "versionNonce": 35, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + } + ], + "appState": { + "gridSize": 20, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/08-Core-Features/assets/interrupt-flow.png b/08-Core-Features/assets/interrupt-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..d30e5d56f8afe4bc82244004aeeb6310dc31dffb GIT binary patch literal 105223 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 literal 0 HcmV?d00001 diff --git a/08-Core-Features/assets/stream-mode-comparison.excalidraw b/08-Core-Features/assets/stream-mode-comparison.excalidraw new file mode 100644 index 0000000..4fd127c --- /dev/null +++ b/08-Core-Features/assets/stream-mode-comparison.excalidraw @@ -0,0 +1,1010 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "claude-code-excalidraw-skill", + "elements": [ + { + "id": "title", + "type": "text", + "x": 180, + "y": 30, + "width": 350, + "height": 35, + "text": "stream_mode Comparison", + "fontSize": 28, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "stream_mode Comparison", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1, + "version": 1, + "versionNonce": 1, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "flow-title", + "type": "text", + "x": 60, + "y": 90, + "width": 200, + "height": 24, + "text": "Graph Execution Flow:", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Graph Execution Flow:", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 2, + "version": 1, + "versionNonce": 2, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "start-node", + "type": "ellipse", + "x": 60, + "y": 130, + "width": 80, + "height": 50, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "#f3f4f6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 2 }, + "seed": 3, + "version": 1, + "versionNonce": 3, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "start-node-text" }, + { "type": "arrow", "id": "arrow-start-chatbot1" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "start-node-text", + "type": "text", + "x": 70, + "y": 145, + "width": 60, + "height": 20, + "text": "START", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "start-node", + "originalText": "START", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 4, + "version": 1, + "versionNonce": 4, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "chatbot1-node", + "type": "rectangle", + "x": 180, + "y": 127, + "width": 100, + "height": 55, + "angle": 0, + "strokeColor": "#ca8a04", + "backgroundColor": "#fef08a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 5, + "version": 1, + "versionNonce": 5, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "chatbot1-node-text" }, + { "type": "arrow", "id": "arrow-start-chatbot1" }, + { "type": "arrow", "id": "arrow-chatbot1-tools" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "chatbot1-node-text", + "type": "text", + "x": 190, + "y": 145, + "width": 80, + "height": 20, + "text": "chatbot", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "chatbot1-node", + "originalText": "chatbot", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 6, + "version": 1, + "versionNonce": 6, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "tools-node", + "type": "rectangle", + "x": 320, + "y": 127, + "width": 80, + "height": 55, + "angle": 0, + "strokeColor": "#0d9488", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 7, + "version": 1, + "versionNonce": 7, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "tools-node-text" }, + { "type": "arrow", "id": "arrow-chatbot1-tools" }, + { "type": "arrow", "id": "arrow-tools-chatbot2" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "tools-node-text", + "type": "text", + "x": 335, + "y": 145, + "width": 50, + "height": 20, + "text": "tools", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tools-node", + "originalText": "tools", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 8, + "version": 1, + "versionNonce": 8, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "chatbot2-node", + "type": "rectangle", + "x": 440, + "y": 127, + "width": 100, + "height": 55, + "angle": 0, + "strokeColor": "#ca8a04", + "backgroundColor": "#fef08a", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 9, + "version": 1, + "versionNonce": 9, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "chatbot2-node-text" }, + { "type": "arrow", "id": "arrow-tools-chatbot2" }, + { "type": "arrow", "id": "arrow-chatbot2-end" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "chatbot2-node-text", + "type": "text", + "x": 450, + "y": 145, + "width": 80, + "height": 20, + "text": "chatbot", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "chatbot2-node", + "originalText": "chatbot", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 10, + "version": 1, + "versionNonce": 10, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "end-node", + "type": "ellipse", + "x": 580, + "y": 130, + "width": 70, + "height": 50, + "angle": 0, + "strokeColor": "#6b7280", + "backgroundColor": "#f3f4f6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 2 }, + "seed": 11, + "version": 1, + "versionNonce": 11, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "end-node-text" }, + { "type": "arrow", "id": "arrow-chatbot2-end" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "end-node-text", + "type": "text", + "x": 595, + "y": 145, + "width": 40, + "height": 20, + "text": "END", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "end-node", + "originalText": "END", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 12, + "version": 1, + "versionNonce": 12, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "arrow-start-chatbot1", + "type": "arrow", + "x": 140, + "y": 155, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 13, + "version": 1, + "versionNonce": 13, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-chatbot1-tools", + "type": "arrow", + "x": 280, + "y": 155, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 14, + "version": 1, + "versionNonce": 14, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-tools-chatbot2", + "type": "arrow", + "x": 400, + "y": 155, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 15, + "version": 1, + "versionNonce": 15, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-chatbot2-end", + "type": "arrow", + "x": 540, + "y": 155, + "width": 40, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 16, + "version": 1, + "versionNonce": 16, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [40, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "values-section-title", + "type": "text", + "x": 60, + "y": 220, + "width": 350, + "height": 28, + "text": "stream_mode=\"values\"", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "stream_mode=\"values\"", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 17, + "version": 1, + "versionNonce": 17, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "values-desc", + "type": "text", + "x": 60, + "y": 250, + "width": 350, + "height": 22, + "text": "Each step outputs FULL State", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Each step outputs FULL State", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 18, + "version": 1, + "versionNonce": 18, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "values-step1-box", + "type": "rectangle", + "x": 60, + "y": 285, + "width": 260, + "height": 100, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 19, + "version": 1, + "versionNonce": 19, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "values-step1-box-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "values-step1-box-text", + "type": "text", + "x": 70, + "y": 300, + "width": 240, + "height": 70, + "text": "Step 1: chatbot\nmessages: [user, ai]\ndummy_data: \"...\"", + "fontSize": 14, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "values-step1-box", + "originalText": "Step 1: chatbot\nmessages: [user, ai]\ndummy_data: \"...\"", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 20, + "version": 1, + "versionNonce": 20, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "values-step2-box", + "type": "rectangle", + "x": 380, + "y": 285, + "width": 280, + "height": 100, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 21, + "version": 1, + "versionNonce": 21, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "values-step2-box-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "values-step2-box-text", + "type": "text", + "x": 390, + "y": 300, + "width": 260, + "height": 70, + "text": "Step 2: tools\nmessages: [user, ai, tool]\ndummy_data: \"...\"", + "fontSize": 14, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "values-step2-box", + "originalText": "Step 2: tools\nmessages: [user, ai, tool]\ndummy_data: \"...\"", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 22, + "version": 1, + "versionNonce": 22, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "values-arrow", + "type": "arrow", + "x": 320, + "y": 335, + "width": 60, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 23, + "version": 1, + "versionNonce": 23, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [60, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "updates-section-title", + "type": "text", + "x": 60, + "y": 420, + "width": 450, + "height": 28, + "text": "stream_mode=\"updates\" (default)", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "stream_mode=\"updates\" (default)", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#0d9488", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 24, + "version": 1, + "versionNonce": 24, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "updates-desc", + "type": "text", + "x": 60, + "y": 450, + "width": 450, + "height": 22, + "text": "Each step outputs ONLY changes (node name as key)", + "fontSize": 14, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Each step outputs ONLY changes (node name as key)", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 25, + "version": 1, + "versionNonce": 25, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "updates-step1-box", + "type": "rectangle", + "x": 60, + "y": 485, + "width": 260, + "height": 110, + "angle": 0, + "strokeColor": "#0d9488", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 26, + "version": 1, + "versionNonce": 26, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "updates-step1-box-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "updates-step1-box-text", + "type": "text", + "x": 70, + "y": 500, + "width": 240, + "height": 80, + "text": "Step 1:\n{\"chatbot\": {\n messages: [ai_msg]\n}}", + "fontSize": 14, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "updates-step1-box", + "originalText": "Step 1:\n{\"chatbot\": {\n messages: [ai_msg]\n}}", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 27, + "version": 1, + "versionNonce": 27, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "updates-step2-box", + "type": "rectangle", + "x": 380, + "y": 485, + "width": 260, + "height": 110, + "angle": 0, + "strokeColor": "#0d9488", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { "type": 3 }, + "seed": 28, + "version": 1, + "versionNonce": 28, + "isDeleted": false, + "boundElements": [ + { "type": "text", "id": "updates-step2-box-text" } + ], + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "updates-step2-box-text", + "type": "text", + "x": 390, + "y": 500, + "width": 240, + "height": 80, + "text": "Step 2:\n{\"tools\": {\n messages: [tool_msg]\n}}", + "fontSize": 14, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": "updates-step2-box", + "originalText": "Step 2:\n{\"tools\": {\n messages: [tool_msg]\n}}", + "lineHeight": 1.25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 29, + "version": 1, + "versionNonce": 29, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "updates-arrow", + "type": "arrow", + "x": 320, + "y": 540, + "width": 60, + "height": 0, + "angle": 0, + "strokeColor": "#4b5563", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 30, + "version": 1, + "versionNonce": 30, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [[0, 0], [60, 0]], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + } + ], + "appState": { + "gridSize": 20, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/08-Core-Features/assets/stream-mode-comparison.png b/08-Core-Features/assets/stream-mode-comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..64790ba65fb86fd5101e5ae1cf8b88e6751c226d GIT binary patch literal 103969 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

Q)Cu2BGIkzXE?J<9OuB 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 literal 0 HcmV?d00001