노드에게 데이터를 전달하려고 하는데요. from langgraph.graph import START, END graph_builder.add_edge(START, 'order_detection_agent') graph_builder.add_conditional_edges('order_detection_agent', should_continue_user_info, [END, 'parser_agent']) graph_builder.add_edge('parser_agent', END) 구조는 이러한데, def order_detection_agent(state: AgentState) -> AgentState: products = get_products() query = state['question'] rag_chain = order_detection_prompt | llm | StrOutputParser() response = rag_chain.invoke({'query': query, 'products': products}) print("order_agent 주문 판단 여부:", response) print(products['products']) if response.strip().lower() == 'true': state['products'] = products['products'] return 'parser_agent', state return {'message': '주문이 아닌 것으로 판단.'} 이 노드에서 return 'parser_agent', state 이런식으로 노드별로 데이터 전달이 가능한 것은 확인하였습니다. 다만, should_continue를 통과하게 되면 에러가 나는데 should_continue를 통과하여 데이터를 전달할 수는 없나요?
저두 아래 질문 올려주신분(라이언님)과 동일한 오류가 계속 발생해서, 재발급도 해보고, 생성된 비밀번호의 빈칸도 없앤 후 인코딩도 해보고, ai 들에게 직접 인코딩도 시켜보고.. 계속 햇는데도 동일한 오류만 발생하네요. Authorization failed - please check your credentials 죄송하지만, 이 택소노미에 용어를 만들도록 허용하지 않았습니다. { "errorMessage": "Authorization failed - please check your credentials", "errorDescription": "죄송하지만, 이 택소노미에 용어를 만들도록 허용하지 않았습니다.", "errorDetails": { "rawErrorMessage": [ "401 - \"{\\\"code\\\":\\\"rest_cannot_create\\\",\\\"message\\\":\\\"\\\\uc8c4\\\\uc1a1\\\\ud558\\\\uc9c0\\\\ub9cc, \\\\uc774 \\\\ud0dd\\\\uc18c\\\\ub178\\\\ubbf8\\\\uc5d0 \\\\uc6a9\\\\uc5b4\\\\ub97c \\\\ub9cc\\\\ub4e4\\\\ub3c4\\\\ub85d \\\\ud5c8\\\\uc6a9\\\\ud558\\\\uc9c0 \\\\uc54a\\\\uc558\\\\uc2b5\\\\ub2c8\\\\ub2e4.\\\",\\\"data\\\":{\\\"status\\\":401}}\"" ], "httpCode": "401" }, "n8nDetails": { "nodeName": "Create Tag", "nodeType": "n8n-nodes-base.httpRequest", "nodeVersion": 4.2, "itemIndex": 0, "time": "2025. 9. 25. 오전 7:26:19", "n8nVersion": "1.111.1 (Self Hosted)", "binaryDataMode": "filesystem", "stackTrace": [ "NodeApiError: Authorization failed - please check your credentials", " at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:847:16)", " at processTicksAndRejections (node:internal/process/task_queues:105:5)", " at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1254:8)", " at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1428:11)", " at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1760:27", " at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2337:11" ] } } 강사님께서 제시해준 curl 명령어 날리면, HTTP/2 401 상태가 계속 나오네요.. 환경은 맵북에 도커로 n8n과 wordpress 각각 올렸고, 이번 강의 초반 내용과는 다르게 cloudflared로 터널링해서 https 사용하고 있습니다. n8n과 blog를 서브 도메인으로 사용중입니다. 이 환경으로 이번장까지는 잘 따라 왔는데 결국은 환경 문제일까요? 밤늦게까지 해도 안되고, 새벽에 일어나서 해도 안되고.. 머리가 점점 멍해집니다.ㅠㅠ 어떻게 해야 될지...도와주세요~
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
현재 바이브코딩 강의를 구입한 사람입니다. 저는 현재 자영업을하면서 향후 웹서비스 창업을염두해서 본강좌를 미리 구입해둔상태이고 학습을 할수있는 상황은아닙니다. 쿠폰보니까 첼린지 쿠폰이 발급되어있던데 이미 강의를 구입한사람일경우 첼린지강의를 신청하면 새로운내용을 더 얻어갈수있는건가요??? 기존강의구입자들은 첼린지를 어떻게 생각해야할지요?
private String makeTempPassword() { StringBuffer buffer = new StringBuffer(); for(int i = 0; i < 10; i++){ buffer.append( (char) ( (int)(Math.random()*55) + 65 )); } return buffer.toString(); } 해당 코드에서 StringBuilder가 아닌 StringBuffer를 사용하는 이유가 따로 있나요?? 성능적으로 큰 차이는 없겠지만 혹시 특별한 이유가 있는지 궁금해서 여쭤봅니다!!
안녕하세요 준형님! 우선, 강의 정말 잘 들었습니다. 정말 정말 많이 배웠습니다 🙇🏻🙇🏻🙇🏻 다름이 아니라, 데이터 버저닝 파트에서 컨슈머의 멱등성을 보장하기 위해 주문 서비스가 재고 차감 이벤트에 version을 담고, 상품 서비스에서는 JPA가 관리하는 상품 version과 이를 동등성 비교하여 중복 소비를 방지하는 방식에 대해 질문드리고 싶습니다. 이 접근 방식에서 많은 인사이트를 얻었지만, 상품의 version을 주문 서비스가 반드시 알아야 한다는 점은 조금 와닿지 않았습니다. 테스트에서는 version = 0부터 시작하니 문제가 없어 보였으나, 여러 이유로 두 version 값이 어긋나면 오히려 소비해야 할 이벤트까지 멱등 처리되어 버릴 수 있다고 생각했습니다. 그렇다고 이를 해결하기 위해 주문 서비스가 상품 서비스로부터 version 이벤트를 직접 받아 관리하는 것도 과한 방식처럼 느껴지는데요, 이 부분에 대해 준형님의 의견을 들을 수 있다면 좋을 것 같습니다. 시간 편하실 때 부담없이 답변 주시면 감사하겠습니다 🙂
안녕하세요 우선 답변 정말 감사드립니다. 일단 말씀 해주신대로 해당 프로젝트에서 set PYTHONUTF8=1 명령어를 입력하고 다시 실행 했지만 계속 동일한 에러가 발생하고 있습니다. poetry shell 해당 명령어도 잘 되는 걸까요? 음... 라이브러리 설치가 안되서.. 강의 진행이 더 이상 안되네요... ChatGPT 도움도 요청 해보았지만 매끄러운 답변은 못 해주고 있어서 어쩔 수 없이 여기로 질문 글 드립니다. 기왕 돈 지불 하고 구입 한 강의 인데.. 여기서 포기 할 수 없습니다.ㅠㅠ 그래도 끝까지 들어야 하지 않나 해서요... 답변 부탁드립니다 ㅠ,ㅠ 참고로 OS 는 윈도우 입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. if(!StringUtils.hasText(item.getItemName())){ // 글자가 없으면 bindingResult.rejectValue("itemName", "required"); } if(item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000){ bindingResult.rejectValue("price", "range", new Object[]{1000, 1000000}, null); } if(item.getQuantity() == null || item.getQuantity() >= 9999){ bindingResult.rejectValue("quantity", "max", new Object[]{9999}, null); }; // errors.properties required.item.itemName=상품 이름은 필수입니다. range.item.price=가격은 {0} ~ {1} 까지 허용합니다. max.item.quantity=수량은 최대 {0} 까지 허용합니다. totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1} rejectValue()로 price와 quantity를 넘겨서 유효성 검사에서 실패해서 error를 넘겨주는데 왜 전역 에러로는 뜨는데 필드 에러로는 안뜨는거죠?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. if(!StringUtils.hasText(item.getItemName())){ // 글자가 없으면 bindingResult.rejectValue("itemName", "required"); } if(item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000){ bindingResult.rejectValue("price", "range", new Object[]{1000, 1000000}, null); } if(item.getQuantity() == null || item.getQuantity() >= 9999){ bindingResult.rejectValue("quantity", "max", new Object[]{9999}, null); }; // errors.properties required.item.itemName=상품 이름은 필수입니다. range.item.price=가격은 {0} ~ {1} 까지 허용합니다. max.item.quantity=수량은 최대 {0} 까지 허용합니다. totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1} rejectValue()로 price와 quantity를 넘겨서 유효성 검사에서 실패해서 error를 넘겨주는데 왜 전역 에러로는 뜨는데 필드 에러로는 안뜨는거죠?
안녕하세요! 제주코베이스캠프님! 게임을 제작하는 데 큰 도움이 되고 있습니다! player, mob, background 이미지를 변경하고 싶은데, 이미지를 다운받을 수 있는 공간이 따로 있을까요? 특히 player, mob 이미지는 크기도 중요하고 6개(또는 7개) 의 이미지로 구성되어 있어, 다른 이미지로 변경하기 영 어렵네요..ㅜ