묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
AI 에이전트로 구현하는 RAG 시스템 수강생입니다.
공지사항보고 메세지 남깁니다.AI 에이전트로 구현하는 RAG 시스템 수강생인데70퍼 쿠폰은 어떻게받을수있을까요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
supervisor_node에 messages 설명해주세요
3.7 찐 Multi-Agent System (feat. create_react_agent) 에 구현하신 def supervisor_node안에 messages = [ {"role": "system", "content": system_prompt}, ] + state["messages"]해당 소스 Message에 system을 이렇게 선언하는게 맞는지 이해가 가질 않습니다. 선생님 설명에서는 analyst_node안에 invoke할 때 supervisor_node안에 넣었던 systemprompt는 불필요해서 아래 소스처럼 result = analyst_chain.invoke({'messages': state['messages'][1:]})[1:]를 하신다고 설명하셨는데 analyst_node 안에서 state['messages']를 print함수로 확인해 봤더니 systemmessage가 들어있지 않았습니다. messagestatas에 messages에 system메세지를 추가하기 위해서 고민하다 systemMessage를 넣었더니 선생님 설명대로 됐지만 무슨 차이인지 잘 모르겠습니다. 아마 예상하기에는 MessageState가 SystemMessage, AIMessage, HumanMessage 밖에 허용을 안 하는 것 같은데 맞나요? 어떤게 올바른 방법인가요? messages = [ SystemMessage(content=system_prompt), ] + state["messages"]
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
income_tax_collection 폴더와 첨부 파일도 git에 있으면 좋겠습니다
2.2의 크로마 생성하는 부분, 리트리벌 설정하는 부분에서 계속 에러가 발생하여서 크로마 생성이 잘 안됩니다... 2.3에서는 생성된 크로마 기반으로 이어지는데 진행할수가 없습니다 ㅠㅠ git 에 올려주시면 감사드리겟습니다
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
markdown 스플리터에서 에러발생
from langchain_community.document_loaders import UnstructuredMarkdownLoader markdown_path = "./documents/income_tax.md" loader = UnstructuredMarkdownLoader(markdown_path) document_list = loader.load_and_split(text_splitter)위 코드를 주피터에서 실행하였는데 아래와 같은 nltk 에러가 나옵니다.... [nltk_data] Error loading averaged_perceptron_tagger_eng: <urlopen [nltk_data] error [SSL: CERTIFICATE_VERIFY_FAILED] certificate [nltk_data] verify failed: unable to get local issuer certificate [nltk_data] (_ssl.c:1028)> [nltk_data] Error loading punkt_tab: <urlopen error [SSL: [nltk_data] CERTIFICATE_VERIFY_FAILED] certificate verify failed: [nltk_data] unable to get local issuer certificate (_ssl.c:1028)> 몇번을 시도해봐도 같은 에러가 발생하는데 어떻게 해결해야하나요
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
zerox를 이용한 pdf 파일 전처리 부분
openai model = gpt-4o-mini 를 사용중입니다. 주피터노트북 실행을 하였는데 아래와 같은 에러코드가 나와서 해결방법 질문을 드립니다 ERROR:root:Error converting PDF to images: Unable to get page count. Is poppler installed and in PATH?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
uv sync 설치후 vs code 에서 .venv 커널에서 pip 치 오류
안녕하세요 uv sync 로 해서 패키지 설치후에 vs code로 노트북 커널 설정이 아래와 같은 오류가 나옵니다. 해결방법이 궁금합니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
연봉 5천만원 직장인의 세금이 624만원이 나오는게 맞나요?
저는 강의를 똑같이 따라해봤는데 쿼리를 연봉 5천만원 직장인의 소득세는? 이라고 했을 때, 강의에서처럼 해당 세율표 수식만 보고 624만원으로 단순계산하는 것이 아니라, 근로소득공제와 과세표준 등등을 계산해서 624만원과 다른 값을 냅니다.거주자의 소득세로 바꿔도 마찬가지입니다.(이전 강의에서 직장인이 근로소득과 관련이 있어서 잘못된 문서를 가져온다고 하신 내용도 압니다)하지만 제가 gpt한테 물어보니 다음과 같이 애초에 세율표만을 보고 계산하는 것이 틀렸고, 근로소득을 계산하는 것이 맞다고 말합니다.===============✅ 왜 세율표만 보고 계산하면 안 되는가?이 세율표는 “과세표준”에 적용하는 것이고,당신이 말한 “연봉 5천만 원”은 ‘총급여액’이기 때문입니다.즉, 소득세율을 적용하려면 반드시 다음 절차를 따라야 해요:📌 세금 계산 절차 요약 (2025년 근로소득자 기준):총급여액: 연봉 5,000만 원근로소득공제 적용 → 근로소득금액 산출인적공제·연금보험료공제 등 → 과세표준 산출과세표준에 소득세율표 적용산출세액에서 세액공제 (근로소득세액공제 등) 적용 → 결정세액===================결론적으로 제가 소득세에 대해 잘 몰라서 gpt가 말한게 할루시네이션일 수 있지만,만약 gpt처럼 실제로 근로소득금액을 산출해서 소득세를 계산하는게 맞을 경우, 강의에 있는 llm이 모두 틀린 답변을 내놓은 것 아닌가요?만약 강의처럼 연봉 5천만원의 직장인 혹은 거주자의 소득세가 표만 보고 단순 계산하여 624만원인 것이 맞을 경우, 제가 어떤 과정을 더 해야할 지 모르겠습니다.. 계속해서 근로소득공제를 계산합니다. 거주자로 쿼리를 바꿔도요.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
mcp 실행 관련하여 질문드립니다.
아래 코드 파일을(example2.py) 실행하는데 에러가 발생합니다from mcp.server.fastmcp import FastMCP mcp = FastMCP("Demo") @mcp.tool() def add(a: int, b: int) -> int: return a + b if __name__=="__main__": mcp.run(transport='stdio') 1.mcv dev로 실행하는 경우 mcp_stdio_server.py를 실행해도 아래와 같은 에러가 발생합니다 2. python으로 실행하는 경우-빈 화면으로만 뜸-mcp_stdio_server.py를 실행하면 아래처럼 뜨는데 해당 링크를 클릭하면 연결할 수 없습니다 라고 나옵니다 uv run으로 실행하는 경우
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
human-in-the-loop질문드립니다
강사님 안녕하세요! 엣지 연결 마치고 계속 테스트하는데 중간에 interrupt가 되지 않고 'attention is all you need'논문을 바로 긁어와서 요약을 합니다 ㅜ def should_continue(state: MessagesState): """ 주어진 state에 따라 다음 단계로 진행할지를 결정합니다. Args: state (AgentState): 메시지와 도구 호출 정보를 포함하는 state. Returns: Literal['tools', 'summarize_messages']: 다음 단계로 'tools' 또는 'summarize_messages'를 반환합니다. """ # state에서 메시지를 가져옵니다. messages = state['messages'] # 마지막 AI 메시지를 확인합니다. last_ai_message = messages[-1] # 마지막 AI 메시지가 도구 호출을 포함하고 있는지 확인합니다. if last_ai_message.tool_calls: # 도구 호출이 있으면 'tools'를 반환합니다. print('도구 호출이 있습니다 human_review로 이동합니다') return 'human_review' print('도구 호출이 없습니다 summarize_messages로 이동합니다') # 도구 호출이 없으면 'summarize_messages'를 반환합니다. return 'summarize_messages'프린트 찍어보니 도구호출이 없습니다 로 바로 들어갑니다 그래서 쿼리를 '동탄역 맛집을 알려주세요' 하니 도구 호출이 있습니다. 하고 interrupt가 되더라구요 저 논문에 대한 정보를 LLM에서 이미 갖고있어서 Tool call을 안한거라고 보면 될까요?
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
수업 자료 문의
법률 문서 PDF 3개가 '자료 다운로드'를 하였을 때 압축파일 안에 존재하지 않습니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
py-zerox 설치 관련 이슈
안녕하세요, py-zerox 설치 이슈와 관련하여 문의드립니다. https://github.com/jasonkang14/inflearn-langgraph-agent를 git clone한 후 pip install -r requirements.txt를 통해 설치를 시도하면 아래와 같은 에러가 발생합니다. 버전을 명시하지 않고 pip install을 시도해도 마찬가지로 에러가 발생하고 있습니다. https://www.piwheels.org/project/py-zerox/에서 확인을 해보니 아래와 같이 나오는데 지금 패키지 자체에 문제가 있는 걸까요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
pdf -> md 변환 이후 결과
안녕하십니까!!기존 Pdf파일에서 제55조(세율) 표를 보면 이러합니다. 이후 pdf -> .md로 변환하면 ( 강사님께서 올려주신 .md 된 파일도 확인하였습니다.) 1,400만원 초과 5,000만원 이하5,000만원 초과 8,800만원 이하의 결과가 아닌 5,000만원이 생략이 되어있습니다.특이한점으론 a초과 b이하에서 a만 생략된다던지 혹은 b만 생략되는 것이 아닌a, b 중 아무거나 생략이 되고 있습니다.md 으로 변환하면서 이렇게 몇몇 글들이 생략이되게 되면 이후 정확도에 문제가 생기지 않는지?추가적으로 py-zerox, gpt-4o-mini 를 사용하면서 생기는 문제인지, 아니면 일반적으로 한글 pdf -> md로 변환하는 과정에 대부분 이러한 문제가 생기는지 궁금합니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
pyzerox ModuleNotFoundError: No module named 'enterprise'
안녕하십니까! 강의 잘 듣고 있습니다.pyzerox를 gpt-4o-mini 모델을 사용하하는 중 아래와 같은 에러가 발생을 합니다.```ModuleNotFoundError Traceback (most recent call last) Cell In[13], line 1----> 1 from pyzerox import zerox 2 import asyncio4 ### Model Setup (Use only Vision Models) Refer: https://docs.litellm.ai/docs/providers ### 56 ## placeholder for additional model kwargs which might be required for some models File ~/desktop/langgraph/.venv/lib/python3.12/site-packages/pyzerox/__init__.py:1----> 1 from .core import zerox 2 from .constants.prompts import Prompts 4 DEFAULT_SYSTEM_PROMPT = Prompts.DEFAULT_SYSTEM_PROMPT File ~/desktop/langgraph/.venv/lib/python3.12/site-packages/pyzerox/core/__init__.py:1----> 1 from .zerox import zerox 3all = [ 4"zerox", 5 ] File ~/desktop/langgraph/.venv/lib/python3.12/site-packages/pyzerox/core/zerox.py:1310 from ..constants import PDFConversionDefaultOptions 12 # Package Imports ---> 13 from ..processor import ( 14 convert_pdf_to_images,...12 ) 13 from litellm.caching import InMemoryCache 14 from litellm.litellm_core_utils.litellm_logging import Logging as LiteLLMLoggingObj ModuleNotFoundError: No module named 'enterprise'```!uv pip install py-zeroxfrom pyzerox import zerox import asyncio ### Model Setup (Use only Vision Models) Refer: https://docs.litellm.ai/docs/providers ### ## placeholder for additional model kwargs which might be required for some models kwargs = {} ## system prompt to use for the vision model custom_system_prompt = None # to override # custom_system_prompt = "For the below PDF page, do something..something..." ## example ###################### Example for OpenAI ###################### model = "gpt-4o-mini" ## openai model # Define main async entrypoint async def main(): file_path = "./income_tax.pdf" ## local filepath and file URL supported ## process only some pages or all select_pages = None ## None for all, but could be int or list(int) page numbers (1 indexed) output_dir = "./documents" ## directory to save the consolidated markdown file 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 # run the main function: result = asyncio.run(main()) # print markdown result print(result) 코드는 위와 같습니다.pyzerox 가 수업 중 litellm 을 사용한다고 하셨는데 (py-zerox 설치시 1.67.4 버전으로 같이 설치됨)Enterprise용 littellm을 사용하면서 생긴 문제인 것 같은데요 기존 설치된 littellm 을 upgrade 하니 다른 오류인ModelAccessError: Your provided model can't be accessed. Please make sure you have access to the model and also required environment variables are setup correctly including valid api key(s). Refer: https://docs.litellm.ai/docs/providers (Extra Info: {'model': 'gpt-4o-mini'}) 이런 오류가 발생합니다.현재 사용중인 OPENAI_API_KEY 를 이용해 llm.invoke 시 응답이 잘 오는 걸 봐서는 해당 모델을 사용하는데 문제는 없는 것으로 보입니다.혹시 지금까지 어떤 문제점이 있는지 알 수 있을지요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
node 함수관련 초보적인 질문하나만 드리겠습니다!
강사님 안녕하세요!하단의 generate함수는 파라미터로 AgentState를 받고 AgentState를 리턴하는데함수의 리턴값이 "context"를 key로 가지는 딕셔너리형태인데, 어떻게 AgentState가 되는지 궁금합니다.. ㅠㅠclass AgentState(TypedDict): query: str context: List[Document] answer: str def retrieve(state: AgentState) -> AgentState: """ 사용자의 질문에 기반하여 벡터 스토어에서 관련 문서를 검색합니다. Args: state (AgentState): 사용자의 질문을 포함한 에이전트의 현재 state. Returns: AgentState: 검색된 문서가 추가된 state를 반환합니다. """ query = state['query'] docs = retriever.invoke(query) return {'context': docs}
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
docker 환경에서 해당 서비스를 구성해보는 건 어떤가요?
시작 부분에 가상환경 구현이 있는데,포티(conda) 가상환경 vs Docker 컨테이너 docker 컨테이너로 초기 환경을 구성하면 제약사항이 있을까요?
-
해결됨AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
numpy 설치 에러
강의 시점: 섹션1 > 실습을 위한 환경 설정 방법에서 약 1분 16초내용: 제공해주신 pyproject.toml에서 저는 파이썬 3.13 버전으로 설치되어 이 부분만 수정해 install하였습니다.그랬더니 아래와 같이 numpy 설치 에러 문구가 뜨는데 왜 그런걸까요?해결 방법이 있을까요? 에러 메시지- Installing numpy (1.26.4): FailedPEP517 build of a dependency failedBackend subprocess exited when trying to invoke build_wheel Note: This error originates from the build backend, and is likely not a problem with poetry but one of the following issues with numpy (1.26.4)- not supporting PEP 517 builds- not specifying PEP 517 build requirements correctly- the build requirements are incompatible with your operating system or Python version- the build requirements are missing system dependencies (eg: compilers, libraries, headers).You can verify this by running pip wheel --no-cache-dir --use-pep517 "numpy (==1.26.4)".
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
The onnxruntime python package is not installed.
'벡터 저장소(Vector Store)를 도구로 변환하기' 강의에서 'from langchain_chroma import Chroma' 부분 실행 시 아래와 같은 오류가 발생합니다.ValueError: The onnxruntime python package is not installed. Please install it with pip install onnxruntimepip install을 수행해도 에러는 동일하게 발생합니다.구글 검색으로 Microsoft Visual C++ Redistributable 설치도 시도해 보았으나 여전히 동일합니다.어떻게 해결해야할까요?필요한 정보가 있다면 알려주세요.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
섹션 5, 사용자 정의 조건부 엣지 관련 질문입니다.
from langgraph.graph import MessagesState, StateGraph, START, END from langchain_core.messages import HumanMessage, SystemMessage from langgraph.prebuilt import ToolNode from IPython.display import Image, display # LangGraph MessagesState 사용 class GraphState(MessagesState): pass # 노드 구성 def call_model(state: GraphState): system_message = SystemMessage(content=system_prompt) messages = [system_message] + state['messages'] response = llm_with_tools.invoke(messages) return {"messages": [response]} def should_continue(state: GraphState): last_message = state["messages"][-1] # 도구 호출이 있으면 도구 실행 노드로 이동 if last_message.tool_calls: return "execute_tools" # 도구 호출이 없으면 답변 생성하고 종료 return END # 그래프 구성 builder = StateGraph(GraphState) builder.add_node("call_model", call_model) builder.add_node("execute_tools", ToolNode(tools)) builder.add_edge(START, "call_model") builder.add_conditional_edges( "call_model", should_continue, { "execute_tools": "execute_tools", END: END } ) builder.add_edge("execute_tools", "call_model") graph = builder.compile() # 그래프 출력 display(Image(graph.get_graph().draw_mermaid_png()))# 그래프 실행 inputs = {"messages": [HumanMessage(content="스테이크 메뉴의 가격은 얼마인가요?")]} messages = graph.invoke(inputs)위 코드는 강사님께서 제공해주신 코드를 가져온 것입니다.제가 궁금한 것은 Tool 노드를 사용하고 다시 call_model 노드로 왔을 때 SytemMessage가 중복되지 않을까? 라는 생각을 했습니다. 예를 들어 message : [유저 인풋] 가 처음으로 그래프에 들어오게된다면def call_model(state: GraphState): system_message = SystemMessage(content=system_prompt) messages = [system_message] + state['messages'] response = llm_with_tools.invoke(messages) return {"messages": [response]}message : SystemMessage + [유저 인풋]이 될것입니다.그 이후 response를 호출하여message : SystemMessage + [유저 인풋] + toolMessage이 되어 상태를 업데이트 하고, 그리고 tool 콜이 있어서 툴노드를 마무리 한 이후 돌아왔을 땐 GraphState에 있는 message는 SystemMessage + [유저 인풋] + toolMessage + [툴이보낸 메세지] 일테니call model 노드에서SystemMessage + SystemMessage + [유저 인풋] + toolMessage + [툴이보낸 메세지]가 적용되어 툴 콜 할때마다 SytemMessage가 쌓이는 구조가 되지 않을까 생각이 들었는데 맞을까요?
-
해결됨AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
강사님의 LLM 모델의 버전이 어떻게 되나요?
안녕하세요, 강사님Azure OpenAI API를 사용해 봤는데요. gpt-4o-mini-2024-07-18 입니다.Structured output을 하는 경우 다음과 같은 애러가 발생해요. 모델 버전 문제일 것 같기는 한데요.BadRequestError: Error code: 400 - {'error': {'code': 'BadRequest', 'message': 'response_format value as json_schema is enabled only for api versions 2024-08-01-preview and later'}}강사님의 LLM 모델의 버전이 어떻게 되나요?
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
Agent RAG 구현에서 '정보 추출 및 평가' 노드 결과 애러
안녕하세요, 강사님.강의 마지막 섹션 Agent RAG 시스템을 그래프로 구현 에서 # 4. Agent RAG 구현 부분에서 LLM 모델에 따라 결과 다르게 나오는 것 같습니다.참고로, 저는 ANTHROPIC claude-3-7-sonnet-20250219 모델을 사용하는데요.다음과 같이, '정보 추출 및 평가' 노드에서 애러가 발생합니다. 안정적인 결과를 얻기 위해서는 어떤 방안이 좋을지 의견을 부탁 드립니다. ---정보 추출 및 평가---ValidationError: 2 validation errors for ExtractedInformationstripsInput should be a valid list [type=list_type, input_value='[\n {\n "content": "...="query_relevance">0.95', input_type=str]For further information visit https://errors.pydantic.dev/2.10/v/list_typequery_relevanceField required [type=missing, input_value={'strips': '[\n {\n "..."query_relevance">0.95'}, input_type=dict]For further information visit https://errors.pydantic.dev/2.10/v/missing수업 영상 몇 분/초 구간인지 알려주세요.