묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
폐쇄망 챗봇 모델
안녕하세요, 폐쇄망에 챗봇을 구축하려 합니다. 하지만, GPU가 안 되는 환경입니다. 폐쇄망 환경에서 CPU 위주로 운용한다는 제약까지 고려했을 때, 강의에서 소개된 것처럼LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct를 생성 모델로 사용하고,intfloat/multilingual-e5-large-instruct를 임베딩 모델로 사용하는 조합이한국어 중심 RAG 환경에서도 여전히 합리적인 선택이라고 보시는지 궁금합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
retriever 관련 질문
안녕하세요, 강사님! 강의 잘 듣고 있습니다. RAG 및 LangChain을 공부하는 도중에 기존 리트리버 방식인(dense based)에 더 자세히 공부하기 위해 Hybrid Retriever(e.g. RRF, CC)등을 더 찾아보고 있는데 이부분은 강의에서 따로 안다뤄주는 부분일까요?? 또한 현업에서는 어떤 Retriving 방식을 선호하는지 또한 궁금합니다!
-
미해결Spring AI 실전 가이드: RAG 챗봇 만들기
SPRING AI 실행을위한 환경설정이 궁금합니다.
환경설정좀 자세히좀 부탁드립니다.
-
해결됨OpenAI를 활용한 나만의 AI 에이전트 만들기 (Agent Builder, GPT-5, Chatkit, Cloudflare, MCP, Fine Tuning, CoT 등)
22강 빌드할때 에러가 뜨고 있습니다.
2026-01-24T18:01:27.860119Z Cloning repository...2026-01-24T18:01:28.415748Z From https://github.com/ssmktr/openai-chatkit-starter-app2026-01-24T18:01:28.416363Z * branch d8abdc1e7810bbe5fdb3c809e65c2b07141d1450 -> FETCH_HEAD2026-01-24T18:01:28.41648Z 2026-01-24T18:01:28.451163Z HEAD is now at d8abdc1 Simplify ChatKit backend (#104)2026-01-24T18:01:28.451626Z 2026-01-24T18:01:28.523349Z 2026-01-24T18:01:28.523863Z Using v2 root directory strategy2026-01-24T18:01:28.544435Z Success: Finished cloning repository files2026-01-24T18:01:30.338662Z Checking for configuration in a Wrangler configuration file (BETA)2026-01-24T18:01:30.339458Z 2026-01-24T18:01:31.455516Z No wrangler.toml file found. Continuing.2026-01-24T18:01:31.532601Z Detected the following tools from environment: nodejs@22.21.12026-01-24T18:01:31.533343Z Installing nodejs 22.21.12026-01-24T18:01:32.491348Z Trying to update node-build... ok2026-01-24T18:01:32.581604Z To follow progress, use 'tail -f /tmp/node-build.20260124180132.491.log' or pass --verbose2026-01-24T18:01:32.676902Z Downloading node-v22.21.1-linux-x64.tar.gz...2026-01-24T18:01:32.916706Z -> https://nodejs.org/dist/v22.21.1/node-v22.21.1-linux-x64.tar.gz2026-01-24T18:01:35.061658Z 2026-01-24T18:01:35.061984Z WARNING: node-v22.21.1-linux-x64 is in LTS Maintenance mode and nearing its end of life.2026-01-24T18:01:35.062214Z It only receives critical security updates, critical bug fixes and documentation updates.2026-01-24T18:01:35.0625Z 2026-01-24T18:01:35.062624Z Installing node-v22.21.1-linux-x64...2026-01-24T18:01:35.494128Z Installed node-v22.21.1-linux-x64 to /opt/buildhome/.asdf/installs/nodejs/22.21.12026-01-24T18:01:35.49449Z 2026-01-24T18:01:36.434863Z Executing user command: npx @cloudflare/next-on-pages@12026-01-24T18:01:37.460162Z npm warn exec The following package was not found and will be installed: @cloudflare/next-on-pages@1.13.162026-01-24T18:01:49.78096Z npm warn deprecated path-match@1.2.4: This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions2026-01-24T18:01:50.799789Z npm warn deprecated tar@6.2.1: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me2026-01-24T18:01:51.18784Z npm warn deprecated @cloudflare/next-on-pages@1.13.16: Please use the OpenNext adapter instead: https://opennext.js.org/cloudflare2026-01-24T18:01:59.323249Z ⚡️ @cloudflare/next-on-pages CLI v.1.13.162026-01-24T18:01:59.510375Z ⚡️ Detected Package Manager: npm (10.9.4)2026-01-24T18:01:59.510832Z ⚡️ Preparing project...2026-01-24T18:01:59.513738Z ⚡️ Project is ready2026-01-24T18:01:59.514039Z ⚡️ Building project...2026-01-24T18:02:00.366087Z ▲ npm warn exec The following package was not found and will be installed: vercel@50.5.02026-01-24T18:02:05.898447Z ▲ npm warn deprecated tar@6.2.1: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me2026-01-24T18:02:08.620603Z ▲ Vercel CLI 50.5.02026-01-24T18:02:08.625834Z ▲ > NOTE: The Vercel CLI now collects telemetry regarding usage of the CLI.2026-01-24T18:02:08.626058Z ▲ > This information is used to shape the CLI roadmap and prioritize features.2026-01-24T18:02:08.626552Z ▲ > You can learn more, including how to opt-out if you'd not like to participate in this program, by visiting the following URL:2026-01-24T18:02:08.626709Z ▲ > https://vercel.com/docs/cli/about-telemetry2026-01-24T18:02:08.713183Z ▲ WARN! Build not running on Vercel. System environment variables will not be available.2026-01-24T18:02:08.844345Z ▲ Your application is being built using next build. If you need to define a different build step, please create a vercel-build script in your package.json (e.g. { "scripts": { "vercel-build": "npm run prepare && next build" } }).2026-01-24T18:02:08.847668Z ▲ Installing dependencies...2026-01-24T18:02:09.443264Z ▲ up to date in 464ms2026-01-24T18:02:09.460617Z ▲ Warning: Could not identify Next.js version, ensure it is defined as a project dependency.2026-01-24T18:02:09.481655Z ▲ Error: No Next.js version detected. Make sure your package.json has "next" in either "dependencies" or "devDependencies". Also check your Root Directory setting matches the directory of your package.json file.2026-01-24T18:02:09.554599Z 2026-01-24T18:02:09.554859Z ⚡️ The Vercel build npx vercel build) command failed. For more details see the Vercel logs above.2026-01-24T18:02:09.554978Z ⚡️ If you need help solving the issue, refer to the Vercel or Next.js documentation or their repositories.2026-01-24T18:02:09.555101Z 2026-01-24T18:02:09.599906Z Failed: Error while executing user command. Exited with error code: 12026-01-24T18:02:09.609667Z Failed: build command exited with code: 12026-01-24T18:02:11.150853Z Failed: error occurred while running build command 빌드시 위에처럼 에러가 뜨면서 응용 프로그램 빌드 중 에서 멈추고 있습니다. 해결방법이 어떻게 될까요?
-
미해결LLM 핵심 이론, 구조로 이해하기 -ChatGPT·RAG·Agent의 작동 원리를 한 번에-
강의자료를 받을 수 있게 해주시면 좋을 것 같아요
강의를 통해서 대략적인 LLM에 대해서 알게 되었는데요. 복습을 위해서 강의 자료를 공유 해주셨으면 좋겠어요
-
미해결LLM 핵심 이론, 구조로 이해하기 -ChatGPT·RAG·Agent의 작동 원리를 한 번에-
강의자료를 받을 수 있나요?
복습을 할 수가 없네요...
-
미해결<밑바닥부터 만들면서 배우는 LLM> 해설 강의
바흐다나우 어텐션을 시작하게 된 이유가 궁금해요!
바흐다나우 어텐션에서 모든 입력 토큰을 참조하는 이유와 그로인한 바흐다나우 어텐션 장점이 무엇인지 궁금해요! 찍어주신 강의에서는 아래와 같이 정리해볼 수 있었는데요, 어떤 장점이 있는지 궁금해서 질문드립니다! - 방법 : 출력 토큰을 생성할 때, 모든 입력 토큰을 참조하고, 입력 토큰별로 중요도를 기록한다.- 단점 : 토큰양이 많아질 수록 저장공간 문제가 발생한다.- 단점으로 인한 제약 : 입력 텍스트 길이에 제한이 발생한다. 좋은 강의 감사합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
AI agent 쿠폰
22강 듣고나니 agent 수업을 들어보라고 쿠폰을 쏘셨는데 할인이 적용되는건가요? 아니면 안되는 건가요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
인터룹 관련 질문
from typing import Literal from langgraph.types import interrupt, Command def human_review(state: AgentState) -> Command[Literal['tools', 'agent']]: """ human_review node는 LLM의 도구 호출에 대해 사람의 검토를 요청합니다. Args: state (AgentState): 메시지 기록을 포함하는 state. Returns: Command: 다음 node로 이동하기 위한 Command를 반환합니다. """ messages = state['messages'] last_message = messages[-1] tool_call = last_message.tool_calls[-1] human_review = interrupt({ 'question': '이렇게 진행하면 될까요?', 'tool_call': tool_call }) review_action = human_review['action'] review_data = human_review.get('data', None)혹시 왜 왜 last_message.tool_calls[-1]를 쓰는지 여쭤봐도 될까요? 가장 최근에 호출한 도구를 검토시킨다는 것 같은데 이전 호출을 제외한 왜 가장 최근 도구 호출에 대한 검토인지 궁금합니다. 또한 이부분에 대해서는 마지막 하나의 메세지에 대한 도구 호출이 리스트 안 여러개라는 가정 전제 하가 맞을까요?
-
미해결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]