묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
create_retrieval_chain에서 context는 지정된 인자인가요?
아래 코드에서 create_retrieval_chain에 인자로 combine_docs_chain을 사용하는데요, retrieval_qa_chat_prompt에서 정의한 {context}는 프롬프트에 고정적으로 있어야 하는 부분인가요? 내부적으로 context라는 이름으로 정해져있는 것인지 궁금합니다.retrieval_qa_chat_prompt = ChatPromptTemplate.from_template(""" 다음 컨텍스트를 바탕으로 질문에 답변해주세요. 컨텍스트에 관련 정보가 없다면, "주어진 정보로는 답변할 수 없습니다."라고 말씀해 주세요. 컨텍스트: {context} 질문: {input} 답변: """) # 체인 생성 combine_docs_chain = create_stuff_documents_chain(llm, retrieval_qa_chat_prompt) rag_chain = create_retrieval_chain(retriever, combine_docs_chain) # 체인 실행 query = "테슬라 창업자는 누구인가요?" response = rag_chain.invoke({"input": query})
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
vectorstore의 as_retriever와 similarity_search는 같은 로직인가요?, 사용되는 검색 알고리즘은 뭔가요?
안녕하세요. 강의 잘 듣고 있습니다. 제목이 곧 질문인데요.Chroma로 생성한 vectorstore객체의 as_retriever매서드와 similarity_search는 내부적으로 같은 알고리즘 혹은 로직을 사용하나요? 그렇다면 이 두가지 매서드의 차이점은 langchain을 사용할 때 편의성 차원에서 as_retriever가 더 좋다 이렇게 알고있으면 되는걸까요? 또한 내부에서 사용되는 검색 알고리즘은 어떤건지 알 수 있을까요? 감사합니다.
-
미해결맞춤형 LLM 만들기 : 처음 시작하는 분을 위한 RAG 기초 개념부터 멀티모달·Agent 실습까지
test.pdf
첨부파일이 어딧죠 실습데이터 셋 안 열리는데
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
병원 환경 n8n 프로덕션 서버 OS 선택 (윈도우 서버 vs 리눅스) 관련 실무 조언을 구합니다.
안녕하세요 강사님.좋은 강의 덕분에 업무 자동화 구축에 많은 도움을 받고 있습니다.문의드리게 된 것은 다름이 아니고,저희는 병원 전산실과 기록실 소속으로, n8n을 도입하여 실제 운영(Production) 환경의 업무 자동화 시스템을 구축하는 것을 목표로 하고 있습니다. 현재 Docker를 활용하여 n8n을 컨테이너로 구축할 계획인데, 이 컨테이너를 호스팅할 서버의 OS를 윈도우 서버와 리눅스 중 무엇으로 선택해야 할지 기술적인 확신이 서지 않아 문의드립니다. 저희의 구체적인 상황과 요구사항은 다음과 같습니다.운영 팀 환경: 본원은 윈도우 서버 운영 및 관리에 더 익숙합니다.주요 자동화 워크플로우 예시:데이터베이스 연동: EMR, OCS 데이터베이스에 주기적으로 쿼리를 실행하여 특정 조건의 환자 데이터를 추출하고, 통계 리포트를 자동 생성하여 담당자에게 전달.파일 시스템 처리: 네트워크 폴더에 의료 기록 스캔본(PDF, JPG 등)이 생성되는 것을 트리거로 감지하여, OCR API를 연동해 텍스트를 추출하고 파일명 변경 후 EMR 시스템에 업로드.API 연동: 내부 레거시 시스템 및 외부 솔루션(SMS 발송, 알림톡 등)과의 API 연계를 통한 정보 전달 자동화.이러한 상황을 바탕으로, 아래 세 가지 점에 대해 강사님의 실무적인 조언을 구하고 싶습니다.성능 및 안정성: 위와 같은 워크플로우가 수시로 실행되는 운영 환경에서, Docker 컨테이너를 호스팅하는 OS로서 윈도우 서버와 리눅스 중 어느 쪽이 n8n의 성능과 안정성을 보장하는 데 더 유리할까요?유지보수 및 생태계: 윈도우 서버를 선택할 경우 장기적으로 n8n 버전 업데이트, 트러블슈팅, 커뮤니티 지원 활용 등에서 리눅스 환경에 비해 겪을 수 있는 현실적인 어려움이나 불리한 점이 있을지 궁금합니다.보안: 환자의 민감 정보를 다루는 병원의 특성상 서버 보안이 매우 중요합니다. OS 레벨에서의 보안 강화나 컨테이너 보안 측면에서 윈도우와 리눅스 환경 중 어떤 것이 더 권장되며 특별히 고려해야 할 사항이 있을까요?저희가 기술적인 방향을 결정하는 데 있어 강사님의 깊이 있는 조언이 결정적인 도움이 될 것 같습니다. 바쁘시겠지만 답변 부탁드립니다.감사합니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
인기영화를 추천할 수 없습니다
지그ㅁ은 안된대요
-
미해결코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
Error in sub-node Google Gemini Chat model
보시다시피 아래 오류가 뜹니다. 근데 제미니 프로 열어보면 또 아무 문제가 없어요.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
공공데이터 API를 사용하여 자동화 하는 부분에서 api 갯수를 50으로 늘릴 때 오류
공공데공공데이터 API 를 사용하여 자동화하는 부동산 갭 투자 분석 시스템 만들기 따라하고 있는데 강사님 결과는 한번 요청시에 50개인가 봅니다. 저는 10개 밖에 안나와서 AI agent 프롬프트에서 numOfRows=20 를추가하고 실행시켰더니 결과가 아래와 같이 "cde... (truncated for clarity) ... 이 있어서 TradeCode에서 파싱을 할 때 오류가 납니다. [{"response":{"header":{"resultCode":"000","resultMsg":"OK"},"body":{"items":{"item":[{"aptDong":" ","aptNm":"중곡2단지","buildYear":1976,"buyerGbn":"개인","cdealDay":" ","cdealType":" ","dealAmount":"45,000","dealDay":22,"dealMonth":8,"dealYear":2025,"dealingGbn":"중개거래","estateAgentSggNm":"서울 광진구","excluUseAr":55.87,"floor":1,"jibun":"190-26","landLeaseholdGbn":"N","rgstDate":" ","sggCd":11215,"slerGbn":"개인","umdNm":"중곡동"},{"aptDong":" ","aptNm":"우방리버파크","buildYear":2003,"buyerGbn":"개인","cdealDay":" ","cde... (truncated for clarity) ... "numOfRows":20,"pageNo":1,"totalCount":57}}}}]
-
미해결LLM 애플리케이션 경험 공유회
사내망 전용 챗봇 개발
안녕하세요 현재 직원수가 400명 정도 되는 중견 기업에서 IT 부서에 근무하고 있는 직원 입니다.현재 python 으로 streamlit 이용해서 사내망 전용 챗봇을 개발 중입니다.ollama 를 이용 해서 일부 개발 진행 중인데 답변도 정확하지 않는 부분이 많습니다. 어떻게 하면 좋을까요 그리고 사내망 전용 챗봇 개발 시 참고 해야될 부분이 있으면 알려주시면 감사하겠습니다.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
모델의 성능에 따라서 선택하는 도구가 많이 차이 나나요?
현재 섹션 2.16번 강의 학습 중에 있습니다.ollma를 통해서 gpt-oss:20b 모델을 로컬로 연결해서 학습하고 있는데, search_web 도구로만 응답을 하더라구요. 아무리 쿼리를 바꿔도 wiki_summary, wiki_search 와 같은 도구를 호출해서 응답을 작성하지 않습니다. 혹시 제가 놓치고 있는게 있을까요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
2가지 문제(Gmail 2단계 인증, TEXT)를 극복하며
이번 강의에서 2가지 문제에 봉착되어 헤매었지만 극복하고 다음으로 넘어갑니다.첫째번 문제는 Gmail 2단계 인증 문제였는데 쉽지가 않았습니다.두번째 문제는 Gmail에서 "TEXT"가 생성되지 않는 문제였습니다. 질답에 보니 여러분이 이 문제를 재기했고 또 답변이 올라온게 있어서 해결을 했습니다.감사한 마음을 갖고 또다른 고지를 정복하고자 이 글을 남기고 다름 강의로 넘어가 봅니다.
-
미해결맞춤형 LLM 만들기 : 처음 시작하는 분을 위한 RAG 기초 개념부터 멀티모달·Agent 실습까지
섹션 1 퀴즈 2번 문제 리포팅
섹션 1 퀴즈 2에 정답이 2개 검색기, 생성기지만 선택이 하나만 되는 문제가 있습니다.멀티플 초이스가 안되고 생성기만 선택하면 오답으로 반응함.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
Langchain을 활용한 실습 주제 추천해주실 수 있으신가요?
안녕하세요 강사님! 이번에 처음 langchain 입문해서 강사님 기초 강의부터 쭉 수강했습니다개념 이해와 실습까지 함께 할 수 있어서 정말 좋았습니다! 다름이 아니구 혹시 실무에서 경험해볼수있는 실습 주제를 몇가지 추천해주실 수 있으신가요..? 아무래도 처음이다 보니 한번에 감이 잡히진 않아서요!! 감사합니다!
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
IMAP 출력 문제
안녕하세요... 강의 보면서 무슨 내용인지도 모르지만 아무튼 잘 따라하고 있습니다.다름아니라 따라하다보니 IMAP Getmail에서 출력이 나오질 않고 있습니다.앞쪽 어디서 잘못되었는지 다 찾아보았는데 잘못 작성한 부분이 없어 보이는데 안되네요.이럴 경우 어디서 체크를 해야 해결이 될까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
tax_with_markdown 파일 내용 오류
안녕하세요:)퀄리티 높은 강의 만들어주셔서 감사합니다! 실습을 따라하면서 제 소득세 답변과 병진님의 소득세 답변이 달라서 (금액이 다름) 왜 그런가 이유를 찾아보았는데요. 올려주신 tax_with_markdown.docx 자료에서 기존 이미지의 금액과 다른 것을 확인하였습니다. (아래 빨간색 박스) 기존 이미지의 금액으로 변경해서 다시 pinecone에 index 올린 후에 채팅을 하니까 그제서야 병진님과의 답변과 똑같아졌네요! 자료 파일 다시 한번 확인해주시면 감사하겠습니다:)
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
neo4j의 장점
지금 영화 추천하는 강의 보고 있습니다.질문 있습니다. 일반적인 sql 쿼리를 써도 해당 내용으로 추천 내용 다 작성 할 수 있을 것 같은데 neo4j 랑 사이퍼 쿼리를 쓰는 이유는해당 데이터를 노드화 해서 연결 함으로써검색 속도가 빨라지는 장점이 있을까요? 감사합니다.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
Fan-in 시 여러개 노드에서 하나로 병합되는 과정에서 질문 입니다.
Fan in 되면서 3개 노드에서 1개 노드로 병합되는 과정에서, 그 1개 노드는 3개 노드가 전부 연산을 끝낼때까지 기다린 후 실행 되는건가요??
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
환경설정 질문
질문이 있습니다.선생님께서 설정된 toml 파일은 캐럿(^)을 포함한 버전이 설정되어 있는데, 제가 프로젝트를 생성하고 toml을 확인할 경우 명시적으로 범위가 설정되어져 있습니다. 물론 큰 차이는 없겠지만 나중에 실질적인 업무나 개인적인 프로젝트를 진행할 때 영향도가 있을까요?? 만약 있다면 선생님처럼 버전을 지정해서 등록할 수 있는 설정이 따로 있을까요??
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
dictionary chain 생성 시 적절치 않은 변환
%pip install --upgrade langchain-text-splitters langchain-upstage from langchain_community.document_loaders import Docx2txtLoader from langchain_text_splitters import RecursiveCharacterTextSplitter text_splitter = RecursiveCharacterTextSplitter( chunk_size=500, chunk_overlap=100 ) #loader = Docx2txtLoader('./tax_with_table.docx') loader = Docx2txtLoader('./tax_with_markdown.docx') documents_list = loader.load_and_split(text_splitter=text_splitter) documents_list1=documents_list[len(documents_list)//2:] documents_list2=documents_list[:len(documents_list)//2] from langchain_upstage import UpstageEmbeddings from dotenv import load_dotenv load_dotenv() embedding = UpstageEmbeddings(model="solar-embedding-1-large") import os from pinecone import Pinecone from langchain_pinecone import PineconeVectorStore pinecone_api_key = os.environ.get("PINECONE_API_KEY") pc = Pinecone(api_key=pinecone_api_key) index_name = "tax-markdown-index" vector_store = PineconeVectorStore.from_documents(documents_list1, embedding, index_name=index_name) vector_store.add_documents(documents_list2) query = "연봉 5천만원인 직장인의 소득세는 얼마인가요?" #retrieved_docs = database.similarity_search(query) from langchain_upstage import ChatUpstage llm = ChatUpstage() # prompt = f""" # - 당신은 최고의 한국 소득세 전문가입니다 # - [Context]를 참고해서 아용자의 질문에 답변해주세요 # [Context] # {retrieved_docs} # Question: {query} # """ # ai_message = llm.invoke(prompt) from langchain import hub prompt = hub.pull("rlm/rag-prompt") # retriever = vector_store.as_retriever() # retriever.invoke("연봉 5천만원인 거주자의 소득세는 얼마인가요?") from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type( llm=llm, retriever=vector_store.as_retriever(), chain_type_kwargs={"prompt": prompt} ) query = "연봉 5천만원인 직장인의 소득세는 얼마인가요? 2024년도 소득 기준으로 하고 인적공제는 혼자고 공제항목은 평균정도로 잡아봐." ai_message = qa_chain({"query":query}) ai_message from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate dictionary = ["사람을 나타내는 표현 -> 거주자"] prompt = ChatPromptTemplate.from_template(f""" 사용자의 질문을 보고 우리의 사전을 참고해서 사용자의 질문을 변경해주세요. 만약 변경할 필요가 없다고 판단된다면 사용자의 질문을 변경하지 않아도 됩니다. 사전 : {dictionary} """) dictionary_chain = prompt | llm | StrOutputParser() dictionary_chain.invoke({"question": "연봉 5천만원인 직장인의 소득세는 얼마인가요?"}) tax_chain = {"query": dictionary_chain} | qa_chain ai_response = tax_chain.invoke({"question": "연봉 5천만원인 직장인의 소득세는 얼마인가요?"}) ai_response 이 상황에서 dictionary_chain.invoke({"question":"연봉 5천만원인 직장인의 소득세는 얼마인가요?"})를 했을때 직장인을 거주자로 바꾸는게 아니라 답변을 아래와같이줍니다 ㅜㅜ'사용자의 질문을 사람을 나타내는 표현을 우리의 사전을 참고하여 "거주자"로 변경해보겠습니다. 그러나 사용자가 질문을 아직 제출하지 않았으므로, 가상의 질문을 만들어 변경해보겠습니다.\n\n가상의 사용자 질문: "사람들이 자주 방문하는 관광지는 어디인가요?"\n\n변경된 질문: "거주자들이 자주 방문하는 관광지는 어디인가요?"\n\n만약 사용자의 질문이 이미 적절하거나 변경이 필요하지 않다고 판단되면 질문을 변경하지 않습니다. 실제 사용자 질문을 알려주시면 그에 맞게 도움을 드리겠습니다.' 그 결과 최종 response도 아래와같이 나와버리네요 ㅠㅠ ['e9f858cf-0c76-4887-9556-22c5f32eadf4', '40a151b4-ee72-4f3c-ab61-055114344dd9', '6072bcb7-4ea0-4fbc-8828-e74cb883d162', 'a6a9fc0d-eb7a-482d-8b9d-e12073ea6dce', '9d16b74e-557b-475d-b536-8f37e77306a8', '5ad3b09f-8afa-42b6-8cec-a77a525e6f4b', 'a678eb3b-1b5d-4106-888f-bdf3302ac84c', '57a9b7e1-9511-4a34-822d-7f2a0ae710fc', '4ecd54b8-fac0-459b-ae14-4985f2dd0a20', 'bc50c84a-4770-4756-a8d4-06985387f03b', '65a1116f-93c3-4a5b-8a17-3018ccbd26b0', 'cfde5547-ee30-417c-b2dd-ed0c7f7a602d', '5f9a45e2-0279-4363-bb7c-b0fe85cc0595', '907860e1-e1c4-410d-8fa2-8eb82808f008', '682389cf-f2ad-45df-9db8-a1b6b046f43d', '76395c00-dffa-4d26-9f5e-fd910228538c', '136528f9-c253-406f-a5c8-c8fcd4fad21f', '5f6c5158-cd35-4b74-ae75-ec1f34c35394', 'b8cb52ec-e324-48c1-83a1-31c02e4d202d', '98dfe4bc-c0de-4f7e-996e-bf20416915dc', 'c9018194-109e-443c-8dd0-af5607de3c6f', '2120a161-f0f4-4c91-9759-5bb0aebb995d', '96948c3b-5937-44c1-ad84-04ed923e695b', '490a568c-d378-4cbb-aa69-bf195e41371b', '14e8fcec-7c2c-45d6-ac7b-14c009a6acc5',... '84802efa-23df-4a84-b311-577933f09c51', 'a22be767-fa83-4325-a605-498647daa19e', '879e0a7f-50ed-4cf1-8b6e-f4dbd2a498fc', 'e275ec53-9664-4a18-a813-d40b0e130a23', 'fbde51af-1fbb-445b-8c59-68d61b9bfa2d']Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings.../Users/arang/.pyenv/versions/3.13.2/envs/inflearn-llm-application/lib/python3.13/site-packages/langsmith/client.py:272: LangSmithMissingAPIKeyWarning: API key must be provided when using hosted LangSmith API warnings.warn({'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요? 2024년도 소득 기준으로 하고 인적공제는 혼자고 공제항목은 평균정도로 잡아봐.', 'result': '연봉 5천만원의 직장인의 경우, 2024년도 소득 기준으로 산출세액은 552만원입니다. 여기에 근로소득세액공제 29만원을 적용하면, 최종 소득세는 523만원이 됩니다.'}{'query': '사용자의 질문이 "사람을 나타내는 표현은 무엇인가요?"라면, 우리의 사전을 참고하여 질문을 변경하면 다음과 같습니다: "거주자를 나타내는 표현은 무엇인가요?" \n\n만약 사용자의 질문이 다른 주제나 내용을 다루고 있다면, 해당 질문에 맞게 사전을 참고하여 변경할 수 있습니다. 만약 질문이 이미 명확하고 변경할 필요가 없다고 판단된다면, 질문을 그대로 유지할 수 있습니다.', 'result': '사용자의 질문이 "사람을 나타내는 표현은 무엇인가요?"라면, 우리의 사전을 참고하여 질문을 변경하면 다음과 같습니다: "거주자를 나타내는 표현은 무엇인가요?" 사전에서 "거주자"는 국내에 주소를 두거나 183일 이상의 거소를 둔 개인을 의미합니다.'}
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
n8n 병렬처리 문의
어떤 강의에 대한 질문인지 자세하게 알려주시면 답변을 드리는데 도움이 됩니다. 스크린샷윈도우키 + 쉬프트키 + S(윈도우)을 자세히 첨부하시면 답변 드리는데 많은 도움이 됩니다. 동영상 재생 관련 같은 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요.안녕하세요 강의를 아주 잘 듣고 있는 학생중 한명입니다. webhook 만들고 있는데요 응답 timeout 이 있어서 시간을 체크해서 3초 이내로 ai agent 가 응답을 만들었으면 webhook 으로 리턴해주고 아니면 응답 대기 메세지를 리턴하고 callback url 로 메세지를 보내는걸 만드려고 하는데요 문제는 code 노드에서 두갈래로 병렬 처리가 안되는 문제 가 있습니다. 원래 n8n 이 순차적으로 처리하게 만들어서 안된다고 하는거 같은데요 해결 할 수 있는 방법이 있는지 문의 드립니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
HTTP REQUEST 설정화면 관련 입니다.
답변 하신 것처럼 q 밑에 별모양 눌러서 했는데 계속 실행이 안됩니다. 예제 소스로 주신 json 파일의 http request를 붙이면 잘 실행이 됩니다.다른 방법이 있는지 질문드립니다.