묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨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를 붙이면 잘 실행이 됩니다.다른 방법이 있는지 질문드립니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
redis 데이터가 쌓이지 않는 문제
22강 진행 중 입니다. 마지막에 on a schedule을 연결하니,한번의 채팅에 2초마다 새로운 사진이 계속 생성되었습니다. 혹시나 해서 Redis 화면을 보니, 데이터가 최신 데이터만 남아있고 이전 데이터는 사라진 것 같습니다. 그래서 ID가 schedule마다 새롭게 인식되어 사진이 계속 생성된 것 같은데, 어떻게 고칠 수 있을까요! ** Redis의 화면이 영상과 많이 바뀌어서 좀 어려웠는데, 이 과정에서 무슨 오류가 있었는지 모르겠네요
-
해결됨RAG 성능의 한계를 뚫는 인지 부하 관리 기술
42. 수업 7.6 다중 프롬프트 전략과 CoT 영상 오류
42. 수업 7.6 다중 프롬프트 전략과 CoT 영상 오류입니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
문서 전처리에 관한 질문
안녕하십니까 강사님. 제공해주신 고품질의 강의 너무 잘 보고 있습니다.3.6의 강의 내용 중 문서의 표에 대한 마크다운 전처리를 추천해주셨습니다. 만약 실시간으로 크롤링하는 데이터를 바탕으로 RAG 챗봇을 만든다고 했을 때, 크롤링된 문서를 자동적으로 전처리하는 로직은 따로 없을까요? 사용자가 수동적으로 해야하는 부분일까요? 감사합니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
추가 강의 있어요!
이번 강의 끝나면 추가 강의(40강?) 쪽으로 넘어갈 것인지 물어봅니다. 대략적으로 기능만 익히고 막히면 버리고,그쪽으로 넘어가도 좋을 것 같습니다. (물론 스스로 해볼려고 하는 공부는 추천하지만 시간이 없으면 추가강의도 보고 고민하셔도 좋을 것 같습니다.)
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
evaluate_retrieval_at_K 함수 문의드립니다.
안녕하세요, krag 라이브러리가 pip 서버에는 등록이 되어있는데 상세한 정보는 찾을 수가 없어서 문의드립니다. 일정 한도 내에서는 무료로 사용할 수 있는 Gemini API를 통해서 검색 성능을 평가중에 있는데, 중간중간 NaN값이 나오길래 추적해봤더니 API 분당 호출 수가 초과해서 값을 호출받지 못하는 경우가 생기더라구요. time.sleep을 걸고싶어도 이게 함수 자체로 전체 데이터프레임을 순회하는지라.. 혹시 delay를 넣을 수 있는 옵션이 있을까요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
공공데이터 api를 사용하여 자동화 하는...강의 질문
지역 코드를 동작구로 했는데구글docs에선 광진구 데이터를 보여줍니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
공공데이터 open ㅁapi 무한 로딩
공공데이터 api를 활용하여 자동화하는 부동산 투자분석 시스템 만들기에서 trade 에이전트랑rent 에이전트랑 연결하는 gpt 모델이동일하게 설정했는데 돌기만하고 작업을 안합니다. 타임아웃 값도 설정했는데 5시간 째 무응답입니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
6강에서 query 정보가 입력되지 않습니다.
여기 설정하는데, 네이버의 경우 name을 query로 하고 value를 {{ $json.chatInput }}로 했는데, 전혀 되지 않습니다. 004에서 call n8n workflow tool에 보면 chatInput으로 입력되는데, 어떤 조치를 취해야 할까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
저장 오류
소득세법을 저장하려고 doc파일로 저장을 눌렀는데 왜 안될까요? 파일은 저장되는데 막상 눌러서 들어가보면 빈페이지 밖에 안나와요
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
검색기 관련 질문드립니다.
안녕하세요, Langchain RAG 강의 잘 듣고 있습니다. 데이터셋이 방대해질 경우 분명 시간이 지나면서 이제는 사용되지 않은 정보 구식의 정보라고 해야할까요? 그런 것들이 생기는데, 그런 데이터들은 어떻게 필터가 되는지 궁금합니다. 예) Python 2.xx 버전 문서 저장Python 3.xx 버전으로 신규 업데이트 분명 검색을 할 때 동일하게 겹치는 내용이라면 1번과 2번 모두 가져올 것 같은데요! 이 경우 최신 버전으로만 불러올 수 있게 가능한가요??
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
Cursor 마우스오버 후에 보이는 argument 리스트
강사님 안녕하세요:) 사소하지만 아무리 검색해도 안나와서 질문드립니다ㅠ현재 편집기로 cursor를 사용중인데요! ('한시간으로 끝내는 LangChain 기본기' 강의 따라하면서 cursor를 이번에 사용하게 되었습니다) 강의 동영상에서는 함수 위에 마우스 오버하면 argument 옵션들이 쫙 보여서 어떤 인자를 넣어야할지 확인하기 쉬운데요. 제 환경에서는 모두 (function) : Any 로만 떠서 확인이 안되네요ㅠ cursor라서 안보이는걸가요? argument 리스트를 확인할 수 있는 옵션 아시면 알려주시면 감사하겠습니다!
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
5강. 질문 시, API 접근 권한이 없다고 하네요.
.질문 시 업로드 한 이미지처럼 API 접근 권한이 없어 검색 결과를 가져올 수 없다는 메시지가 나오네요. 어디에서 권한을 허용해 줄 수 있을까요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
json.loads 부분 error 도움요청
'공공데이터 API 를 사용하여 자동화하는 부동산 갭 투자분석 시스템 만들기' 에서 문의드립니다. 잘 진행이 되다가, 아래 화살표한 부분 json.loads 에서 오류가 납니다. 왜 그럴까요? 1.위치 2.오류발생부분 (json.loads) 3.json.loads없이 그냥 print