묻고 답해요
163만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨카카오 PlayMCP와 Spring AI가 만나는 실전 에이전트 개발
강의 영상 중복
"섹션 6. 커스텀 클라이언트 제작 및 최종 데모"에서"25. BibleMCPClient 직접 설계 및 만들기"와 "26. Client-Side MVC 로직 및 UI 연동"의강의 영상이 동일합니다. 확인 부탁드립니다.
-
미해결[Season 2] Spring AI 실전: Multi AI 에이전트 시스템 개발
소스 다운로드 문의 드립니다.
안녕하세요.아직 강의 초반을 듣고 있는 중인데 소스를 다운 받고 싶습니다. 어디서 다운 받아야 하나요? 감사합니다.수고하세요.
-
미해결[Season 2] Spring AI 실전: Multi AI 에이전트 시스템 개발
강의 자료 질문
안녕하세요. 혹시 1탄처럼 pdf 파일로 전체 코드랑 설명하는 자료는 없나요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.4 Self-RAG 결과가 달라요!
해당 강의 8:10처럼 동일하게 돌렸을 때 다음과 같이 출력이 찍힙니다. 624만원에 관한 정보는 나오지 않습니다. ㅠㅠ 여러번 돌려도 계속 그렇게 나오네요 .. 어떤 문제일까요?, 혹시나 DB에 문서를 적재하는 과정중에서 55조의 테이블이 씹힌건가? 해서 document_list 찍었을땐 (적재 전 txt 파일을 로딩하는과정에서) 또 624만원에 관련된 내용이 있습니다... 출력내용이 길어 10000자가 넘어 마지막 answer만 올려드립니다. document answer == {'answer': AIMessage(content='연봉 5천만 원인 거주자의 소득세는 근로소득공제를 적용하여 계산됩니다. 총급여액 5천만 원의 경우, 근로소득공제는 1천200만 원+(4천500만 원을 초과하는 금액의 100분의 5)입니다. 따라서, 소득세는 해당 공제를 적용한 과세표준에 세율을 적용하여 계산하게 됩니다. 하지만 세율 정보가 없으므로 정확한 소득세 금액을 계산할 수 없습니다.++ 다른 테이블은 context로 찍히는데 55조 624만원 관련 테이블만 안찍힙니다..
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
md vs txt 차이..
안녕하세요. 강의 도중에세법 pdf => 마크다운 변경후에 Spliiter로 분할하면, 표가 짤려서 답변이 생성이 잘 안될수도 있다고 하셔서 txt로 진행한다고 하셨는데..전 궁금한게 txt도 마차가지로 스플릿을 하더라도 짤리지 않나요..?text_spliters = RecursiveCharacterTextSplitter( chunk_size=1500, chunk_overlap = 100, separators=['\n\n','\n'] )청크사이즈가 1500 이니까 뭔가 표랑 경계선이 겹치게 되면 txt도 마찬가지 짤리는게 아닐까.. 생각이 들어서요
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
OpenAI API 호출 때문에 발생하는 Error code: 429 문제
gpt 유료 버전을 결제해야 하는 걸까요? 무료로는 불가능 할까요?
-
미해결카카오 PlayMCP와 Spring AI가 만나는 실전 에이전트 개발
mcp prompt, resource 를 client 에서 사용하는 방법
@McpPrompt 를 이용해서 prompt를 제공하도록 mcp server 단에서 만들었으므로, mcp client 에서 mcp server 의 prompt 를 사용하는게 적절할듯 한데 , client 에서 다시 프롬프트를 재작성하는 예제코드를 소개해주시고 계십니다. client 에서 server 의 prompt, resource 들을 검색하고 그중 적절한 것을 골라서 사용하는 방법이 있을까요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.
안녕하세요 강사님.3.7 강의에서 도구를 가진 에이전트들을 사용해 Supervisor로 멀티 에이전트를 구현하셨는데, stock price를 가져오는 것과 같은 부분은 꼭 에이전트가 아니여도 될 것 같은데 Supervisor로 멀티 에이전트를 만들 때 단순 도구로 사용하는 것 보다 도구를 가진 에이전트로 사용하는 것이 더 좋아서 이렇게 구현하신건지 궁금합니다!
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.4 강의 관련 질문(답변을 검증하는 self rag)
안녕하세요좋은 강의 감사드립니다. 강의에서 이해가 안되는 부분이 생겨 질문드립니다. 2.4 답변을 검증하는 self rag 에서, hallucination을 판단하는 부분에 대한 질문입니다. node가 hallucination을 잘 판단하지 못하자, 강의에서는 크게 3가지 조치를 취하셨는데요hallucination prompt 직접 작성hallucination_llm의 temperature = 0 으로 설정generate_llm의 max_completion_tokens를 100, 50 으로 감소근데 저는 강의대로 따라해도, 계속 hallucinated, not hallucinated가 번갈아가면서 나오더라고요. max_completion_tokens을 100 --> 70, 50으로 감소시켜도, test하는 셀을 여러번 돌리면 hallucinated, not hallucinated가 번갈아가면서 나옵니다. 답변 내용을 보면, 저의 answer는 5천만원에 대한 소득세를 624만원으로 잘 계산을 하는데 check_hallucination만 판단을 잘 못하는것 같았습니다. 답변을 "소득세는 624만원입니다." 이런 식으로만 짧게 대답을 하다보니, hallucination에 대한 판단을 잘 못하는것 같다는 느낌을 받았습니다. 그래서 chatgpt의 도움을 받아서 아래와 같이 수정을 하니 hallucination에 대한 판단은 일관되게 not hallucinated로 판단하더라고요. generate_llm의 max_completion_tokens를 200, 300 정도로 증가generate_prompt를 직접 작성하면서, 작성할때 답변에 대한 근거도 같이 제시하라고 지시아마도 답변에 대한 근거가 같이 제시되면서 hallucination에 대한 판단에 도움을 준 것 같습니다. 그런데 문제가 있습니다 ㅠ 소득세 계산을 잘 못합니다. 수업 코드로 하면 소득세 계산은 624만원으로 매번 잘 계산을 하지만, 이렇게 바꾸는 경우 소득세 계산이 맞을때도 있고 틀릴때도 있습니다. 그럼 현실에서는 max_completion_tokens 을 150, 100 이렇게 조절해가면서 중간의 타협점?을 찾는 것이 방법인지요? 아니면 제 방법이 틀린 것인지, 다른 방법이 있는 것인지 코멘트 해주시면 감사하겠습니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
후속강의 문의
선생님 안녕하세요좋은 강의 감사드립니다. llm, agent 등을 처음 접하는데, 선생님 강의 덕분에 수월하게? 진입할 수 있었습니다. 복습은 정말 많이 해야할 것 같지만요 ㅎㅎ 수업 후반부에 eval 관련 후속강의 언급을 하셨는데, 혹시 언제쯤 출시 예정이신가요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
3.6 강의 관련 질문(interrupt 관련)
선생님 안녕하세요좋은 강의 감사합니다. 강의를 보며 소스코드를 실행하고 있는데, 3.6 강의에서 수업에 나온 영상과 다르게 코드가 작동하는 부분이 있어서 질문드립니다. agent가 제시한 도구는 그대로 사용하되, args를 바꾸는 경우수업에서는 아래 코드를 쓰면 바로 요약된 AIMessage가 작성되도록 진행이 되는데, for chunk in graph.stream( Command(resume={"action": "update_args", 'data' : {'query' : "Large Language Model : A Survey 논문의 내용을 검색해서 요약해주세요"}},), config, stream_mode="updates", # values가 아니다. 수정할때는 updates ): print(f'chunk == {chunk}') 저는 아래와 같이 나옵니다. 여기에서 continue를 해도 계속 같은 메시지가 무한반복이 되어버리는 현상이 나옵니다; agent가 제시한 도구를 바꾸는 경우이 경우에도 위에 처럼 continue를 했음에도 불구하고 계속 "이렇게 진행하면 될까요?" 를 물어보는 현상이 나옵니다. 계속 continue를 해도 같은 현상이 반복되고요 혹시 선생님도 같은 오류가 발생하는지 확인이 가능하실까요? 혹시 이런 오류는 어떤 이유때문에 발생하는 것인지도 답변이 가능하시면 정말 감사하겠습니다. llm 모델을 small_llm이 아니라 일반 llm으로 하니 정상적으로 나오네요. small_llm의 한계 때문에 다음 단계로 못넘어가는 것일까요?다음 단계로 넘어가는건 비교적 쉬운 task 같은데 small llm의 어떤 부분? 때문에 이런 무한 loop 오류가 발생하는 것인지도 궁금합니다. 답변이 가능하신 선에서 말씀해주시면 감사하겠습니다.
-
미해결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 인증 절차를 완료하지 않았습니다" 오류 메세지 후 더 이상 진행되지 않음