묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.2 RAG구성_400 에러 문의드립니다.
안녕하세요, 3.2 RAG구성 강의 중 하기 부분에서 막혔습니다. 조언 요청드립니다. OpenAI 대신, Upstage를 쓰고 싶어하기와 같이 코드 수정을 하였습니다.그런데 두번째 캡쳐 그림 부터 에러가 발생합니다.Upstage가 유효하지 않다고 하는 것 같은데...무엇이 잘못된 것 일까요? 그리고 실습을 위해 OpenAI를 결제해야한다면 얼마정도 하면, 완강하는데 문제없을까요?! Error code: 400 - {'error': {'message': 'The requested model is invalid or no longer supported. You can find the list of available models on our models page (https://console.upstage.ai/docs/models)', 'type': 'invalid_request_error', 'param': '', 'code': 'invalid_request_body'}}
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
멀티턴, MemorySaver,MessagesState 질문 입니다
안녕하세요 강의 보다가 헷갈리는 부분이 있어서 질문드립니다 질문1. 3.3 LangGraph에서 도구(tool) 활용 방법아래 agent 함수는 여러번 호출되는데 리턴하는 부분에서 새로운 배열을 만드는것 처럼 보이지만 add_messages에 의해 자동으로 누적되어 멀티턴 대화가 된다고 이해하면 맞을까요? def agent(state: MessagesState) -> MessagesState: """ 에이전트 함수는 주어진 상태에서 메시지를 가져와 LLM과 도구를 사용하여 응답 메시지를 생성합니다. Args: state (MessagesState): 메시지 상태를 포함하는 state. Returns: MessagesState: 응답 메시지를 포함하는 새로운 state. """ # 상태에서 메시지를 추출합니다. messages = state['messages'] # LLM과 도구를 사용하여 메시지를 처리하고 응답을 생성합니다. response = llm_with_tools.invoke(messages) # 응답 메시지를 새로운 상태로 반환합니다. return {'messages': [response]} 질문2. 3.5 Agent의 히스토리를 관리하는 방법MemorySaver()의 목적은 주피터 노트북 각 블록을 사용하는데 있어 그 전에 실행해서 얻은 message를 메모리에 저장후 다음 요청 (update_query)에 반영하기 위해 사용된게 맞을까요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
새로운 메시지에 summary 추적 질문드립니다.
from langchain_core.messages import SystemMessage def agent(state: AgentState) -> AgentState: """ 주어진 `state`에서 메시지를 가져와 LLM과 도구를 사용하여 응답 메시지를 생성합니다. Args: state (AgentState): 메시지 기록과 요약을 포함하는 state. Returns: MessagesState: 응답 메시지를 포함하는 새로운 state. """ # 메시지와 요약을 state에서 가져옵니다. messages = state['messages'] summary = state['summary'] # 요약이 비어있지 않으면, 요약을 메시지 앞에 추가합니다. if summary != '': messages = [SystemMessage(content=f'Here is the summary of the earlier conversation: {summary}')] + messages # LLM과 도구를 사용하여 메시지에 대한 응답을 생성합니다. response = llm_with_tools.invoke(messages) # 응답 메시지를 포함하는 새로운 state를 반환합니다. return {'messages': [response]}부분에summary = state['summary']agent시작하자마자 summary를 넣게되는데 해당 소스부분은 몇 번을 질문해도 처음에는 빈값이 들어가는게 맞나요?summary를 연속질문에 처음 시작 부터 적용하기 위해서는 아래처럼 session정보를 받아서 처리해야하는지 궁금합니다.from langchain_core.messages import HumanMessage query = '안녕' for chunk in graph.stream({'messages': [HumanMessage(query)], 'summary': graph.get_state(config).values['summary']}, config=config, stream_mode='values'): chunk['messages'][-1].pretty_print()
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.1 pyenv 설치관련
안녕하세요, 비개발자로서 하나씩 따라하려고 수강중에 있습니다.MAC이 아닌 PC인데 pyenv 말고 venv? 로 파이썬 가상환경 만들어도 되는 것인가요?
-
해결됨노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
HTTP Request 강좌 중 openAI API 실행 중 Error
문제 / 오류 / 질문에 대해 설명해 주세요HTTP Request 강좌를 따라하는 중에 12:30 즘에서 openAI API를 입력하고 Test step을 눌렀습니다. 하지만, 다과 같은 에러가 작성하였습니다.오류 메시지가 있다면 작성해 주세요The service is receiving too many requests from youYou exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.{ "errorMessage": "The service is receiving too many requests from you", "errorDescription": "You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.", "errorDetails": { "rawErrorMessage": [ "Try spacing your requests out using the batching settings under 'Options'" ], "httpCode": "429" }, "n8nDetails": { "nodeName": "HTTP Request", "nodeType": "n8n-nodes-base.httpRequest", "nodeVersion": 4.2, "itemIndex": 0, "time": "2025. 5. 21. 오후 9:12:44", "n8nVersion": "1.93.0 (Self Hosted)", "binaryDataMode": "default", "stackTrace": [ "NodeApiError: The service is receiving too many requests from you", " at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js:615:21)", " at processTicksAndRejections (node:internal/process/task_queues:95:5)", " at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:696:27)", " at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:930:51", " at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:1266:20" ] }}사용 중인 워크플로우를 공유해 주세요HTTP Request 강좌 실습 중 n8n 설치 정보 안내 n8n 버전: 1.93.0데이터베이스 종류 (기본값: SQLite):n8n 실행 프로세스 설정 (기본값: own, main):n8n 실행 방식 (예: Docker, npm, n8n cloud, 데스크탑 앱 등): Docker운영 체제: Win 11 Pro
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
STORM 관련 ipynb 소스에서
안녕하세요.. 수업노트에 있는 storm colab 파일을 따라 하는데..import json from langchain_core.runnables import RunnableConfig async def gen_answer( state: InterviewState, config: Optional[RunnableConfig] = None, name: str = "Subject_Matter_Expert", max_str_len: int = 15000, ): swapped_state = swap_roles(state, name) # Convert all other AI messages # 쿼리 생성 queries = await gen_queries_chain.ainvoke(swapped_state) query_results = await search_engine.abatch( queries["parsed"].queries, config, return_exceptions=True ) successful_results = [ res for res in query_results if not isinstance(res, Exception) ] # url와 콘텐츠 추출 all_query_results = { res["url"]: res["content"] for results in successful_results for res in results } # We could be more precise about handling max token length if we wanted to here dumped = json.dumps(all_query_results)[:max_str_len] ai_message: AIMessage = queries["raw"] tool_call = queries["raw"].tool_calls[0] tool_id = tool_call["id"] tool_message = ToolMessage(tool_call_id=tool_id, content=dumped) swapped_state["messages"].extend([ai_message, tool_message]) # Only update the shared state with the final answer to avoid # polluting the dialogue history with intermediate messages generated = await gen_answer_chain.ainvoke(swapped_state) cited_urls = set(generated["parsed"].cited_urls) # Save the retrieved information to a the shared state for future reference cited_references = {k: v for k, v in all_query_results.items() if k in cited_urls} formatted_message = AIMessage(name=name, content=generated["parsed"].as_str) return {"messages": [formatted_message], "references": cited_references}이 부분에서 궁금한 것이 생겼습니다. 중간에 tool_call = queries["raw"].tool_calls[0] tool_id = tool_call["id"] 중간에 tool_calls 관련 정보를 호출하는데..그럴려면 gen_queries_chain이 체인에 tool_bind된 llm이 사용되어야 하는 것 아닌가요? duckduckgo 관련 search_engine함수를 @tool을 이용해서 tool로 선언한 것 같은데.. 해당 퉁을 llm에 바인딩하는 것을 못보아서.. tool index 부분에서 Cell In[46], line 30, in gen_answer(state, config, name, max_str_len) 28 dumped = json.dumps(all_query_results)[:max_str_len] 29 ai_message: AIMessage = queries["raw"] ---> 30 tool_call = queries["raw"].tool_calls[0] 31 tool_id = tool_call["id"] 32 tool_message = ToolMessage(tool_call_id=tool_id, content=dumped) IndexError: list index out of range가 발생하는 것 같습니다. 어떻게 수정하면 되는지 알려주세요..
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
uv sync 입력 후 패키지 설치 도중 실패 합니다.
os: 윈도우10입니다uv version: uv 0.7.5 (9d1a14e1f 2025-05-16) x Failed to build `uvloop==0.21.0` |-> The build backend returned an error `-> Call to `setuptools.build_meta.build_wheel` failed (exit code: 1) [stderr] Traceback (most recent call last): File "<string>", line 14, in <module> requires = get_requires_for_build({}) File "C:\Users\wyhil\AppData\Local\uv\cache\builds-v0\.tmpwlGSc0\Lib\site-packages\setuptools\build_meta.py", line 331, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=[]) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\wyhil\AppData\Local\uv\cache\builds-v0\.tmpwlGSc0\Lib\site-packages\setuptools\build_meta.py", line 301, in _get_build_requires self.run_setup() ~~~~~~~~~~~~~~^^ File "C:\Users\wyhil\AppData\Local\uv\cache\builds-v0\.tmpwlGSc0\Lib\site-packages\setuptools\build_meta.py", line 317, in run_setup ~~~~^^^^^^^^^^^^^^^^ File "<string>", line 8, in <module> import setuptools.build_meta as backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: uvloop does not support Windows at the moment hint: This usually indicates a problem with the package or the build environment.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
답변 정확성이 떨어지는 것 같습니다
Upstage의 모델을 사용하는데 답변의 정확성이 떨어지는 것 같습니다. 아래 캡처 화면을 보면 retriever가 페이지를 가져오는 것 까지는 괜찮아 보이는데, 가져온 문서의 내용을 적용하여 계산하는 것, 그리고 심지어 기본적인 수학적 계산도 종종 오류를 냅니다 ㅜㅜ 더 정확한 답변을 내도록 할 방법이 있을까요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.2 retrieval PDF 변환시 cp949 error
markdown(md) 을 text(txt) 로 변환한 다음에 load 하고 split 을 해줘야함 txt 로 변환된 건 langchain 의 textloader 를 써서 load 해야함이때, utf-8로 encoding 된 txt 파일을 langchain_community 로 TextLoader 하려고 할때 encoding 을 안쓰게 되면 cp949 에러가 나게 됩니다. 너무 기초적인 질문이라 질문글에 없는 것 같아 혹시 저같은 초보를 위해 기록을 남겨 둡니다.^^(참고로 저는 윈도우 환경으로 따라 하고 있는 중 입니다)from langchain_community.document_loaders import TextLoader loader = TextLoader(text_path, encoding='utf-8') # ✅ 인코딩 명시 document_list = loader.load_and_split(text_splitter)또한 윈도우에서 uv.lock 을 읽어들일수가 없었는데요...혹시 윈도우에서도 가능하셔서 하신분 계시면 노하우(?) 부탁드릴게요~
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
AI 에이전트를 위한 웹검색(Web search) Tool 에서 DuckDuckGoSearchRun 실행 관련..
안녕하세요..DuckDuckGo 검색 관련 랭체인 가이드 보고 따라하는데from langchain_community.tools import DuckDuckGoSearchRun search = DuckDuckGoSearchRun(cache_results=True) result = search.invoke("obama's first name?") print(result)이를 실행했을 때, 다음과 같은 오류가 발생합니다. 어떻게 수정해야 하는지 알려주셨으면 좋겠습니다.---------------------------------------------------------------------------DuckDuckGoSearchException Traceback (most recent call last) Cell In[18], line 103 from langchain_community.tools import DuckDuckGoSearchRun 6 search = DuckDuckGoSearchRun(cache_results=True) ---> 10 result = search.invoke("obama's first name?") 11 print(result) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/langchain_core/tools/base.py:513, in BaseTool.invoke(self, input, config, kwargs)505 @override 506 def invoke( 507 self, (...) 510kwargs: Any, 511 ) -> Any: 512 tool_input, kwargs = preprun_args(input, config, kwargs) --> 513 return self.run(tool_input, kwargs) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/langchain_core/tools/base.py:774, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, run_name, run_id, config, tool_call_id, kwargs)772 if error_to_raise: 773 run_manager.on_tool_error(error_to_raise) --> 774 raise error_to_raise 775 output = formatoutput(content, artifact, tool_call_id, self.name, status) 776 run_manager.on_tool_end(output, color=color, name=self.name, kwargs) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/langchain_core/tools/base.py:743, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, run_name, run_id, config, tool_call_id, **kwargs)... 181logger.info(f"Error to search using {b} backend: {ex}") 182 err = ex --> 184 raise DuckDuckGoSearchException(err) DuckDuckGoSearchException: https://lite.duckduckgo.com/lite/ 202 Ratelimit 확인 부탁드립니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포시 버전 에러가 생깁니다
streamlit에서 배포시 위와 같은 에러가 발생합니다 ㅜㅜ파이썬 버전은 3.10.2이고, requirements.txt는 아래와 같습니다. aiohappyeyeballs==2.6.1aiohttp==3.10.11aiosignal==1.3.2altair==5.5.0annotated-types==0.6.0anyio==4.3.0asgiref==3.8.1asttokens==3.0.0async-timeout==4.0.3attrs==25.3.0backoff==2.2.1bcrypt==4.3.0blinker==1.9.0build==1.2.2.post1cachetools==5.5.2certifi==2022.12.7charset-normalizer==3.1.0chroma-hnswlib==0.7.6chromadb==0.6.3click==8.1.8colorama==0.4.6coloredlogs==15.0.1comm==0.2.2contourpy==1.2.0cycler==0.12.1dataclasses-json==0.6.7debugpy==1.8.14decorator==5.2.1Deprecated==1.2.18distro==1.9.0docx2txt==0.9durationpy==0.9exceptiongroup==1.2.0executing==2.2.0fastapi==0.115.12filelock==3.18.0flatbuffers==25.2.10fonttools==4.47.2frozenlist==1.6.0fsspec==2025.3.2gitdb==4.0.12GitPython==3.1.44google-auth==2.39.0googleapis-common-protos==1.70.0greenlet==3.2.2grpcio==1.71.0h11==0.14.0httpcore==1.0.4httptools==0.6.4httpx==0.27.0httpx-sse==0.4.0huggingface-hub==0.30.2humanfriendly==10.0idna==3.4importlib_metadata==8.6.1importlib_resources==6.5.2iniconfig==2.1.0ipykernel==6.29.5ipython==8.36.0jedi==0.19.2Jinja2==3.1.6jiter==0.9.0joblib==1.4.2jsonpatch==1.33jsonpointer==3.0.0jsonschema==4.23.0jsonschema-specifications==2025.4.1jupyter_client==8.6.3jupyter_core==5.7.2kiwisolver==1.4.5kubernetes==32.0.1langchain==0.3.25langchain-chroma==0.2.3langchain-community==0.3.23langchain-core==0.3.58langchain-openai==0.3.16langchain-pinecone==0.2.6langchain-tests==0.3.19langchain-text-splitters==0.3.8langchain-upstage==0.6.0langsmith==0.3.42markdown-it-py==3.0.0MarkupSafe==3.0.2marshmallow==3.26.1matplotlib==3.8.2matplotlib-inline==0.1.7mdurl==0.1.2mmh3==5.1.0mpmath==1.3.0multidict==6.4.3mypy_extensions==1.1.0narwhals==1.38.2nest-asyncio==1.6.0numpy==1.26.4oauthlib==3.2.2onnxruntime==1.21.1openai==1.78.0opentelemetry-api==1.32.1opentelemetry-exporter-otlp-proto-common==1.32.1opentelemetry-exporter-otlp-proto-grpc==1.32.1opentelemetry-instrumentation==0.53b1opentelemetry-instrumentation-asgi==0.53b1opentelemetry-instrumentation-fastapi==0.53b1opentelemetry-proto==1.32.1opentelemetry-sdk==1.32.1opentelemetry-semantic-conventions==0.53b1opentelemetry-util-http==0.53b1orjson==3.10.18overrides==7.7.0packaging==23.2pandas==2.2.3parso==0.8.4pillow==10.2.0pinecone==6.0.2pinecone-plugin-interface==0.0.7platformdirs==4.3.8pluggy==1.5.0posthog==4.0.1prompt_toolkit==3.0.51propcache==0.3.1protobuf==5.29.4psutil==7.0.0pure_eval==0.2.3pyarrow==20.0.0pyasn1==0.6.1pyasn1_modules==0.4.2pydantic==2.11.4pydantic-settings==2.9.1pydantic_core==2.33.2pydeck==0.9.1Pygments==2.19.1pyparsing==3.1.1pypdf==4.3.1PyPika==0.48.9pyproject_hooks==1.2.0pyreadline3==3.5.4pytest==8.3.5pytest-asyncio==0.26.0pytest-socket==0.7.0python-dateutil==2.8.2python-dotenv==1.1.0pytz==2025.2pywin32==305PyYAML==6.0.2pyzmq==26.4.0referencing==0.36.2regex==2024.11.6requests==2.32.3requests-oauthlib==2.0.0requests-toolbelt==1.0.0rich==14.0.0rpds-py==0.24.0rsa==4.9.1scikit-learn==1.5.1scipy==1.14.0shellingham==1.5.4six==1.16.0smmap==5.0.2sniffio==1.3.1SQLAlchemy==2.0.40stack-data==0.6.3starlette==0.46.2streamlit==1.45.0sympy==1.14.0syrupy==4.9.1tenacity==9.1.2threadpoolctl==3.5.0tiktoken==0.9.0tokenizers==0.19.1toml==0.10.2tomli==2.2.1tornado==6.4.2tqdm==4.66.2traitlets==5.14.3typer==0.15.3typing-inspect==0.9.0typing-inspection==0.4.0typing_extensions==4.13.2tzdata==2025.2urllib3==1.26.15uvicorn==0.34.2watchdog==6.0.0watchfiles==1.0.5wcwidth==0.2.13websocket-client==1.8.0websockets==15.0.1wrapt==1.17.2yarl==1.20.0zipp==3.21.0zstandard==0.23.0
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
ReWoo 아키텍처에서는 RePlan이 필요없나요?
안녕하세요.. Plan and Executor 아키텍처에서는 Planning 하고 하나의 태스크를 실행하고, 그리고 다시 Replanning 에이전트를 거치면서 답변을 만들어 가는데, ReWoo 아키텍처에서는 RePlanning 과정에 대한 설명이 없던데.. 그렇다면 ReWoo 아키텍처의 Planner 에이전트 성능이 좋아서 모든 게획을 세운것처럼 보이는데. Plan and Executor의 Planner 에이전트도 모든 계획을 세운 것이 아닌건가요? 둘사이 프롬프트가 달라서 그런건가요? ReWoo에서는 왜 재계획 에이전트가 필요없는건가요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
langChain 최신버전 문서
최신 버전 LangChain 문서의 <How to add chat history> 부분이 강의 영상이랑 대부분 다른 것 같은데 강의 영상 코드 기준으로 진행해도 문제가 없을까요?(https://python.langchain.com/docs/how_to/qa_chat_history_how_to/#chains)
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
[실습을 위한 환경 설정 방법] 자료가 없습니다.
자료 다운로드를 해도 toml파일만 있고 resaurant_wine.txt등의 파일들이 다 없는데 어디서 찾는걸까요..m2사용하고있습니다
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
같은 소스를 서로 다른 pc에서 실행시 정답률 차이가 생겨요
@tool def retriever_tool(query: str) -> str: """사용자의 질문에 기반하여 벡터 스토어에서 회사 HR 문서를 검색합니다. 이 도구는 RAG(Retrieval Augmented Generation) 방식을 사용하여: 가장 적합한 문서를 찾아냅니다. Args: query (str): 사용자의 질문 (미리 정의된 질문이 사용됨) Returns: str: 문서 내용 """ _response = _retriever.invoke(query) return _response _research_tools = [retriever_tool] _research_agent = create_react_agent( llm, tools=_research_tools, state_modifier='당신은 HR 담당자 입니다. 의견이 아닌 사실만 제공하세요' ) def _db_research_node(state: MainState) -> Command[Literal["supervisor_node"]]: """ HR 조사 node입니다. 주어진 State를 기반으로 HR 조사 에이전트를 호출하고, 결과를 supervisor node로 전달합니다. Args: state (MainState): 현재 메시지 상태를 나타내는 객체입니다. Returns: Command: supervisor node로 이동하기 위한 명령을 반환합니다. """ result = _research_agent.invoke({"messages" : state["messages"]}) print(f" db result : {result}") return Command( update={'messages': [HumanMessage(content=result['messages'][-1].content, name='db_research')]}, goto='supervisor_node' )이런 간단한 create_react_agent를 이용한 agent를 pip 버전이 약간다른 서로다른 pc에서 실행을 하였습니다. 첫 번째 피시에서는 LLM이 대답을 정말잘하지만 두 번째 피시에서는 전혀 엉뚱한 답변을 하며 정답률이 0%에 가깝게 나옵니다. from langgraph.prebuilt import create_react_agent이런 패키지 버전에 따라서 LLM의 추론 생각 능력 차이가 있나요? LLM과 vectordb, embedding 모델, 소스는 동일합니다. 피시 사양도 똑같고 langraph 패키지 버전차이만 존재합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
langgraph 이미지 표시 관련 draw_mermaid_png() TimeoutError 관련
안녕하세요.. langgraph 에서 graph_builder를 이용하여 노드와 엣지를 추가한 후에 compile한 후에 생성된 구조를 이미지로 표현하는 부분에서 오류가 발생합니다.혹시 이 오류가 왜 발생하는지, 어떻게 수정해야 하는지 알려주시면 좋겠습니다from IPython.display import Image, displaydisplay(Image(graph.get_graph().draw_mermaid_png()))이 부분을 실행하게 되면 다음과 같은 오류가 발생합니다.TimeoutError Traceback (most recent call last) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py:534, in HTTPConnectionPool._make_request(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)533 try: --> 534response = conn.getresponse() 535 except (BaseSSLError, OSError) as e:.......ValueError: Failed to reach https://mermaid.ink/ API while trying to render your graph after 1 retries.이미지를 생성하는데 다른 사이트로 요청을 하는 것 같은데..timeout 오류가 발생하네요..
-
해결됨실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)과 랭그래프(LangGraph) 그리고 MCP
MCP 서버 관련 질문이있습니다.
안녕하세요! 강의 잘 보고있습니다. MCP 관련해서 질문이 두 개 있습니다.# 1MCP튜토리얼과 이 강의, 유투브를 보고 MCP 서버를 개발중입니다.https://github.com/snaiws/DART-mcp-serverDART api연동하는 서버고 api가 83종류가 있습니다.FastMCP 사용하니 메인 스크립트에 함수를 매우 많이 적어야해서 팩토리클래스를 만들고, docstring을 따로 관리하고싶어 함수와 docstring을 분리해서 팩토리클래스에서 조립했습니다. 그런데 이렇게 만들고보니 FastMCP 개발방식 말고 from mcp.server import Server를 통해 좀 더 로우레벨로 만드는 방식도 있는 것 같았습니다. https://github.com/modelcontextprotocol/python-sdk여기의 Low-Level부분입니다.혹시 Low-level관련 영상도 업로드예정이 있으신가요?# 2MCP 서버에 툴을 83개나 만들면 tool calling하는데 헷갈려할 것 같은데 맞는지... 그리고 어떻게 대처가 가능할지 조언부탁드립니다 감사합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.2 PDF 전처리 강의에서 PDF 변환처리 관련해서..
안녕하세요.. 2.2 PDF 전처리 강의를 따라서 진행하고 있습니다. 동일한 openai 모델을 이용하고, pyzerox를 사용했는데, 강사님이 보여주시는 결과와는 다른 내용이 나와서, pyzerox 사용시 추가설정 부분이 빠졌는지 궁금하네요..제가 사용한 세법 pdf는 다음과 같이 표가 구성되어 있습니다. 이 테이블을 알려주신 pyzerox 패키지로 실행하고 나온 md 파일을 text로 변환했는데 다음과 같이 나옵니다.| 과세표준 | 세 율 ||------------------------------|------------------------------------------|| 1,400만원 이하 | 과세표준의 6번세트 || 1,400만원 초과 | 84만 원 + (1,400만원을 초과하는 금액의 15번세트) || 5,000만원 이하 | 624만 원 + (5,000만원을 초과하는 금액의 24번세트) || 8,800만원 이하 | 1,536만원 + (8,800만원을 초과하는 금액의 35번세트) || 8,800만원 초과 | 3,706만원 + (1,500만원을 초과하는 금액의 38번세트) || 3,000만원 초과 | 9,406만원 + (3,000만원을 초과하는 금액의 40번세트) || 5,000만원 초과 | 1,406만원 + (5,000만원을 초과하는 금액의 42번세트) || 10,000만원 초과 | 3,406만원 + (10,000만원을 초과하는 금액의 45번세트) |퍼센트가 번세트로 인식되어서 나오고, 각행도 두줄이 제대로 변환안되고 있는 상태이면서, 추출된 글도 틀립니다. 후반으로 갈 수록 테이블 값이 엄청나게 틀린데,. 이런 상태로는 원하는 RAG를 제대로 할 수 없을 것 같습니다. 이를 해결할 수 있는 방법을 자세히 알려주시면 좋겠습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포 시 오류 (Chroma sqlite3 버전 오류)
안녕하세요 강사님.마지막 Streamlit Cloud 배포 후 버전 오류가 발생해서 질문 납깁니다!Python은 3.10.17 버전 사용하고 있습니다.retriever에 pinecone 사용하지 않고 Chroma 를 사용했고요, requirements.txt 에 버전은 langchain-chroma==0.2.3chromadb==0.6.3로 들어가 있습니다.오류는 unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.라고 뜨는 걸 보면 chromadb 에서 sqlite3 를 사용하고 그 버전 오류인 것 같은데요.. 어떻게 조치를 할지 검색해도 잘 모르겠어서 질문 남깁니다. 감사합니다.
-
해결됨AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
최근 안내해주신 수강생 이벤트 관련 문의입니다.
최근 안내해주신 수강생 이벤트 관련 문의입니다.안녕하세요, 강사님.📌 AI에이전트 강의 수강생 특별 혜택이미 AI에이전트 강의를 수강 중이신가요? GraphRAG 강의 구매 시 <RAG 입문> 70% 할인쿠폰을 드립니다!이라고 이벤트 안내 주셨는데요.1. 여기서 언급하신 GraphRAG 강의는 "graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)"(정가 143,000원) 이 맞나요?2. 또한 여기서 언급하신 <RAG 입문> 70% 할인쿠폰은 RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)(정가 121,000원) 이 맞나요?확인 후 추가로 수강신청 하려고 합니다. 답변 부탁드립니다. 감사합니다.