묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결LLM 핵심 이론, 구조로 이해하기 -ChatGPT·RAG·Agent의 작동 원리를 한 번에-
강의자료
강의자료는 없나요
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
Rerank에 대해 질문드립니다.
안녕하세요 선생님 🙂먼저 양질의 강의를 제공해주셔 정말 감사합니다. cross_encoder_retriever = ContextualCompressionRetriever( base_compressor=re_ranker, base_retriever=multi_query_custom_retriever, )위와 같이 re-ranker를 적용시킬때 retriever를 멀티쿼리로 적용을 해보았습니다.랭스미스로 로깅을 해보니, 멀티 쿼리는 정상적으로 작동한것 같은데요, 각각의 쿼리에 대해 Runnable로 리랭킹을 하는게 아닌, 원본 쿼리를 기반으로 리랭킹을 한다는 느낌을 받았습니다.아무래도 데이터셋이 테스트용이라 확답이 안서는데, 이 부분은 사용자의 "원본" 쿼리로만 리랭킹을 하는건지 궁금합니다. 만약 그렇다면 랭그래프로 해결을 할 수 있을듯 한데요,State에 멀티 쿼리의 문서 검색 결과를 저장한 뒤, 각 쿼리에 대한 리랭킹 노드를 하는 방법이 생각이 났는데 피드백 부탁드려도 될까요? (사실 오버 엔지니어링이라는 생각이 들지만 ㅎㅎ 실제 프로덕션에 적용시킨다면 어떤 아키텍쳐가 좋은지 궁금합니다!) 감사합니다 :)
-
미해결Spring WebFlux + LLM 실전 구현
DTO 사용법에 대해서 궁금합니다!
강사님께서는 record가 아닌, 일반 class를 사용했는데! 혹시 이유가 있을까요~~!?!? 현업에서 물어보려해도ㅠㅠ... 주변에 시니어가 없는 환경이라... 딱히 물어보기가 어려워서요~~!!
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
neo4j 사용에 질문 드립니다.
만약, 만든 랭체인과 그래프rag를 서비스로 만든다면, neo4j를 호출할 때, pooling은 고려하지 않아도 되는지요? 일반적으로 db 연결에 timeout이나 pooling 등의 설정을 해줘야 하는 것으로 아는데,api를 호출하는 것이라 서버에서 자체적으로 처리하는 것으로 생각하면 될런지요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.4 Self-RAG 결과가 달라요!
해당 강의 8:10처럼 동일하게 돌렸을 때 다음과 같이 출력이 찍힙니다. 624만원에 관한 정보는 나오지 않습니다. ㅠㅠ 여러번 돌려도 계속 그렇게 나오네요 .. 어떤 문제일까요?, 혹시나 DB에 문서를 적재하는 과정중에서 55조의 테이블이 씹힌건가? 해서 document_list 찍었을땐 (적재 전 txt 파일을 로딩하는과정에서) 또 624만원에 관련된 내용이 있습니다... 출력내용이 길어 10000자가 넘어 마지막 answer만 올려드립니다. document answer == {'answer': AIMessage(content='연봉 5천만 원인 거주자의 소득세는 근로소득공제를 적용하여 계산됩니다. 총급여액 5천만 원의 경우, 근로소득공제는 1천200만 원+(4천500만 원을 초과하는 금액의 100분의 5)입니다. 따라서, 소득세는 해당 공제를 적용한 과세표준에 세율을 적용하여 계산하게 됩니다. 하지만 세율 정보가 없으므로 정확한 소득세 금액을 계산할 수 없습니다.++ 다른 테이블은 context로 찍히는데 55조 624만원 관련 테이블만 안찍힙니다..
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
저는 왜 그대로 했는데 답변이 틀리게 나오는지 모르겠네요
소득세법 제55조(세율) 및 제47조(근로소득공제)에 따르면,거주자 기준으로 연봉 5천만원(근로소득)의 소득세는 다음과 같이 계산됩니다.근로소득공제 적용총급여액 5천만원 기준 공제액: 1,475만원(5천만원 × 15% + 75만원, 단 최고 한도 2천만원 미만)과세표준 산정5천만원 - 1,475만원 = 3,525만원종합소득세율 적용3,525만원 구간: 1,400만원 이하 6% + 초과분 15%산출세액: 84만원(1,400만원 × 6%) + (3,525만원 - 1,400만원) × 15% = 474.75만원최종 납부세액474.75만원에서 근로소득세액공제(산출세액의 55% 한도) 등 추가 공제 적용 가능※ 정확한 세액은 의료비·교육비·보험료 등 추가 공제항목에 따라 달라질 수 있습니다.(추가 설명: "거주자"는 직장·자영업 등 소득 유형과 무관하게 국적에 관계없이 국내 주소를 둔 개인을 의미하며, 직장인은 그 하위 범주에 포함됩니다.)답변이 전혀 다르고 이상하게 근거없는 숫자도 나오는데 왜그런걸까유 fewshot하는것까지 작성했습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
langchain howto/sequence는 지금 doc 공식 사이트 어디서 확인할 수 있나요?
| 이런 파이프라인 문법 수업중에 보이는 how-to-guides의 링크가 어디인가요? 공식문서가 많이 업데이트 되었는지 수업 전반으로 일치하는 부분 찾기가 너무 힘드네요...
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
new_question에 대한 답 출력
new_question 이 ''연봉 5천만원인 거주자의 소득세는 얼마인가요?'' 이라는 질문만 내놓고, 답은 내놓지 않습니다%pip install python-dotenv langchain langchain-upstage langchain-community langchain-text-splitters langchain-pinecone docx2txtfrom langchain_community.document_loaders import Docx2txtLoader from langchain_text_splitters import RecursiveCharacterTextSplitter text_splitter = RecursiveCharacterTextSplitter( chunk_size=1500, chunk_overlap=200, ) loader = Docx2txtLoader('./tax.docx') document_list = loader.load_and_split(text_splitter=text_splitter)from dotenv import load_dotenv from langchain_upstage import UpstageEmbeddings # 환경변수를 불러옴 load_dotenv() # OpenAI에서 제공하는 Embedding Model을 활용해서 `chunk`를 vector화 embedding = UpstageEmbeddings(model="embedding-query")from langchain_pinecone import PineconeVectorStore # 데이터를 처음 저장할 때 index_name = 'tax-upstage-index' database = PineconeVectorStore.from_documents(document_list, embeddin g, index_name=index_name)query = '연봉 5천만원인 직장인의 소득세는 얼마인가요?' # `k` 값을 조절해서 얼마나 많은 데이터를 불러올지 결정 retrieved_docs = database.similarity_search(query, k=3)retrieved_docsfrom langchain_upstage import ChatUpstage llm = ChatUpstage()from langchain_core.prompts import PromptTemplate prompt_with_template = '아래 질문에 답변해주세요:\n\n {query}' prompt_template = PromptTemplate(template=prompt_with_template, input_variables={"query"})from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate dictionary = ["사람을 나타내는 표현 -> 거주자"] prompt = ChatPromptTemplate.from_template(f""" 사용자의 질문을 보고, 우리의 사전을 참고해서 사용자의 질문을 변경해주세요. 만약 변경할 필요가 없다고 판단된다면, 사용자의 질문을 변경하지 않아도 됩니다. 그런 경우에는 질문만 리턴해주세요 사전: {dictionary} 질문: {{question}} """) dictionary_chain = prompt | llm | StrOutputParser() tax_chain = {"query": dictionary_chain} | prompt_templatenew_question = dictionary_chain.invoke({"question": query})new_questionRetrievalQA 가 사라져서 PromptTemplate 랑 Pinecorn으로 어떻게든 대체하려고 했는데 엉망이 된거 같습니다. ㅠㅠ어떻게 하면 답까지 내놓게 할 수 있을까요?
-
해결됨한시간으로 끝내는 LangChain 기본기
도서, 그리고 로드맵 강의 순서
안녕하세요, 일단 책 출간하는 점 축하드립니다.그리고 여쭤볼 사항이 있습니다.제이쓴님의 "AI Agent 실무 적용 완전 정복 로드맵" 강의를 전부 구매했고, 현재 한시간으로 끝내는 LangChain 기본기만 전부 들은 상태입니다. 지금까지 나온 강의는 다 듣고 복습하는 느낌으로 책을 읽는 게 좋을까요? 1) AI Agent 실무 적용 완전 정복 로드맵 -> 책 -> 신규강의2) 책 -> AI Agent 실무 적용 완전 정복 로드맵 + 추후 신규강의
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
md vs txt 차이..
안녕하세요. 강의 도중에세법 pdf => 마크다운 변경후에 Spliiter로 분할하면, 표가 짤려서 답변이 생성이 잘 안될수도 있다고 하셔서 txt로 진행한다고 하셨는데..전 궁금한게 txt도 마차가지로 스플릿을 하더라도 짤리지 않나요..?text_spliters = RecursiveCharacterTextSplitter( chunk_size=1500, chunk_overlap = 100, separators=['\n\n','\n'] )청크사이즈가 1500 이니까 뭔가 표랑 경계선이 겹치게 되면 txt도 마찬가지 짤리는게 아닐까.. 생각이 들어서요
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
fulltext index 생성이 안됩니다
지식그래프(KG) 검색 - 전문 검색에서 fulltext index 생성이 안됩니다. 여러번 실행해도 동일합니다.아래 3개 중 movie_title_tagline_fulltext만 생성되고 movie_title_fulltext와 person_name_fulltext는 실행해도 반응이 없습니다.SHOW FULLTEXT INDEXES를 실행하면 movie_title_tagline_fulltext만 표시됩니다. Neo4j 버전: 버전 2.1.1(2.1.1)Neo4j는 Desktop 버전으로 실행했습니다. [참고]실행 파일: KG_P1_03_neo4j_movie_03_full-text_search.ipynb [스크립트]CREATE FULLTEXT INDEX movie_title_fulltext IF NOT EXISTSFOR (m:Movie) ON EACH [m.title] CREATE FULLTEXT INDEX movie_title_tagline_fulltext IF NOT EXISTS FOR (m:Movie) ON EACH [m.title, m.tagline] CREATE FULLTEXT INDEX person_name_fulltext IF NOT EXISTSFOR (p:Person) ON EACH [p.name]
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
OpenAI API 호출 때문에 발생하는 Error code: 429 문제
gpt 유료 버전을 결제해야 하는 걸까요? 무료로는 불가능 할까요?
-
미해결처음 해보는 맞춤형 LLM 만들기 – LoRA & QLoRA 파인튜닝 입문
타임아웃 문제
타임아웃 에러 때문에 마지막 실습이 어렵습니다.==((====))== Unsloth 2026.1.2: Fast Llama patching. Transformers: 4.57.3. \\ /| Tesla T4. Num GPUs = 1. Max memory: 14.741 GB. Platform: Linux. O^O/ \_/ \ Torch: 2.9.0+cu126. CUDA: 7.5. CUDA Toolkit: 12.6. Triton: 3.5.0 \ / Bfloat16 = FALSE. FA [Xformers = None. FA2 = False] "-____-" Free license: http://github.com/unslothai/unsloth Unsloth: Fast downloading is enabled - ignore downloading bars which are red colored! --------------------------------------------------------------------------- TimeoutError Traceback (most recent call last) /usr/local/lib/python3.12/dist-packages/unsloth/models/_utils.py in _get_statistics(statistics, force_download) 1173 try: -> 1174 time_limited_stats_check() 1175 except TimeoutError: 6 frames/usr/local/lib/python3.12/dist-packages/unsloth_zoo/rl_environments.py in wrapper(*args, **kwargs) 774 elif effective_backend == "process": --> 775 return _run_in_subprocess(func, seconds, args, kwargs, 776 start_method=start_method, kill_grace=kill_grace) /usr/local/lib/python3.12/dist-packages/unsloth_zoo/rl_environments.py in _run_in_subprocess(func, seconds, args, kwargs, start_method, kill_grace) 701 proc.join() --> 702 raise TimeoutError(f"Timed out after {seconds:g}s") 703 except KeyboardInterrupt: TimeoutError: Timed out after 120s During handling of the above exception, another exception occurred: TimeoutError Traceback (most recent call last) /tmp/ipython-input-2933263888.py in <cell line: 0>() 4 5 # ✅ STEP 1: 모델 및 토크나이저 로딩 (Unsloth LLaMA 3.1 8B 기준) ----> 6 model, tokenizer = FastLanguageModel.from_pretrained( 7 model_name = "unsloth/Meta-Llama-3.1-8B", 8 max_seq_length = 2048, /usr/local/lib/python3.12/dist-packages/unsloth/models/loader.py in from_pretrained(model_name, max_seq_length, dtype, load_in_4bit, load_in_8bit, load_in_16bit, full_finetuning, token, device_map, rope_scaling, fix_tokenizer, trust_remote_code, use_gradient_checkpointing, resize_model_vocab, revision, use_exact_model_name, offload_embedding, float32_mixed_precision, fast_inference, gpu_memory_utilization, float8_kv_cache, random_state, max_lora_rank, disable_log_stats, qat_scheme, load_in_fp8, unsloth_tiled_mlp, *args, **kwargs) 582 load_in_8bit_kwargs = False 583 --> 584 model, tokenizer = dispatch_model.from_pretrained( 585 model_name = model_name, 586 max_seq_length = max_seq_length, /usr/local/lib/python3.12/dist-packages/unsloth/models/llama.py in from_pretrained(model_name, max_seq_length, dtype, load_in_4bit, token, device_map, rope_scaling, fix_tokenizer, model_patcher, tokenizer_name, trust_remote_code, revision, fast_inference, gpu_memory_utilization, float8_kv_cache, random_state, max_lora_rank, disable_log_stats, unsloth_vllm_standby, num_labels, qat_scheme, **kwargs) 2202 model_patcher.pre_patch() 2203 # For debugging - we use a download counter to see if environments are not breaking or if HF is down -> 2204 get_statistics(kwargs.get("local_files_only", False)) 2205 2206 if dtype is None: /usr/local/lib/python3.12/dist-packages/unsloth/models/_utils.py in get_statistics(local_files_only) 1212 disable_progress_bars() 1213 disabled = True -> 1214 _get_statistics(None) 1215 _get_statistics("repeat", force_download = False) 1216 total_memory = ( /usr/local/lib/python3.12/dist-packages/unsloth/models/_utils.py in _get_statistics(statistics, force_download) 1174 time_limited_stats_check() 1175 except TimeoutError: -> 1176 raise TimeoutError( 1177 "Unsloth: HuggingFace seems to be down after trying for 120 seconds :(\n" 1178 "Check https://status.huggingface.co/ for more details.\n" TimeoutError: Unsloth: HuggingFace seems to be down after trying for 120 seconds :( Check https://status.huggingface.co/ for more details. As a temporary measure, use modelscope with the same model name ie: ``` pip install modelscope import os; os.environ['UNSLOTH_USE_MODELSCOPE'] = '1' from unsloth import FastLanguageModel model = FastLanguageModel.from_pretrained('unsloth/gpt-oss-20b') ```해결 방법이 있을까요? 강사님...
-
미해결Agentic(Modular) RAG with LangGraph version 1 기초부터 고급까지
Model 강의자료 어디있나요?
Model 강의자료가 보이지 않습니다
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
Cross Encoder Reranker 임포트 에러 관련 내용입니다.
랭채인 버전 관련 정보 입니다.langchain 1.2.0langchain-classic 1.0.1langchain-community 0.4.1langchain-core 1.2.5langchain-huggingface 1.2.0langchain-text-splitters 1.1.0langgraph 1.0.5langgraph-checkpoint 3.0.1langgraph-prebuilt 1.0.5langgraph-sdk 0.3.1langsmith 0.5.2 이전 답변 내용에서from langchain_classic.retrievers.document_compressors import CrossEncoderReranker이 부분도 역시 에러가 발생합니다원래 코드 였던from langchain.retrievers.document_compressors import CrossEncoderReranker이 코드에서는 에러가 발생하지 않지만여전히from langchain_community.cross_encoders import HuggingFaceCrossEncoder 이코드에서 에러가 발생합니다 PROBLEMS[{ "resource": "/c:/study/conda_rag/LangChain_005_Advanced_Retrieval.ipynb", "owner": "workbench.notebook.cellDiagnostics", "severity": 8, "message": "ImportError: cannot import name 'create_model' from 'langchain_core.utils.pydantic' (c:\\D\\miniconda3\\envs\\langchain_env\\Lib\\site-packages\\langchain_core\\utils\\pydantic.py)", "source": "Cell Execution Error", "startLineNumber": 4, "startColumn": 1, "endLineNumber": 4, "endColumn": 71}] 전체 에러 콜백 은 아래와 같습니다 ---------------------------------------------------------------------------ImportError Traceback (most recent call last)Cell In[31], line 31 from langchain.retrievers import ContextualCompressionRetriever2 from langchain.retrievers.document_compressors import CrossEncoderReranker----> 3 from langchain_community.cross_encoders import HuggingFaceCrossEncoder5 #from langchain_classic.retrievers.document_compressors import CrossEncoderReranker6 #from langchain_community.cross_encoders.huggingface import HuggingFaceCrossEncoder12 model = HuggingFaceCrossEncoder(model_name="BAAI/bge-reranker-v2-m3")File c:\D\miniconda3\envs\langchain_env\Lib\site-packages\langchain_community\cross_encoders\__init__.py:47, in getattr(name)45 def getattr(name: str) -> Any:46 if name in modulelookup:---> 47 module = importlib.import_module(_module_lookup[name])48 return getattr(module, name)49 raise AttributeError(f"module {__name__} has no attribute {name}")File c:\D\miniconda3\envs\langchain_env\Lib\importlib\__init__.py:126, in import_module(name, package)124 break125 level += 1--> 126 return bootstrap.gcd_import(name[level:], package, level)File c:\D\miniconda3\envs\langchain_env\Lib\site-packages\langchain_community\cross_encoders\huggingface.py:51 from typing import Any, Dict, List, Tuple3 from pydantic import BaseModel, ConfigDict, Field...(...) 36 model_validator,37 )38 from typing_extensions import overrideImportError: cannot import name 'create_model' from 'langchain_core.utils.pydantic' (c:\D\miniconda3\envs\langchain_env\Lib\site-packages\langchain_core\utils\pydantic.py)
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
HuggingFaceCrossEncoder 임포트 에러
학습 관련 질문이 있으시면, 상세하게 남겨주세요.문제가 발생한 부분의 코드를 함께 올려주세요.수업 영상 몇 분/초 구간인지 알려주세요.3-2. Re-rank 에서from langchain_community.cross_encoders import HuggingFaceCrossEncoder이 구문에서 임포트 에러가 납니다---------------------------------------------------------------------------ImportError Traceback (most recent call last) Cell In[47], line 4 2 from langchain.retrievers.document_compressors import CrossEncoderReranker 3 #from langchain_community.cross_encoders import HuggingFaceCrossEncoder ----> 4 from langchain_community.cross_encoders import HuggingFaceCrossEncoder
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
랭체인 라이브러리
docs2txt 같은 라이브러리를 랭체인에 있는 것을 사용하는 이유가 있을까여?순수라이브러리를 사용하면 조금 더 가볍지 않나 싶어서요!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
[LangGraph를 활용한 AI Agent 개발] 쿠폰 유효기간
안녕하세요. 좋은 강의를 잘 들었습니다.[LangGraph를 활용한 AI Agent 개발] 강의를 이어서 수강하려고 하는데 할인 쿠폰 링크에 들어가보니 유효기간이 끝났다고 하는데, 할인 받을 수 있는 방법은 없는건가요? 확인 부탁 드립니다.🤖
-
해결됨메이드 인 RAG(로컬 LLM Q&A시스템) With Docker + ollama + R2R
강사님 ㅜㅜ QA만들기 강의가 아닌것 같아요,,
저는 QA시스템을 원해서 강의 구매를 했는데(왜냐면,, 제목도 이미지도 모두 QA라고 적혀있어서..)실제 강의를 들어보니까 Q&A시스템 만들기라고 되어있더라구요,,그래서 너무 당황해서 본문이랑 제목 다 읽어보니까 QA랑 Q&A 용어가 혼재되어 적혀있는거같은데Q&A시스템이라고 제목이랑 이미지 본문 내용이 수정되어야할 것 같습니다.. 저는 QA시스템이 궁금했던거거든여.. ㅠ
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
Gradio 런치 PDF 관련 에러
Gradio ChatInterface로 PDF 챗봇 애플리케이션 구현 (실습)강의에서 작성하신 코드를 그대로 똑같이 적용해서 돌렸는데 이런 에러가 뜨네요.TypeError: argument of type 'bool' is not iterableERROR: Exception in ASGI applicationdemo = gr.ChatInterface(fn=process_pdf_and_answer, additional_inputs=[ PDF(label="Upload PDF file"), gr.Number(label="Chunk Size", value=1000), gr.Number(label="Chunk Overlap", value=200), gr.Dropdown(["cosine", "l2"], label="similarity metric", value="cosine"), gr.Slider(label="Temperature", minimum=0, maximum=2, step=0.1, value=0.0), ], ) gradio launch 시 additional_inputs에 PDF를 제외하면 launch가 되는데, PDF를 포함하니까 위의 에러가 뜨면서 launch 자체가 안 돼요.gradio document를 봐도 이해가 잘 안 돼서요..코드를 어떻게 수정하면 될까요?