묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
벡터db 저장 문제
안녕하세요! 현재 3.6강까지 수강하였습니다.저는 llm 모델은 ollama의 exaone을 사용했고 임베딩 모델은 HuggingFaceEmbeddings 모델을 사용했습니다.Pinecone 콘솔로 들어온 데이터를 보고 있는데, 사진처럼 같은 게 2개씩 들어갔더라구요. 질문도 최대한 맞춰보려고"거주자의 종합소득이 5천만원일 때 소득세는 얼마인가요?" 라고 하였는데''제공된 문서들은 주로 다양한 유형의 소득과 관련된 조세 규정에 대해 설명하고 있지만, 특정 종합소득세율 테이블이나 5천만 원 소득에 대한 정확한 세액 계산 정보는 포함하고 있지 않습니다"이런식으로 답변이 나왔습니다. 이것은 단지 llm모델과 임베딩 모델에서 생긴 문제인 걸까요? 여기서 어떻게 더 해야할지 모르겠어서 질문남깁니다. 감사합니다.!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
langchain 버전 질문드립니다.
수업 중에서는 langchain==0.3.3 버전을 사용하셨는데 제가 지금 수강하고 있는 시점에서는 1.0.3 버전이 나와서 1.0.3 버전으로 설치했습니다. No module named 'langchain.chains'RetrievalQA(create_retrieval_chain)를 임포트하려고 langchain.chains를 가져오려고 했는데, ModuleNotFoundError가 뜹니다. 현재 버전에서는 사라진 것 같습니다. 다른 방법을 추천하시는지아니면 0.3.3으로 다운그레이드해서 공부해야하는지 궁금합니다..! 감사합니다
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
hub 임포트 문제
%pip install -U langchain langchainhub --quietfrom langchain import hub prompt = hub.pull("rlm/rag-prompt")안녕하세요! 강의에서처럼 hub를 임포트 하기 위해서 이렇게 했는데, 아래와 같은 에러가 뜹니다. --------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[47], line 1 ----> 1 from langchain import hub 3 prompt = hub.pull("rlm/rag-prompt") ImportError: cannot import name 'hub' from 'langchain' (/home/Dev/llm-app/llm-app/lib/python3.10/site-packages/langchain/__init__.py)from langchainhub import hub로도 해보았는데 안되고 검색해도 잘 안나와서 질문 남깁니다ㅠㅠ
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
KR.txt파일이 없습니다.
제공해주신 데이터.zip파일내에 한글 text 파일이 누락된것 같습니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
웹훅 url 환경변수로 고생을 좀 했습니다.ㅎ
웹훅 붙일때 env 파일에는 production url이 되었으나, 이상하게 실제os.getenv("AGENT_API_URL")로 돌리면 test url로 나오는 현상이 있었습니다. 사용자 환경변수 기타 모든 환경변수 조회하였으나 안나오는데 이상하게 계속 test-url로 요청하더라구요 이걸로 4시간 잡아 먹었습니다....하하하하load_dotenv(override=True) agent_api_key = os.getenv("AGENT_API_KEY") agent_api_url = os.getenv("AGENT_API_URL")찾아서 삭제 해볼려고 하였으나, 못 찾고 대신 override하면 괜찮아 지니 참고 하시기 바랍니다.근데 진짜 이유를 모르겠습니다....왜 test url로 등록이 됫는지...
-
해결됨회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
[구글 드라이브 이용한 데이터 전처리] get row 대신 다른 방법 공유
병진님 안녕하세요!좋은 강의 덕분에 재미있게 실습 중입니다ㅎㅎ강의 중에 google sheet 노드의 get row 대신 다른 방법 알게 되면 공유해달라고 하셔서, 실습하면서 다른 방법 찾게 되어서 공유 드려요! (참고로 제가 참고한 링크는 https://community.n8n.io/t/how-to-see-all-files-inside-a-google-drive/157053/2 입니다) 저는 google drive 노드의 Search files and folder를 사용하였습니다. 강의 중에는 해당 옵션을 사용하면 폴더의 id만 나온다고 하셨는데, Filter 부분에 내용을 추가하니까 해당 폴더 안에 있는 파일들의 id와 name이 나왔습니다. 그래서 get row 대신에 search files and folder 부분만 수정하였는데요. 실제로 loop over items 이후 download file 부분에서 파일의 id와 연결하여 다운로드 되는 것 까지 확인하였습니다. 작지만 도움 되셨으면 좋겠네요ㅎㅎ강의 늘 감사합니다!
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
ChatOllama 임포트 질문입니다
안녕하세요제가 이 강의를 듣기 전에 '한 시간으로 끝내는 LangChain 기본기'를 수강했습니다.거기서는 올라마를 사용할 때from langchain_ollama import ChatOllama llm = ChatOllama(model="")langchain_ollama에서 가져왔는데이번 강의에서는from langchain_community.chat_models import ChatOllama llm = ChatOllama(model="")langchain_community에서 가져오셨더라구요.둘의 차이가 있나요? 차이가 없다면 둘 중 어느 쪽으로 하면 좋을까요?
-
미해결랭체인과 MCP로 빚는 AI Agent 마스터 클래스
강의 자료 위치
안녕하세요?강의 자료는 어디서 받을 수 있을까요?pdf 책을 제공한다고 적혀 있는데 어디 있는지 모르겠습니다. ㅠ빨리 공부하고 싶습니다.
-
해결됨회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
Naver 뉴스 스크랩 봇 강의 중 filter 노드
안녕하세요 병진님:)좋은 강의 감사합니다! n8n 강의를 차례차례 따라하고 있는데요.'Naver 뉴스 스크랩 봇' 강의를 따라하는 도중에 의도치 않는 결과가 나와서 질문 드립니다. 강의에서 Filter 노드를 사용하셨는데, Filter 노드는 array를 받아서 그 중에서 조건에 맞지 않는 값들은 filter하는 것으로 이해하였습니다. 하지만 저희는 for loop을 통해서 array가 아닌 한 개의 값들만 filter 노드를 통과할 것이고, 그리고 실제로 이 값이 false이면 진행하지 않고 멈춰버릴 것으로 예상됩니다.실제로 실습 도중에 아래의 그림과 같이 Filter 노드 결과가 false이니까 그 이후를 진행하지 않고 workflow successfully ended로 끝나버렸습니다. 그래서 Filter 노드를 쓰면 안된다고 이해했는데 맞을까요? 그래서 Filter 노드 대신에 If 노드를 사용하였고, false이면 for loop과 이어주었더니 그제서야 의도대로 동작하였습니다. 이렇게 수정한 버전이 맞을까요? (+아니면 Filter 노드로 원래 의도대로 동작하는거라서 굳이 If 노드를 사용할 필요가 없는건가요?) 바쁘실텐데 답변 주시면 감사하겠습니다!
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
id(actor) 와 관련한 질문입니다
이 명령은 actor.id 를 생성하는 명령인지. 아니면 gactor.get("id") 인지 궁금합니다.
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
쿼리문 질문 드립니다.
"graphRAG 구현 (랭체인 LCEL 활용)" 부분입니다.WHERE ANY(title IN $movie_titles WHERE movie.title CONTAINS title) 부분을 아래와 같이 수정 WHERE movie.title IN $movie_titles수정한 이후에 건수가 제대로 나오질 않았습니다. ( 참고 $movie_titles 는 4건인데최총 추출되는 것은 2건입니다.) 단순히 생각하면 title 이 추출된 title 에 포함되어 있는 movie 만 추출하면 될 거 같은데..제대로 동작하지 않네요...왜 그런지 설명 부탁드립니다.WHERE 절 안에 다시 WHERE 절이 있는 것도 잘 모르겠습니다.감사합니다.
-
해결됨회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
비개발자 강의 수강
안녕하세요! 좋은 강의 만들어주셔서 감사합니다.저는 비개발자로 무턱대고 강의를 수강했는데, 파이썬 관련된 내용은 아무래도 이해가 어렵네요.순서대로 강의를 듣는 게 좋겠다고 생각해서 앞에서부터 듣고 있는데, 아무래도 저에게 가장 도움되는 파트는 Text to SQL이 아닐까 싶습니다만... 이 파트에도 파이썬 지식이 필요하면 파이썬을 공부해야 하나 고민입니다. 그래서 질문을 드리자면Text to SQL 파트도 파이썬 지식이 필요할까요?만약 그렇지 않더라도 파이썬을 공부하면 다른 강의 내용을 익히는 데 도움이 될 것 같은데, 이 경우에 파이썬을 공부하는 방법으로 추천하시는 게 있을까요?감사합니다!
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
langChain, langGrpah VS n8n
강의 너무 재밌게 잘 듣고 있습니다!그런데 문득 궁금한게 생겼습니다. 작업 하시는 것 보다 보면, 어떤 경우에는 langChain, langGraph로 작업하시고, 또 어떤 경우에는 n8n으로 작업하시는데 어떤 기준으로 기술을 선택하시는지 궁금합니다.
-
해결됨한시간으로 끝내는 LangChain 기본기
JsonOutputParser 질문입니다
4강에서 JsonOutputParser 예제를 따라하는 중입니다.json_ai_message=llm.invoke(country_detail_prompt.invoke({"country": "France"}))json_ai_message.content이렇게 찍어보면 '{"Capital": "Seoul", "Population": 51966111, "Language": "Korean", "Currency": "South Korean Won (KRW)"}'결과가 이렇게 나옵니다. 궁금한 것은 강의에서 ```json\ 이게 있을 수도 있고 없을 수도 있다고 하셨는데,저의 결과처럼 저렇게 나올 수도 있고 강의에서 처럼 ```json\ 이게 붙은 형식으로 나올 수도 있다는 말인가요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
docs 파일 못찾음
국정자원 화재로 인해... docs 파일을 내려받을수가 없네요 ㅠ 어떻게 해야할까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
tax_with_markdown.docx 에 테이블 값 오타
연봉 1억4천만원 소득세가 다르게 나와서 문서 확인하니테이블에 있는 값이 오타네요...ㅜㅜ1536만원인데 3706만원으로 된부분과 42퍼센트도 오타...제가 발견한건 두군데임
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
mac으로 hugging face 양자화 공유합니다.(질문도 있습니다)
안녕하세요.강의에서 나오는 BitsAndBytesConfig를 통한 양자화 예시에서 CUDA가 필수로 요구되어 macbook에서 진행할 수 있는 방안을 찾다가 mlx_lm을 통해서 MPS(mac의 gpu)를 활용하여 양자화가 가능하단 사실을 알게되어 공유드리고자 합니다. 아마 맥북 사용자도 꽤 많을 것으로 예상됩니다. langchain에서 MLXPipeline을 제공하지만 이를 사용했을 때 현재 invoke시 호출되는 _call 메서드 내부에서 generate_step이 mlx_lm에서 제공은 하지만 MLXPipeline에서 제대로 불러올 수 없어 RunnableLambda를 통해서 에러를 우회해봤습니다.(Q? 강사님은 혹시 해결 방법을 알고 계실까요? 공홈 코드가 다 안 되네요 ㅜㅜ 오류 코드는 맨 아래 첨부하겠습니다.) 먼저 양자화 진행하는 방식입니다. cli를 통한 command 또는 python-api를 활용하는 방법 두 가지가 있습니다. 자세한건 링크 첨부하겠습니다. 양자화 개념에 대해서 자세히 나오니 참고하면 좋으실 듯 합니다.링크: [quantization with xlm_lm](https://developer.apple.com/kr/videos/play/wwdc2025/298/?time=187) mlx_lm을 통한 양자화먼저 양자화한 model을 local path에 저장합니다. 그 전에 apple의 gpu를 확인할 수 있는 코드 부분은 처음 부분에서 확인하실 수 있습니다.사실 python코드를 싸는 것보다 command로 양자화 진행하는게 편한 것 같습니다. 전 projection layer와 embedding layer는 다른 layer보다 높은 bit로 해주는게 좋다고 하여 python으로 진행했습니다. dequantize on-the-fly(게산 추론)시 더 좋다고 합니다. # mac에서 mps를 사용한 예제 import torch from mlx_lm.convert import convert print("MPS available on this device =>", torch.backends.mps.is_available()) # projection layer & embedding layer는 6bit, 양자화 가능한 layer는 4bit, 양자화 불가능은 False return def mixed_quantization(layer_path, layer): if "lm_head" in layer_path or 'embed_tokens' in layer_path: return {"bits": 6, "group_size": 64} elif hasattr(layer, "to_quantized"): return {"bits": 4, "group_size": 64} else: return False # quantization 진행 convert( hf_path="microsoft/Phi-3-mini-4k-instruct", mlx_path="./models/microsoft-Phi-3-mini-4k-instruct-mixed-4-6-bit", dtype="float16", quantize=True, q_bits=4, q_group_size=64, quant_predicate=mixed_quantization )$) mlx_lm.convert --hf-path "mistralai/Mistral-7B-Instruct-v0.3" \ --mlx-path "./mistral-7b-v0.3-4bit" \ --dtype float16 \ --quantize --q-bits 4 --q-group-size 64 --upload-repo "my-name/mistral-7b-v0.3-4bit" Langchain과 연계하기 from functools import wraps from langchain_core.runnables import RunnableLambda from langchain_core.output_parsers import StrOutputParser from mlx_lm import generate, load quantized_model_path = "./models/microsoft-Phi-3-mini-4k-instruct-mixed-4-6-bit" model, tokenizer = load(quantized_model_path) def runnable_wrapper(func): """RunnableLambda wrapper function""" @wraps(func) def wrapper(*args, **kwargs): return RunnableLambda(func) return wrapper @runnable_wrapper def create_chat_prompt(question): messages = [ { "role": "system", "content": """ You are an expert in information retrieval and summarization. Your job is to read the provided text and produce a precise, faithful, and concise summary. Prioritize the author’s main claim, key evidence, and conclusions. Use plain English and avoid filler. Do not invent facts that aren’t present in the input. """ }, { "role": "user", "content": f""" Question: {question} """ } ] prompt_without_tokenized = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False) prompt_with_tokenized = tokenizer.apply_chat_template(messages, add_generation_prompt=True) print("생성된 prompt👇\n", prompt_without_tokenized) return prompt_with_tokenized @runnable_wrapper def run_llm_with_mlx(prompt): return generate(model=model, tokenizer=tokenizer, prompt=prompt) @runnable_wrapper def output_parser(answer): return answer.replace("<|end|>", "") chain = create_chat_prompt() | run_llm_with_mlx() | output_parser()오류 코드llm.invoke에서 에러가 발생하며 TypeError: generate_step() got an unexpected keyword argument 'formatter'라는 에러가 발생합니다.from langchain_community.llms.mlx_pipeline import MLXPipeline from mlx_lm import load model_path = "./models/microsoft-Phi-3-mini-4k-instruct-mixed-4-6-bit" model, tokenizer = load(model_path) llm = MLXPipeline( model=model, tokenizer=tokenizer ) llm.invoke("what's my name?")
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
강병진 강사님 반갑습니다. RAG 추가 전략에 아이디어에 대해서 질문드립니다.
강병진 강사님 안녕하세요 우선 저와 같은시기쯤? 울산에 있으셨다고 하니 반갑습니다. 저는 병진강사님과 인연이 많은것 같습니다. 강사님 전 회사? 정유회사 바로 옆에 제련회사에서 딥러닝 이미지 처리 프로젝트를 개발하고 있었습니다.병진강사님 덕분에 생성형 AI도 따로 학습을 하고 있고 개별적인 프로젝트도 하고 있습니다. 감사합니다. 질문.1RAG를 구성하고 문서를 벡터DB에 지속하여 업데이트를 위해서 PDF 텍스트·이미지 분석 → RAG용 JSON/JSONL 생성 → Pinecone 적재가능하도록 PyQt GUI 프로그램 만들었는데 여기서 추가적으로 생성되는 문서를 지속적으로 업데이트를 해야할 경우 25년 10월 초에 새로나온 Open AI에 에이전트 툴을 이용해서 일정 시간에 자동으로 Pinecone에 업데으트 해주는 에이전트를 만들어서 자동화를 하려고 하는데 이런 전략을 구성할 경우 문제가 될 부분이 있을까요?질문.2 모델을 만들고 회사가 가지고 있는 특허 문서 파일을 RAG로 구성을 완료한 후 외부 사이트 >> 각 국가의 특허청에 파일을 검색해서 유사도를 분석하거나 하려고 할 때 전략은 어떻게 가져가면 좋을지? 입니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
커널 시작 에러
주피터 노트북에서 %pip install langchain-openai python-dotenv이 코드를 실행 하면 아래 에러가 자꾸 뜹니다.커널을 시작하지 못했습니다. 커널 'venv (3.11.9) (Python 3.11.9)'을(를) 시작하지 못했습니다. 자세한 내용은 Jupyter 로그을 참조하세요. listen EFAULT: bad address in system call argument 192.168.30.146:9001 참고로 저는 윈도우 유저고 가상환경은 venv를 사용하고 있습니다.
-
해결됨회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
18강 제공되는 스크립트가 어디있을까요?
안녕하세요. 너무 좋은 강의 감사합니다. 다름이 아니오라, 18강 까지 진행중인데 강의에서 말씀하시는 제공했다는 스크립트 (create_table_for_test_sql.ipnb) 는 어디서 받을 수 있나요? 자료제공이나 강의자료를 봐도 해당 스크립트가 없네요 ㅠㅠ