묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
그래프 구현 조언 부탁드립니다!
안녕하십니까! 강사님! 항상 질문에 대한 답변을 잘 해주심에 감사드립니다!목표는 학교 정보 챗봇이고 강사님의 강의 수강을 바탕으로 그래프 구현해보고 있습니다.현재 에이전트로는1) 웹 크롤링 하고 임베딩 시킨 정보를 바탕으로답변해주는 에이전트(학사일정, 장학금, 휴학 등)2) 의도와 다른 질문이 왔을 때 답변해주는 기본 llm현재 이렇게 있습니다 여기다가 에이전트를 하나 더 추가해서 멀티 에이전트로 라우팅해서 사용하거나 툴콜링 기법을 연습해보려 하는데 추가 계획중인 에이전트는 다음과 같습니다.3) 웹 사이트 공지사항에 대한 정보를 기반으로 답변해주는 에이전트공지사항은 실시간성과 특정 기간에 대한 정보가 강하기 때문에 에이전트를 분리해야한다고 생각했습니다.위의 해당 내용을 구현하기 위해서는 공지사항 크롤링 자동화 파이프라인을 구축한 후 이를 실시간으로 계속 임베딩을 시켜야할지 아니면 임베딩 기법이 아닌 다른 방법으로 구현하는게 좋을지에 대한 의문이 있습니다. 경험이 많으신 강사님께서의 노하우가 궁금합니다!또한 위처럼 구현하게 될 경우 1번 에이전트와 3번 에이전트를 라우터 할때 시스템 프롬포트가 애매하다고 생각됩니다. 강사님이라면 어떻게 하실지 노하우에 대한 조언을 듣고 싶습니다!!지식이 부족해서 깔끔하게 질문을 드리지 못함에 죄송합니다..! 감사합니다
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
3.3 강의 에러 질문
안녕하세요 좋은 강의 감사드립니다.3.3 강의를 듣고 있는데 코드에 오류가 발생해서 질문드립니다. chatgpt에도 물어봤는데 오류가 해결되지 않네요 tool_node.invoke({'messages': [ai_message]})부분에서 아래와 같은 오류가 발생합니다. ---------------------------------------------------------------------------ValueError Traceback (most recent call last) Cell In[10], line 4 1 # tool_node를 직접 invoke 하는 경우 이런 형식으로 해야 하고, ai message가 가장 마지막에 들어가야 한다. 2 # ai message는 반드시 tool_calls 값을 가지고 있어야 한다. ----> 4 tool_node.invoke({'messages': [ai_message], 'tools' : tool_list}) File c:\Users\user\miniconda3\envs\langgraph-agent-inf\Lib\site-packages\langgraph\_internal\_runnable.py:368, in RunnableCallable.invoke(self, input, config, **kwargs)366 if kw_value is MISSING: 367 if default is inspect.Parameter.empty: --> 368 raise ValueError( 369f"Missing required config key '{runtime_key}' for '{self.name}'."370 ) 371 kw_value = default 372 kwargs[kw] = kw_value ValueError: Missing required config key 'N/A' for 'tools'.혹시 몰라서 아래와 같이 해봤는데도 같은 오류가 발생합니다. tool_node.invoke({'messages': [ai_message], 'tools' : tool_list}) 기존 코드에서 바꾼것은 없고, 다만 azurechatopenai 대신 chatopenai를 직접 사용해서 llm, small_llm을 이렇게 정의했습니다.llm = ChatOpenAI(model='gpt-4o') small_llm = ChatOpenAI(model='gpt-4o-mini') 어디가 오류의 원인인걸까요 ㅠ?
-
미해결누구나 쉽게 배우는 MCP (올해동안 지속적인 업데이트)
"2. 강의수강 꿀팁"에 아무것도 나오지 않습니다. 확인 부탁드립니다.
궁금한 점이나 추가로 확인이 필요한 내용이 있다면 언제든지 질"2. 강의수강 꿀팁"에 아무것도 나오지 않습니다. 확인 부탁드립니다.문해주세요. :)
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.2 강의 질문(markdown 생성관련)
선생님 안녕하세요좋은 강의 감사합니다. 바로 아래 질문 올린 수강생입니다. 강의에 나온대로 openai api를 사용해서 pdf 파일을 markdown으로 변환하는데, 아래와 같은 오류(?) 메시지가 뜨다가, 맨 마지막에는 결과물이 나오긴 합니다.import nest_asyncio nest_asyncio.apply() from pyzerox import zerox import os import json import asyncio kwargs = {} ## Vision 모델에 사용할 시스템 프롬프트 custom_system_prompt = None model = "gpt-4o-mini" # os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY") # 메인 비동기 진입점을 정의합니다 async def main(): file_path = "./documents/income_tax.pdf" ## 로컬 파일 경로 및 파일 URL 지원 ## 일부 페이지 또는 전체 페이지를 처리 select_pages = None ## 전체는 None, 특정 페이지는 int 또는 list(int) 페이지 번호 (1부터 시작) output_dir = "./documents" ## 통합된 마크다운 파일을 저장할 디렉토리 result = await zerox(file_path=file_path, model=model, output_dir=output_dir, custom_system_prompt=custom_system_prompt, select_pages=select_pages, **kwargs) return result # 메인 함수를 실행합니다: result = asyncio.run(main()) # 마크다운 결과를 출력합니다 print(result)에러 메시지(실제는 이런게 여러번 반복이 됨)Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/newLiteLLM.Info: If you need to debug this error, use `litellm._turn_on_debug()'.ERROR:root:Failed to process image Error: Error in Completion Response. Error: litellm.RateLimitError: RateLimitError: OpenAIException - Rate limit reached for gpt-4o-mini in organization org-ZlBA2iz8ZXx6PbxDnPFaTYOK on tokens per min (TPM): Limit 200000, Used 200000, Requested 807. Please try again in 242ms. Visit https://platform.openai.com/account/rate-limits to learn more. Please check the status of your model provider API status. ERROR:root:Failed to process image Error: Error in Completion Response. Error: litellm.RateLimitError: RateLimitError: OpenAIException - Rate limit reached for gpt-4o-mini in organization org-ZlBA2iz8ZXx6PbxDnPFaTYOK on tokens per min (TPM): Limit 200000, Used 200000, Requested 807. Please try again in 242ms. Visit https://platform.openai.com/account/rate-limits to learn more. Please check the status of your model provider API status. ERROR:root:Failed to process image Error: Error in Completion Response. Error: litellm.RateLimitError: RateLimitError: OpenAIException - Rate limit reached for gpt-4o-mini in organization org-ZlBA2iz8ZXx6PbxDnPFaTYOK on tokens per min (TPM): Limit 200000, Used 200000, Requested 807. Please try again in 242ms. Visit https://platform.openai.com/account/rate-limits to learn more. Please check the status of your model provider API status.Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/newLiteLLM.Info: If you need to debug this error, use litellm._turn_on_debug()'. Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new LiteLLM.Info: If you need to debug this error, use litellm._turn_on_debug()'. Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/newLiteLLM.Info: If you need to debug this error, use `litellm._turn_on_debug()'.ERROR:root:Failed to process image Error: Error in Completion Response. Error: litellm.RateLimitError: RateLimitError: OpenAIException - Rate limit reached for gpt-4o-mini in organization org-ZlBA2iz8ZXx6PbxDnPFaTYOK on tokens per min (TPM): Limit 200000, Used 200000, Requested 807. Please try again in 242ms. Visit https://platform.openai.com/account/rate-limits to learn more. Please check the status of your model provider API status.Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/newLiteLLM.Info: If you need to debug this error, use `litellm._turn_on_debug()'.ERROR:root:Failed to process image Error: Error in Completion Response. Error: litellm.RateLimitError: RateLimitError: OpenAIException - Rate limit reached for gpt-4o-mini in organization org-ZlBA2iz8ZXx6PbxDnPFaTYOK on tokens per min (TPM): Limit 200000, Used 200000, Requested 807. Please try again in 242ms. Visit https://platform.openai.com/account/rate-limits to learn more. Please check the status of your model provider API status.- 결과물 : ZeroxOutput(completion_time=69952.953, file_name='income_tax', input_tokens=626909, output_tokens=17668, pages=[Page(content='# 소득세법\n[시행 2025. 1. 1.] [법률 제20615호, 2024. 12. 31., 일부개정]\ (이후 생략)--> 근데 생성된 markdown 파일을 보니 18조 정도밖에 생성이 안되어있고, 그 이후 내용은 모두 없더라고요. 이건 그냥 token의 문제 때문에 openai api가 너무 큰 pdf파일을 처리하지 못하면서 발생하는 문제인가요?강의에서는 아무런 문제 없이 변환이 되는데, 갑자기 안되는 이유가 있을까요? 강의 소스코드에 제공된 파일의 markdown 파일에는 소득세법의 전 내용이 들어가있던데, 그걸 사용하면 강의 따라가는데는 문제가 없어보입니다. 맞나요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.2 강의 질문
안녕하세요? 2.2 강의에서 강의내용과 노트북에 차이가 있어 질문드립니다. 강의에서는 openai api key를 쓰셨는데, 노트북은 azure로 되어있더라고요 강의대로 openai api key를 써서 했는데 아래와 같은 오류가 납니다. 혹시 어떤 것 때문일까요? from pyzerox import zerox import os import json import asyncio ### 모델 설정 (Vision 모델만 사용) 참고: https://docs.litellm.ai/docs/providers ### ## 일부 모델에 필요할 수 있는 추가 모델 kwargs의 자리 표시자 kwargs = {} ## Vision 모델에 사용할 시스템 프롬프트 custom_system_prompt = None # model = "azure/gpt-4o-2024-11-20" model = "gpt-4o-mini" os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY") # os.environ["AZURE_API_KEY"] = os.getenv("AZURE_OPENAI_API_KEY") # os.environ["AZURE_API_BASE"] = os.getenv("AZURE_OPENAI_ENDPOINT") # os.environ["AZURE_API_VERSION"] = "2024-08-01-preview" # "2023-05-15" # 메인 비동기 진입점을 정의합니다 async def main(): file_path = "./documents/income_tax.pdf" ## 로컬 파일 경로 및 파일 URL 지원 ## 일부 페이지 또는 전체 페이지를 처리 select_pages = None ## 전체는 None, 특정 페이지는 int 또는 list(int) 페이지 번호 (1부터 시작) output_dir = "./documents" ## 통합된 마크다운 파일을 저장할 디렉토리 result = await zerox(file_path=file_path, model=model, output_dir=output_dir, custom_system_prompt=custom_system_prompt, select_pages=select_pages, **kwargs) return result # 메인 함수를 실행합니다: result = asyncio.run(main()) # 마크다운 결과를 출력합니다 print(result) (오류내용 아래부분만) TypeError: 'NoneType' object is not iterable2. 강의내용과 노트북을 다르게 하신 이유가 있으실까요? azure openai api key, azure openai endpoint 값들은 chatgpt에 검색해서 나오는 방법으로 받으면 되는건가요? 아니면 다른 방법이 있나요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
[문의] query에 대한 응답을 못찾을때 해결하는 방안
강의에서 "연봉 5천만원 직장인의 소득세는?" 이라는 (직장인이라는)단어를 문서에서 찾지 못해서 응답을 받지 못했다고 하는데 보통 사용자가 질문할때는 정확한 단어를 입력할 확률이 적을것으로 생각되서 이 경우 쿼리에 대해 llm 이나 다른 방법을 통해 알아서 잘(?) 질문에 대해서 llm이 해석 할 수 있도록 해줄 필요가 있을 것 같다고 생각이 드는데, 혹시 이런 경우에 있어서 해결방안이나 팁이 있으신가요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
Adaptive RAG vs Multi-agent
안녕하십니까, 강사님.자세하고 유익한 강의를 준비해주셔서 감사합니다. 이전 강의 내용과 비교하면서 궁금한 점이 생겼습니다.이전에 다루신 Adaptive RAG와 이번에 다루신 Multi-Agent 강의의 차이점이 무엇인지 알고 싶습니다.만약 다른 개념이라면, 두 접근 방식이 어떤 부분에서 가장 큰 차이를 보이는지도 궁금합니다.
-
미해결모르면 야근하는 AI 마케팅 노하우
미션 수행, 자료 못받은거 질문요
죄송한데요..제가 예전에 이메일을 확인 안하고 삭제해버렸는지, 스팸 메일로 가서 삭제되었는지, 아니면 발송이 안되었는지 아직 자료를 못봤습니다. ㅠㅠ 다시 한 번 발송해 주시면 안될런지요... 감사합니다^^
-
해결됨OpenAI를 활용한 나만의 AI 에이전트 만들기 (Agent Builder, GPT-5, Chatkit, Cloudflare, MCP, Fine Tuning, CoT 등)
13강 MCP 실습 2 (Google Drive)에서 Refresh Token 생성 실패
13강 MCP 실습 2 (Google Drive)에서 Refresh Token 생성이 안됩니다. 어떻게 처리해야 하는 지 도와주시면 감사하겠습니다. 우선, 동의화면을 구성할 때, "대상"을 "내부"로 할 수 가 없어서 "외부"로 하였습니다 (Goolge Workspace를 사용하지 않아서 "내부"를 선택하지 못한다는 메세지 발생)OAuth 2.0 Playground에서 REFRESH_TOKEN 발급을 진행하는 중 마지막 과정에서 "엑세스 차단됨: Smithery Test는 Google 인증 절차를 완료하지 않았습니다" 오류 메세지 후 더 이상 진행되지 않음
-
미해결랭체인과 MCP로 빚는 AI Agent 마스터 클래스
강의 자료 위치
안녕하세요?강의 자료는 어디서 받을 수 있을까요?pdf 책을 제공한다고 적혀 있는데 어디 있는지 모르겠습니다. ㅠ빨리 공부하고 싶습니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
ACP(Agent communication protocol)
안녕하세요!강사님이 올려주신 강의 전부 다 보면서 아주 유익하게 학습했습니다.혹시 가능하시다면 ACP에 관한 강의도 제작 하시면 어떨까요!
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
spring initializr generate문의
1강 2:59 와 3:56 같은 내용인가요? 중복되는 것 같은데요. demo를 두 번 만드시는건지 헷갈립니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
강의 완강 후기 및 질문
안녕하십니까 강사님! 덕분에 강의 너무나도 잘 들었습니다.수강하게 된 계기가 파이썬 기반 백엔드 신입으로 취업 준비를 할 때 어떻게 하면 자바보다 차별화해서 준비할 수 있을까? 라는 생각으로 시작했습니다. 강의를 수강하고 나니 확실히 RAG기술은 강하다고 느꼈습니다. 하지만 저번에 답변을 해주셨을 때 프롬포트 엔지니어링만으로는 취업을 준비하기 불안정하다 라는 의견에 굉장히 동의합니다!혹시 실례가 안된다면 질문을 드리고 싶습니다! 만약에 답변이 조금 어려우시면 답변 안해주셔도 됩니다!- 파이썬 기반 백엔드 신입으로 취업 준비를 할 때 현재 저는 was와 db구현해보기 + rag기술 다루어보기 정도의 기술 스택을 가지고 있는데 강사님이 보시기에는 어떠한지 궁금합니다. 올바른 방향으로 준비를 하고 있는지 아니면 시장에서 원하는 방향이 아닌건지 궁금합니다!현재는 학부 3학년으로써 조언을 해주신다면 정말 감사하겠습니다.질문 읽어주셔서 감사합니다!
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
3.3 langgraph 의 tool 호출 관련 질문
안녕하세요. 해당 챕터에서 강의 내용과 실행 결과 간 매치가 잘 안되는 듯 느껴져 문의드립니다.from langchain_core.messages import HumanMessage for chunk in graph.stream({'messages': [HumanMessage('3에다 5를 더하고 거기에 8을 곱하면?')]}, stream_mode='values'): chunk['messages'][-1].pretty_print()강의 화면에서 위와 같은 query 에 대해 노드 단위로 출력한 결과를 보면, 첫 번째 Ai Message 는 Tool Calls 로 add 과 multiply 두 툴에 대한 요청을 함께 생성하고 다음 Tool Message 로 multiply 의 결과 64 를 반환, 두 번째 Ai Message 는 Tool Calls 로 multiply 만 생성하고 다음 Tool Message 로 결과 64를 반환하고 있습니다.근데 강의에서는 첫 번째 Ai Message 에 대해 "먼저 덧셈을 실시합니다. 그러니까 multiply(?) 라는 툴이 64를 주고, 근데 task 가 두 개니까 task 에서 도구 호출을 또 하는 겁니다. 그런 다음에 64라는 답이 나오고..." 라고 녹화되어 있는데... 이게 무슨 얘기인지 잘 와닿지가 않네요..녹화 당시의 실행 결과와 상관없이 add 한 번 호출 후 multiply 한 번 호출에 대한 설명인 걸까요? 아니면 병렬 도구 호출에 대한 설명인 걸까요? 감사합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
병렬처리에서 한부분에서 에러가 나거나하는 경우는 아직 고려하지않아도 되는걸까요?
2.7 병렬 처리를 통한 효율 개선 (feat. 프롬프트 엔지니어링)수업을 보다 생긴 궁금증 질문드립니다.병렬처리 작업 중에 어떤 부분이 에러가 발생하거나 했을때의 처리는 보통 어떻게 하시나요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
워크플로우와 에이전트 비교 및 앞으로의 방향성에 대한 질문드립니다!
안녕하십니까 강사님! 덕분에 강의 너무 유익하게 잘 들었습니다!강의 들으면서 궁금했던 점을 질문 드립니다.1. 워크플로우와 에이전트 혹은 커스텀 도구 등 선택 기준에 대하여는 명확한 기준이 있다기보다는 성능 비교를 통해 정확도, 토큰 사용량, 시간 등 이러한 지표들을 테스트 해가며 적절한 에이전트 혹은 워크플로우로 구축하면 될까요? 아니면 사용하는 호출 모델을 이해하여 그 모델에 맡게 최적화를 해야할까요? 이러한 부분들이 강의 들으면서 궁금했습니다!2. 학사 졸업생 및 신입으로 프롬포트 엔지니어링 등 이러한 분야로 취업 준비를 한다면 기업들이 원하는 인재상은 어떤지도 궁금합니다! RAG기술을 어느정도 이해하고 구축하며 또 추가적으로 도움될 기술이 있는지 궁긍합니다.수준 높은 강의를 듣게 되어 영광입니다. 앞으로도 강사님의 강의 많이 참고하겠습니다.감사합니다!!
-
미해결[Sionic MCP 시리즈 1] Model Context Protocol 을 이용하여 IntelliJ 와 코딩해보자!
연결 안되는 이유 모르겠습니다 ㅠㅠ
Jetbrains 러닝이라로 뜨는데, 허용하겠습니다 라는 안내문구는 안뜹니다. 그리고 연결이 안됩니다혹시 pc방에서는 안되는 건가요? node.js 최신버전, 인텔리제이 최신, 플로그인 설치, json 변경 했습니다
-
미해결모르면 야근하는 AI 마케팅 노하우
실습자료 공유문의
수강내용에 공유드린 노션페이지를 보라는데도통 어디에 있는지 찾을수가 없습니다.커리큘럼에서도 찾을수가 없고 영상하단 링크 공유될수도 있다고 하길래 찾아봐도 없고저만 못찾는건가요?빠른 답변 부탁드립니다.수업에 상당한 지장을 초래합니다.제가 못찾고 있으면 캡쳐사진 부탁드립니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.4 생성된 답변을 여러번 검증하는 Self-RAG 강의 에서 질문드립니다.
답변이 hallucinated인지 판별하는 노드에서 max_tokens를 100으로 설정했을 때는 올바르게 판단이 됐습니다.그렇다면, 답변의 길이가 너무 길어서 모델이 hallucination 여부를 제대로 판별하지 못했다고 보신 건가요?다만 이런 경우라면, 답변의 길이를 조정하기보다는 hallucination 여부를 판별하는 모델 자체를 조정하는 게 더 적절하지 않을까요?실무 환경에서도 이런 상황이 발생할 수 있을 것 같은데, 보통은 답변 생성 모델을 판별 모델에 맞추는 게 일반적인지,아니면 판별 모델을 답변 생성 모델에 맞추는 게 더 낫다고 보는지 궁금합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
langGraph를 쓰는 이유
langChain으로도 rewrite generate 이런거 구현이 가능한데 복잡하고 코드가 많이 늘어나고 AI 호출도 많이 일어나니 langGraph를 쓰는거라고 이해했는데 맞을까요?