묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨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 시 응답이 잘 오는 걸 봐서는 해당 모델을 사용하는데 문제는 없는 것으로 보입니다.혹시 지금까지 어떤 문제점이 있는지 알 수 있을지요?
-
해결됨TypeScript로 시작하는 LangChain - LLM & RAG 입문
Chat bot 강의가 짤려 있어요
2:27 밖에 없습니다.
-
해결됨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}
-
미해결2024년 가장 최신의 ChatGPT 마스터 클래스
강의 완료하였으나 수료 안됨
학습 중 이해가 어려운 경우보조 자료 접근에 어려움이 있는 경우강의 내용에 오류를 발견한 경우 질문을 남겨주시면 확인 후 답변드립니다 대시보드에 있는 강의는 모두 수강 완료했으나 수료 안됨
-
미해결2024년 가장 최신의 ChatGPT 마스터 클래스
16,17강 확인 안됩니다.
총 17회차 강의로 보이나 15,16강 강의가 확인 불가합니다
-
해결됨한시간으로 끝내는 LangChain 기본기
JsonOutputParser
영상에는 JsonOutputParser가 Json으로 파싱을 못하는 것 같은데제가 테스트하는 시점에서는 ```content='{"capital": "Paris", "population": 67867511, "language": "French", "currency": "Euro"}' additional_kwargs={} response_metadata={'model': 'llama3.2', 'created_at': '2025-04-09T06:56:17.010494Z', 'done': True, 'done_reason': 'stop', 'total_duration': 1087877500, 'load_duration': 26809708, 'prompt_eval_count': 62, 'prompt_eval_duration': 576710791, 'eval_count': 27, 'eval_duration': 483715500, 'message': Message(role='assistant', content='', images=None, tool_calls=None), 'model_name': 'llama3.2'} id='run-c9042af5-e5d4-4e27-b2ff-d78c308ec28f-0' usage_metadata={'input_tokens': 62, 'output_tokens': 27, 'total_tokens': 89}``` --> ``` json{'capital': 'Paris', 'population': 67867511, 'language': 'French', 'currency': 'Euro'}```파싱이 잘 되네요llama3.2를 사용 중인데 질문에 대한 응답이 잘나와서 그런거지 JsonOutputParser 사용은 여전히 사용하지 않는 것을 추천하실까요?
-
해결됨TypeScript로 시작하는 LangChain - LLM & RAG 입문
슬라이드
안녕하세요. 강의 잘 듣고 있습니다.혹시 사용하신 슬라이드를 받아볼수 있을까요?감사합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
uv sync 시에 에러가 발생합니다.
아래처럼 에러가 발생해요(uv add -dev ipykerenel 역시)uv sync Resolved 227 packages in 1ms × Failed to build chroma-hnswlib==0.7.6 ├─▶ The build backend returned an error ╰─▶ Call to setuptools.build_meta.build_wheel failed (exit status: 1) [stdout] running bdist_wheel running build running build_ext clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -I/Users/hyungseok/.cache/uv/builds-v0/.tmprx1Zqg/include -I/opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13 -c /var/folders/yh/wqs1mg612sd3vr49_0qbbvtm0000gn/T/tmp95qf8z8x.cpp -o var/folders/yh/wqs1mg612sd3vr49_0qbbvtm0000gn/T/tmp95qf8z8x.o -std=c++14 clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -I/Users/hyungseok/.cache/uv/builds-v0/.tmprx1Zqg/include -I/opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13 -c /var/folders/yh/wqs1mg612sd3vr49_0qbbvtm0000gn/T/tmpjouomjdk.cpp -o var/folders/yh/wqs1mg612sd3vr49_0qbbvtm0000gn/T/tmpjouomjdk.o -fvisibility=hidden building 'hnswlib' extension clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -I/Users/hyungseok/.cache/uv/builds-v0/.tmprx1Zqg/lib/python3.13/site-packages/pybind11/include -I/Users/hyungseok/.cache/uv/builds-v0/.tmprx1Zqg/lib/python3.13/site-packages/numpy/_core/include -I./hnswlib/ -I/Users/hyungseok/.cache/uv/builds-v0/.tmprx1Zqg/include -I/opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13 -c ./python_bindings/bindings.cpp -o build/temp.macosx-15.0-arm64-cpython-313/python_bindings/bindings.o -O3 -stdlib=libc++ -mmacosx-version-min=10.7 -DVERSION_INFO=\"0.7.6\" -std=c++14 -fvisibility=hidden [stderr] ./python_bindings/bindings.cpp:1:10: fatal error: 'iostream' file not found 1 | #include <iostream> | ^~~~~~~~~~ 1 error generated. error: command '/usr/bin/clang++' failed with exit code 1 hint: This usually indicates a problem with the package or the build environment. help: chroma-hnswlib (v0.7.6) was included because inflearn-langgraph-lecture (v0.1.0) depends on chroma-hnswlib
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
MCP 를 사용하게 되면 기존 구현 패턴과 어떻게 달라질까요
최근 MCP 가 많이 얘기되고 있는데 MCP 를 활용한 내용이 다뤄줬으면 좋을것 같습니다.기존과는 어떻게 달라지는지, LangChain MCP Adapters 내용등에 대해 간략하게 알려주는 강의가 추가됐으면 좋겠습니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
(해결됨) Window 사용자 깃헙레포 클론 실패 (3.6, 3.7 파일명 이슈)
안녕하세요 강사님Windows 환경에서 진행하려고 하는데요,깃헙 레포 파일명에3.6. 파일에는 : 이 들어가고3.7. 파일에는 " 이 들어가서clone을 해도, zip 다운로드 후 압축해제를 해도문제가 발생하는 것 같습니다.3.6, 3.7 파일명을 수정해주실 수 있으실까요?
-
미해결Prompt Engineering: 완벽 가이드
Prompt Evaluation 질문있습니다..
안녕하세요. 강의 잘 듣고 있습니다! 다만 코딩을 못하는 비개발자 입장에서 Prompt Evaluation 시간에 적으시는 것 포함해서 강사님께서 강의시간에 실시간으로 적는 내용들은 강의 자료에도 없고, 강의 때도 설명없이 뚝딱 하고 넘어가시니까 따라하고는 싶은데... 뭔지도 잘 모르겠고 ㅠㅠ 어떻게 쓰시는건지.... 모바일로 보면 더 작게 보이고 보이지도 않는데 제 실생활에 어떻게 적용해야될지.... 감이 안옵니다 어떻게 해야 좀더 쉽게.. 접근하고, 비개발자 입장에서도 따라하기 쉬울까요?
-
해결됨한시간으로 끝내는 LangChain 기본기
vscode에서 환경 설정하는 데 어려움이 있습니다
안녕하세요vscode에서 환경 설정하는 데 어려움이 있습니다langchain-basics 설정을 어떻게 해야 할까요??따라하기 좀 어렵습니다. 환경설정 부분만 따라 할 수 있었으면 합니다
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
최근 날짜를 반영하기 위한 방법
안녕하세요 강사님좋은 강의 덕분에 많이 배우고 있습니다 gpt4-mini 모델을 사용 중인데, 날짜 관련 문제가 있습니다ex) 최근 한 달간 데이터 가져와줘 강의에서는 gpt 학습된 날짜 기준으로 최근이기 떄문에 오류가 난다고 하셔서datetime을 프롬프트에 넣으시더라구요 근데 만약에 이런 날짜 관련된 질문을 처리해야 할 노드나 툴 들이 많다면 매번 프롬프트에 넣어줘야하는걸까요? 아니면 시간 도구를 별도로 만들어서 사용하게 해야하는지..팁이나 경험 알려주시면 감사하겠습니답
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
llm의 응답을 특정문자열 내에서만 응답하도록하는법
안녕하세요 강의 잘 듣고있습니다. llm을 이용해 카테고리화된 응답 을 받아야할때 강의에서 사용한 아래와같은 프롬프트를 사용하는데doc_relevance_prompt = hub.pull("langchain-ai/rag-document-relevance") 모델에 따라 제가 원하는 단어가 아닌 문장단위가 나와서 판단 로직이 잘 수행되지않더라고요 이런 경우 프롬프트 말고 다른 해결 책이 있을까요? 특정 문자열이 아니면 irrelevant 이런 식으로 처리하려고해도 대부분의 질문이 관련 없다 라고만 판단을 해서 제대로된 기능 사용이 힘드네요
-
해결됨챗GPT와 파이썬으로 주식 자동매매 앱 및 웹 투자 리포트 만들기
Anaconda 32비트 다운로드하는건가요?
64로 되어 있어서 키움하고 연결이 안되는거 같아요(kiwoom32) PS C:\Users\main> python -c "import struct; print(struct.calcsize('P') * 8)">> 64(kiwoom32) PS C:\Users\main>
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2-7 병렬 처리를 통한 효율 개선 파트 chain 구축
아래 처럼 hub.pull을 사용하면 에러가 발생해서, https://smith.langchain.com/hub/rlm/rag-prompt 해당 링크의 문구를 그대로 사용하고 있는 것 외에는 전부 동일한 코드인데, tax_base_retrieval_chain을 구축할 때 에러가 발생합니다hub.pull('rlm/rag-prompt')
-
해결됨한시간으로 끝내는 LangChain 기본기
Template 사용에 관해 질문 있습니다.
안녕하세요. 수강 듣던 중 궁금한게 생겨 질문드립니다.강의 중간에 PromptTemplate와 ChatPromptTempate를 모두 사용하셨는데, 특정 목적에만 사용하는 Template이 있는건가요?아니면 두 Template의 성능 차이가 있는걸까요?
-
미해결Prompt Engineering: 완벽 가이드
reddit data 는 어디있을까요?
수업 자료에는 code, review_criteria이 두개만 있어요.이 강의에서 사용하는 레딧 자료가 어디있는지 모르겠네요.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
Hub에서 다운 받은 프롬프트에 이미지 추가하기
안녕하세요. 저는 이번에 pdf를 입력하고 그것을 기반으로하는 멀티모달 graph를 streamlit을 통해 구현했습니다. 근데 제가 이번에 Langchain 관련 코드를 몰라서 완성 된 것과는 별개로 너무 투박하게 코드가 작성된 것 같아서 질문드립니다. 질문 요약 :hub.pull("rlm/rag-prompt")한 프롬포트 str로 뽑기 or이미지 추가해서 메세지만드는 방법 GPT 모델은message_content = [] message_content.append({"type": "text", "text": prompt}) message_content.append( {"type": "image_url", "image_url": {"url": f"data:{image_type};base64,{image_data}"}} ) message = HumanMessage(content=message_content) # 응답받기 client = ChatOpenAI(model='gpt-4o') response = client.invoke([message]) response.content ## str임!해당 모양대로 메세지를 만들고 invoke하면 이미지포함 메세지가 되는 것을 알았습니다.이를 통해 이미지에 보이는것은 ~~문서에있니? 이런식으로 구현하고자 했습니다. generate 함수(노드) 에서 이미지와 텍스트를 같이 메세지로 전달하고 싶은데 조금 어려움을 겪었습니다. generate 함수 코드입니다.해당 함수는 sate['context']의 내용을 프롬포트에 넣고 이를 이미지와 함께 보내고자합니다.# 허브에서 RAG 프롬프트를 가져옵니다 generate_prompt = hub.pull("rlm/rag-prompt") # 지정된 매개변수로 언어 모델을 초기화합니다 generate_llm2 = ChatOpenAI(model='gpt-4o') def generate(state: AgentState) -> AgentState: """ 주어진 state를 기반으로 RAG 체인을 사용하여 응답을 생성합니다. Args: state (AgentState): 사용자의 질문과 문맥을 포함한 에이전트의 현재 state. Returns: AgentState: 생성된 응답을 포함하는 state를 반환합니다. """ context = state['context'] query = state['query_message'] make_massage = [] massage = generate_prompt.invoke({'question': query, 'context': context}) messages = massage.to_messages() # print(massage) # print("--------------------------------") # print(messages) # print("--------------------------------") # print(messages[0]) # print("--------------------------------") # print(messages[0].content) # print("--------------------------------") make_massage.append({"type": "text", "text": messages[0].content}) if state['query_img'] != "": make_massage.append({"type": "image_url", 'image_url': {"url": state['query_img']}}) final_massage = HumanMessage(content=make_massage) response = generate_llm2.invoke([final_massage]) answer = { "type" : "RAGtext", "message" : response.content} print(f"call : generate") return {'answer': answer} 처음에는 prompt에서 str을 추출하려고 했는데 조금 어려웠습니다;from langchain_openai import ChatOpenAI from langchain import hub # 허브에서 RAG 프롬프트를 가져옵니다 generate_prompt = hub.pull("rlm/rag-prompt") print(generate_prompt.messages[0]) print(generate_prompt.messages[0].content) # 'HumanMessagePromptTemplate' object has no attribute 'content' 오류 print(generate_prompt.messages[0].invoke({"context" : "test", "question" : "test22" })) # 오류;; 그렇기에 일단 invoke 를하고 완성된 text를 찾아 넣어주었습니다. make_massage.append({"type": "text", "text": messages[0].content})이런식으로 텍스트를 추출해서 다시 메세지를 구성하는게아니라.이미지 url을 알고있으니 추가로 더 넣어주는 뭔가 그런 세련된 방법이 없었을까요? 분명 HumanMessagePromptTemplate 클래스나 그런것들다루는거라 기초 문법인거 같은데 조금 많이 헤매서 더 좋은 코드가 있을까 싶어 이렇게 질문을 드립니다.