묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
에이전틱 루프에서의 병렬 노드 구현 문의
안녕하세요, 강사님워크플로우가 아닌 에이전틱 루프에서 병렬 노드 구현이 가능한지 문의드립니다. 구체적으로 다음과 같은 두 가지 시나리오에 대한 가능 여부가 궁금합니다 쿼리에 따라 1, 2번 작업을 순차적으로 진행한 후, 그 결과를 aggregate하여 3번으로 전달하는 방식1, 2, 3번 작업을 동시에 병렬로 수행한 후 한 번에 취합하는 방식 어떤 방식이 가능한지 조언 부탁드립니다. 감사합니다
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
[공유] llama3-groq 모델명 수정 필요
"LLM 모델의 Tool Calling 성능 비교(OpenAI, Gemini, Llama 70B)" 파트 강의 중 1:48초 부터 llama3-groq-70b-8192-tool-use-preview 모델을 불러와 Tool Call의 성능 비교를 진행합니다.2025-04-03 기준 해당 모델명이 변경되어 더 이상 로드가 불가능 합니다.따라서 "llam3-70b-8192" 모델명을 변경하여 사용하는 것이 좋을 것 같습니다.수정 전 코드llm_groq = ChatGroq(model="llama3-groq-70b-8192-tool-use-preview", temperature=0) 수정 후 코드llm_groq = ChatGroq(model="llama3-70b-8192", temperature=0) 감사합니다.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
수업자료 문의
실습환경 및 도구설정에서법률문서 pdf 파일들이 수업자료에 없는데 어디있을까요?
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
서브그래프로 구성된 워크플로우 설계 조언을 듣고 싶습니다
안녕하세요 선생님 위 이미지처럼 추후 서브그래프로 들어갈 CSV 관련 코드 작성 및 실행 워크플로우를 구성했는데, 테스트를 통해서 동작은 확인했습니다그런데 마지막 execute_node가 python_repl로 실행만 하는 노드라서 실패했을 때 워크플로우가 중간에 다시 돌아갈 때 원인이 전달되지 않아서 수정이 잘 될지가 걱정됩니다. 에러까지 넘겨야 할지, 아니면 code_gen node에서 agentexecutor api로 tool_call로 python_repl을 연결한 다음 validation 노드를 타는 게 더 나을지 고민 중인데, 이렇게 하면 코드 실행 실패할 때마다 그래프 시각화가 여러 번 나올 것 같아서 어떤 접근법이 좋을지 조언 부탁드립니다 감사합니다
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
subgraph와 add_conditional_edges 질문
안녕하세요 강사님,서브 그래프 관련 질문입니다!subgraph에서 routing 코드를 보고 있는데, add_conditional_edges 문법이 좀 헷갈려서 질문드립니다. search_builder.add_conditional_edges( "analyze_question", route_datasources_tool_search, ["search_menu", "search_web", "search_wine"]) 위 코드에서 세 번째 매개변수인 ["search_menu", "search_web", "search_wine"]가 어떻게 작동하는지 궁금합니다.제가 이해한 바로는 route_datasources_tool_search 함수에서 return되는 값의 key 값에 따라 다음 노드로 라우팅되는 것 같은데요. 그냥 저렇게 함수들을 나열하면 알아서 key 값과 네임이 일치하는 함수로 넘어가는 건가요?혹시 시간 되실 때 설명 부탁드립니다!감사합니다.
-
미해결입문자를 위한 LangChain 기초
랭체인 질문드립니다.
from langchain_community.llms import HuggingFaceHub # Hugging Face의 Mistral 모델 사용 llm = HuggingFaceHub( repo_id="mistralai/Mistral-7B-Instruct-v0.1", model_kwargs={"temperature": 0.7, "max_new_tokens": 300}, huggingfacehub_api_token=HUGGINGFACE_API_TOKEN )이미 완성된 언어 모델을 기반으로 앱 개발에 사용한다고 하셨는데, openai 말고 허깅페이스로 실습 해도 되나요?이 부분 말고는 같을까요?
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
tool_search_graph 서브그래프 구현 관련 질문: 조건부 분기 처리 및 supervisor 연결 방법
섹션 6. 서브그래프입니다!안녕하세요,tool_search_graph 관련 서브그래프 구현에 대해 두 가지 질문이 있습니다조건부 분기 처리 시, question에 따라 분기된 후에 해당 툴에 맞게 질문을 추가로 필터링하는 과정이 필요한지 궁금합니다. 현재는 간단해서 그냥 하신건지요? question을 찍어보니, 그대로 넘어와서요해당 서브그래프를 supervisor 하단에 배치했을 때, 코드상으로 어떻게 연결할 수 있는지 구체적인 방법이 궁금합니다.답변 부탁드립니다
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
poetry를 사용해야하는 이유가 있나요??
정말 궁금해서 여쭤봅니다. conda로 안하시고 poetry를 중점으로 사용하시는 이유가 궁금합니다
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
"Plan-and-Execute 아키텍쳐 구현하기" 강의 prompt not found error
"Plan-and-Execute 아키텍쳐 구현하기" 강의 hub.pull("ih/ih-react-agent-executor") 실행 시 not found error 발생hub.pull("pollyjaky/ih-react-agent-executor") 로 대체
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
LLM 모델의 Tool calling 성능비교 결과 문의
선생님 안녕하세요, LLM 모델의 Tool calling 성능비교를 해봤는데요.# 도구 호출이 필요한 LLM 호출을 수행 query = "스테이크와 어울리는 와인을 추천해주세요." ai_msg = llm_with_tools.invoke(query)아래 2개 LLM 모델로 성능비교를 해봤습니다. 그런데 (2) 모델의 경우 Content 와 tool_calls 모두 나오는데요. 그러면 (1), (2) 모델 중에 무엇이 더 좋은 성능인가요? 그리고 Content 와 tool_calls 동시에 나오는 경우는 왜 그런건가요?(1) gpt-4o-2024-05-13----------------------------------------------------------------------------------------------------''----------------------------------------------------------------------------------------------------[{'args': {'query': 'best wine to pair with steak'}, 'id': 'call_p7PJFCZUWXEwyCmK4nzLjx9g', 'name': 'search_web', 'type': 'tool_call'}]----------------------------------------------------------------------------------------------------(2) claude-3-7-sonnet-20250219----------------------------------------------------------------------------------------------------[{'text': '스테이크와 어울리는 와인에 대한 정보를 찾아보겠습니다.', 'type': 'text'}, {'id': 'toolu_01Uc2BwXXyW26n7L78zZ6wGf', 'input': {'query': '스테이크와 어울리는 와인 추천'}, 'name': 'search_web', 'type': 'tool_use'}]----------------------------------------------------------------------------------------------------[{'args': {'query': '스테이크와 어울리는 와인 추천'}, 'id': 'toolu_01Uc2BwXXyW26n7L78zZ6wGf', 'name': 'search_web', 'type': 'tool_call'}]----------------------------------------------------------------------------------------------------
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
이전 대화 내용 기억하기
안녕하세요.강의를 듣고 추가적으로 공부를 하려고 하는데예를 들어Q. 테슬라의 창업자는 누구야A. 테슬라의 창업자는 OOO입니다.이러한 대화 바로 다음 OOO에 관련한 추가 질문을 하려고합니다.예시) Q. 그렇다면 그 사람에 대해서 간단하게 설명해줘.위 질문을 하려면 LLM이 이전대화내용을 기억해야하는데 그것에 대해서 공부하려합니다.키워드를 뭐라고 잡아야할까요?
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
re-rank score 관련 아래 질문입니다.
학습 관련 질문이 있으시면, 상세하게 남겨주세요.문제가 발생한 부분의 코드를 함께 올려주세요.수업 영상 몇 분/초 구간인지 알려주세요.
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
ㄱ
from langchain.retrievers.document_compressors import DocumentCompressorPipeline from langchain_community.document_transformers import EmbeddingsRedundantFilter # 중복 문서 제거 redundant_filter = EmbeddingsRedundantFilter(embeddings=embeddings_model) # 쿼리와 관련성이 높은 문서만 필터링 relevant_filter = EmbeddingsFilter(embeddings=embeddings_model, similarity_threshold=0.5) # Re-ranking re_ranker = LLMListwiseRerank.from_llm(llm, top_n=2) pipeline_compressor = DocumentCompressorPipeline( transformers=[redundant_filter, relevant_filter, re_ranker] ) pipeline_compression_retriever = ContextualCompressionRetriever( base_compressor=pipeline_compressor, base_retriever=chroma_db.as_retriever() ) question = "테슬라 회장은 누구인가요?" compressed_docs = pipeline_compression_retriever.invoke(question) print(f"쿼리: {question}") print("검색 결과:") for doc in compressed_docs: print(f"- {doc.page_content} [출처: {doc.metadata['source']}]") print("-"*100) print()`(4) DocumentCompressorPipeline` - 여러 압축기를 순차적으로 결합하는 방식 - BaseDocumentTransformers를 추가하여, 문서를 더 작은 조각으로 나누거나 중복 문서를 제거하는 등의 작업도 가능여기에서 result = chain.invoke() 로 받아서 result의 데이터를 보면, context = result['context'][i] query_similarity_score = context.state['query_similarity_score']이렇게 similarity_score 처럼 rerank score같은거 보고싶은데,# 크로스 인코더를 사용하여 유사성 점수를 계산합니다. sentence_pairs = [[query, prediction]] similarity_scores = cross_encoder_model.predict(sentence_pairs)이런식으로 계산을 해야하나요? 추출하고 싶은데 방법을 잘 모르겠습니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
답변 관련 질문
3.4 벡터 데이터베이스로 pinecone 설정하는 강의를 듣고 있는데 최종 답변이 아래와 같이 나왔습니다.처음에는 답변이 잘 나오다가 어느 순간부터 관련 정보가 없다고 나오는데 혹시 그 이유에 대해 알 수 있을까요?{'query': '연봉 5천만원인 거주자의 종합소득세는?', 'result': '죄송합니다. 제공된 문서에 구체적인 소득세율이나 계산 방법에 대한 정보가 없어서, 연봉 5천만원인 거주자의 종합소득세를 정확하게 계산할 수 없습니다.'}
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
윈도우 환경 pip install langchain-chroma 오류
안녕하세요 윈도우환경에서pip install langchain-chroma 시 아래와 같은 오류가 발생하였습니다 chatGpt에 물어보니 Visual Studio Build Tools 2022 - "C++를 사용한 데스크탑 개발" 을설치하면 된다고 해서 설치했는데도 같은 오류가 발생합니다혹시 원인을 해결법을 있을까요??(new_env) PS D:\00-git\LLMS\rag> pip install langchain-chromaCollecting langchain-chromaUsing cached langchain_chroma-0.2.2-py3-none-any.whl.metadata (1.3 kB)Collecting langchain-core!=0.3.0,!=0.3.1,!=0.3.10,!=0.3.11,!=0.3.12,!=0.3.13,!=0.3.14,!=0.3.2,!=0.3.3,!=0.3.4,!=0.3.5,!=0.3.6,!=0.3.7,!=0.3.8,!=0.3.9,<0.4.0,>=0.2.43 (from langchain-chroma)Using cached langchain_core-0.3.45-py3-none-any.whl.metadata (5.9 kB)Collecting numpy<2.0.0,>=1.26.2 (from langchain-chroma)Using cached numpy-1.26.4.tar.gz (15.8 MB)Installing build dependencies ... doneGetting requirements to build wheel ... doneInstalling backend dependencies ... donePreparing metadata (pyproject.toml) ... errorerror: subprocess-exited-with-error× Preparing metadata (pyproject.toml) did not run successfully.│ exit code: 1╰─> [12 lines of output]+ D:\00-git\LLMS\rag\new_env\Scripts\python.exe C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\vendored-meson\meson\meson.py setup C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mm -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mm\meson-python-native-file.iniThe Meson build systemVersion: 1.2.99Source dir: C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579fBuild dir: C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mmBuild type: native buildProject name: NumPyProject version: 1.26.4 ..\meson.build:1:0: ERROR: Compiler cl cannot compile programs. A full log can be found at C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mm\meson-logs\meson-log.txt[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.[notice] A new release of pip is available: 24.3.1 -> 25.0.1[notice] To update, run: python.exe -m pip install --upgrade piperror: metadata-generation-failed× Encountered error while generating package metadata.╰─> See above for output.note: This is an issue with the package mentioned above, not pip.hint: See above for details.(new_env) PS D:\00-git\LLMS\rag>
-
해결됨한시간으로 끝내는 LangChain 기본기
vscode에서 환경 설정하는 데 어려움이 있습니다
안녕하세요vscode에서 환경 설정하는 데 어려움이 있습니다langchain-basics 설정을 어떻게 해야 할까요??따라하기 좀 어렵습니다. 환경설정 부분만 따라 할 수 있었으면 합니다
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
tax-with-markdown 관련 문의
query = '연봉 5천만원인 직장인의 소득세는 얼마인가요?'의 쿼리는 다음과 같이 답변합니다.제공된 문맥에는 연봉 5천만 원인 직장인의 소득세가 구체적으로 정의되어 있지 않습니다. 근로소득에 대한 기본세율이 적용된다고 언급되어 있지만, 기본세율의 구체적인 수치는 제공되지 않았습니다. 따라서 필요한 정보가 부족하여 소득세의 정확한 금액을 계산할 수 없습니다.query = '연봉 5천만원의 소득세를 구체적으로 계산하고, 세율 및 공제 내용을 포함해 설명해 주세요.'의 쿼리에서 연봉이 5천만 원일 경우, 소득세를 계산하기 위해서는 종합소득 과세표준에 적용되는 세율을 사용해야 합니다. 1,400만 원 초과 5,000만 원 이하 구간에 해당하므로 세율은 84만 원 + (1,400만 원을 초과하는 금액의 15%)입니다. 따라서 소득세는 84만 원 + (3,600만 원 * 0.15) = 624만 원이 됩니다.쿼리 내용에 따라 다르게 답변하는데, 왜 그런건지 알수 있나요? 코드 첨부합니다.# 질문 설정#query = '연봉 5천만원인 직장인의 소득세는 얼마인가요?'query = '연봉 5천만원의 소득세를 구체적으로 계산하고, 세율 및 공제 내용을 포함해 설명해 주세요.'import pprint# LLM 설정from langchain_openai import ChatOpenAIllm = ChatOpenAI(model='gpt-4o')from langchain import hubfrom langchain.chains import RetrievalQAprompt = hub.pull("rlm/rag-prompt")retriever = database.as_retriever()#pprint.pprint(retriever.invoke(query))qa_chain = RetrievalQA.from_chain_type( llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt": prompt})import pprint#pprint.pprint(retriever.invoke(query))# LLM 실행ai_message = qa_chain.invoke(query)# 딕셔너리 형태의 응답에서 "answer" 또는 "result" 키 값만 출력if isinstance(ai_message, dict): answer = ai_message.get("answer") or ai_message.get("result") or "응답 없음" print(answer)else: print(ai_message)
-
해결됨한시간으로 끝내는 LangChain 기본기
Template 사용에 관해 질문 있습니다.
안녕하세요. 수강 듣던 중 궁금한게 생겨 질문드립니다.강의 중간에 PromptTemplate와 ChatPromptTempate를 모두 사용하셨는데, 특정 목적에만 사용하는 Template이 있는건가요?아니면 두 Template의 성능 차이가 있는걸까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
openai 429 에러 문의
위와 같이 충전도 했고 사용한 current usage도 0 달러인데 429 에러가 뜹니다. 혹시 이유가 뭘까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
UpstageEmbeddings 를 사용하여 RAG를 구성하던 도중 Error...
import os # 기존 환경 변수 확인 print("OPENAI_API_KEY:", os.getenv("OPENAI_API_KEY")) print("UPSTAGE_API_KEY:", os.getenv("UPSTAGE_API_KEY")) # OpenAI API 키 삭제 (Upstage API만 사용하도록 설정) if "OPENAI_API_KEY" in os.environ: del os.environ["OPENAI_API_KEY"] # Upstage API 키 직접 설정 os.environ["UPSTAGE_API_KEY"] = "up_kh9mX7uA129qfCuzmcf6COX4HUabn"처음에 OpenAI API 키랑 Upstage API 키 간의 충돌이 일어났구나 싶어, 위와 같이 코드를 작성한 후에 다시 크로마 DB에 임베딩을 시켜보는 데도 계속 똑같습니다 ㅠㅠ 심지어 API 키를 계속 새로 발급받아도 이래요 ㅠㅠ어디가 문제일까요...?