묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
폐쇄망 챗봇 모델
안녕하세요, 폐쇄망에 챗봇을 구축하려 합니다. 하지만, GPU가 안 되는 환경입니다. 폐쇄망 환경에서 CPU 위주로 운용한다는 제약까지 고려했을 때, 강의에서 소개된 것처럼LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct를 생성 모델로 사용하고,intfloat/multilingual-e5-large-instruct를 임베딩 모델로 사용하는 조합이한국어 중심 RAG 환경에서도 여전히 합리적인 선택이라고 보시는지 궁금합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
AI agent 쿠폰
22강 듣고나니 agent 수업을 들어보라고 쿠폰을 쏘셨는데 할인이 적용되는건가요? 아니면 안되는 건가요?
-
미해결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으로 어떻게든 대체하려고 했는데 엉망이 된거 같습니다. ㅠㅠ어떻게 하면 답까지 내놓게 할 수 있을까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
랭체인 라이브러리
docs2txt 같은 라이브러리를 랭체인에 있는 것을 사용하는 이유가 있을까여?순수라이브러리를 사용하면 조금 더 가볍지 않나 싶어서요!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
[LangGraph를 활용한 AI Agent 개발] 쿠폰 유효기간
안녕하세요. 좋은 강의를 잘 들었습니다.[LangGraph를 활용한 AI Agent 개발] 강의를 이어서 수강하려고 하는데 할인 쿠폰 링크에 들어가보니 유효기간이 끝났다고 하는데, 할인 받을 수 있는 방법은 없는건가요? 확인 부탁 드립니다.🤖
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
postgresql의 pgvector 벡터는 어떤가요?
안녕하세요.이번에 회사 내부에서 AI Agent를 도입 예정인데요.회사 DB는 대부분 postgresql로 구성되어 있는데, postgresql에서 pgvector 벡터 데이터베이스를 제공하더라고요?사용해도 성능이 괜찮을지.. 혹시 경험이 있을지 궁금해서요. 혹시 주위분들에게 들은 거라도 있으신지 ㅠ
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
doc관련
소득세법 을 최신파일로 다운받고 똑같이 했는데(물론 다른 결과가 나오는게 정상이지만), 좀 다르게 나오네요. 실습파일을 올려주시면 좋을 거 같아요.(1년저니라 다를수도) " 결과"연봉 5천만원인 직장인의 소득세 계산은 복잡하며, 여러 단계에 걸쳐 이루어집니다. 기본적으로 근로소득공제, 인적공제, 추가공제 등을 통해 과세표준을 구하고, 이에 소득세율을 적용하여 산출세액을 계산합니다. 이후 다양한 세액공제를 적용하여 최종 납부할 세액을 산출하게 됩니다. 구체적인 계산은 다음과 같습니다. 1. 근로소득공제: - 연봉 5천만원에 대한 근로소득공제를 적용합니다. 공제액이 2천만원을 초과하는 경우에는 2천만원을 공제합니다. 따라서 근로소득공제액은 2천만원입니다. 2. 과세표준 계산: - 과세표준 = 총급여 - 근로소득공제 - 기타 필요경비(기본공제, 추가공제 등) - 기본공제는 연 150만원입니다. (단일 거주자로 가정) - 과세표준 = 5천만원 - 2천만원 - 150만원 = 2,850만원 3. 세율 적용: - 과세표준 구간별로 소득세율이 다르게 적용됩니다. (예: 2,850만원일 경우 소득세율은 일반적으로 \[단순한 설명을 위해 특정 세율로 계산\]) - 실제 세율 적용 과정은 복잡하며, 과세표준 구간에 따른 누진세율을 반영하여 정확하게 계산해야 합니다. 4. 세액공제 등: - 연금보험료공제 등 다른 공제항목들이 있으면 추가로 반영합니다. 이외에도 세금 계산 시 다양하고 복잡한 규정들이 많으므로, 정확한 세금 계산을 위해 세무사 등 전문가의 도움을 받는 것이 좋습니다. 개인의 소득구조, 부양가족, 제출 가능한 증빙자료 등에 따라 최종 세액은 크게 달라질 수 있습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
load_dotenv() 실행 False
from dotenv import load_dotenvload_dotenv() 전단계 모두 설치 다되었는데요위 코드 실행하면 False가 나옵니다. ㅠㅠ
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
RAG 답변 개선을 위한 정답지 활용 구조 검토 요청
강사님 안녕하세요! 지난번 알려주신 구글 시트 로그 적재 팁 덕분에 챗봇 로그가 잘 쌓이고 있습니다. 감사합니다.이렇게 수집된 [피드백 데이터]*를 활용해 챗봇 성능을 높이려 하는데, 아래 방식으로 구현해도 괜찮을지 의견 여쭙니다! (*데이터 내용: 사용자질문/챗봇답변/평가(좋아요, 싫어요)/답변개선방향)[현재 고민] 피드백 받은 답변개선방향(ex. 챗봇 답변이 ~~식으로 되어야 합니다)을 실시간 프롬프트에 반영하자니 케이스도 많고, 답변 속도도 저하될 것 같아서, 아예 [피드백 데이터]에서 답변을 잘하지 못한 질문에 대한 [정답 답변]을 만들어서 우선 검색하는 방식을 고려 중입니다.[고려 중인 로직]QA데이터셋(정답지): 사용자 질문과 정답 답변(담당팀 검수 답변) 간 유사도 비교분기 처리(Threshold):유사도 0.9 이상: QA 데이터의 답변을 즉시 반환 (LLM 생성 X)유사도 0.9 미만: 기존 RAG 프로세스 (문서 검색 -> LLM 답변 생성) [문의 사항]방법론 검증: 위와 같이 임계값(Threshold 0.9)을 임의로 정하고 정답지 검색을 앞단에 배치하는 방식이 실무적으로 괜찮은 접근일까요?대안 문의: 일반적으로 현업에서 피드백(Human Feedback) 데이터를 RAG에 반영하여 정확도를 높일 때 사용하는 더 나은 방법이 있을까요?바쁘시겠지만 짧게라도 조언 주시면 큰 도움이 될 것 같습니다! 참고로 저는 비개발자입니다!
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.2 from langchain.chains ~ 에서 모듈을 찾지 못할 때.
문제 상황: 모듈을 불러오는 과정 중 에러 발생.(langchain 1.1.0 버전 사용 중)from langchain.chains import RetrievalQA 이유: langchain 최신 버전에서 chains 모듈이 langchain-classic 패키지로 분리되었다고 합니다. 해결 방법: pip install langchain-classic 패키지 설치 후 아래와 같이 코드 작성.from langchain_classic.chains import RetrievalQA
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
강의 완료 오류
3. 2.1 Retrieval Augmented Generation(RAG)란?이 강의가 강의 끝에서 모래시계만 돌고 완료가 계속해서 안됩니다.나중에 수강증을 회사에 제출해야 하는데 방법이 없을까요?저만 그런건지요
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
[3.3 강의] Upstage를 사용한 RAG 구현 성공기 공유
안녕하세요.시간 가는줄도 모를 만큼 강의를 재밌게 들으며 배워가고 있는 수강생입니다.강의를 듣던 중 Upstage API 연동이 잘 되지 않아 QnA 게시판을 보았는데, 저를 비롯한 많은 분들께서 Upstage API를 사용하고 있다는 것을 알게되었고 연동 관련해서 어려움을 느끼시는 것 같아 제가 해결한 과정을 같이 공유해보고자 글을 적었습니다.저도 배워가는 과정인지라 표현이 서툴거나 잘못된 내용이 있을 수 있어 강사님의 피드백도 같이 공유 받을 수 있다면 더욱 좋을 것 같습니다..!제가 해결한 방법을 결론 먼저 말씀드리면 chunk_list 길이를 찍었을 때 100개 이내인 경우에는 코드가 정상 동작했다는 것입니다. (대부분의 코드는 강사님께서 작성하신 내용을 그대로 따라했습니다.)# 에러 (chunk_list의 length가 100개 이상인 경우) # chunk_list = split_text(full_text, 1500) # 작동 (chunk_list의 length가 100개 미만인 경우) chunk_list = split_text(full_text, 1700)위와 같이 split_text에서 1500으로 인자를 주었던 것을 1700으로 변경하면 chunk_list의 길이는 100개 미만이 되며, 이를 초과할 경우 400 ERROR 또는 add 작업 중 중간에 멈추며 에러가 발생했습니다.따라서 저는 이러한 문제의 원인을 아래 내용이라고 추정하며 해결했습니다.강의 촬영 당시 사용된 법률안에 비해 현재는 개정 등으로 인해 늘어난 문자열 수1로 인해 인자값을 1500으로 주었을 때 강의 촬영 당시 대비 커져버린 chunk_list의 크기2로 인해 chromaDB에 add 할 수 있는 개수가 100개 이상 초과하면 발생되는 오류전체 코드 참고하실 분들은 아래 링크에서 참고하시면 좋을 것 같습니다.https://github.com/C0deH4ter/langchain-basics/blob/main/3.3%20Upstage%20Challenge/rag_without_langchain_chroma(w.Upstage).ipynb
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
RAG 문서 관리 방법
추가 질문 드립니다! 현재 업무지침 원본 문서에 챗봇용 추가 정보(예: 부연설명 등)를 직접 삽입하여 feeding 하고 있습니다.다만, 업무지침이 매년 개정되다 보니, 개정 시마다 챗봇용으로 추가한 정보들을 새로운 버전에 다시 반영해야 하는 어려움이 있습니다. 특히 이런 문서 관리는 개발팀이 아닌 현업에서 해야 하는 부분이라 현업 관점에서 문서 버전 관리나 갱신을 보다 효율적으로 할 수 있는 방법이 있을지 조언을 구하고 싶습니다.감사합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
챗봇 답변 일관성 및 RAG 검색 우선순위 설정 관련
안녕하세요, 질문드립니다.사내 업무 챗봇을 만드는 과정에서 질문 드립니다.답변의 일관성 관련현재 챗봇 테스트 중인데, 동일한 질문임에도 답변이 조금씩 달라집니다. 서비스 운영 시에도 직원들이 한 질문에 대해 일관된 답변을 받아야 문제점을 정확히 파악할 수 있을 것 같아, 같은 질문에는 동일한(유사한) 답변이 나오도록 설정하고 싶습니다. 다만 현재 history_aware_retriever를 사용하고 있어서, 이전 대화 맥락이 다르면 동일한 질문이라도 검색되는 문서와 답변이 달라질 수 있다는 점을 확인했습니다. 이때 이전 대화 맥락이 있더라도 질문이 동일하면 동일한(비슷한) 문서가 검색되도록 하거나 답변의 편차를 최소화하는 방법이 있을지 궁금합니다.RAG 검색 우선순위 관련현재 2개 문서(A, B)에 대해서 RAG를 적용하고 있습니다. 이때 A문서에서 가장 유사한 chunk를 먼저 검색하고, 유사한 chunk가 없는 경우 B문서에서 chunk를 찾도록 하고 싶습니다. 제가 생각한 방법은 2개인데, 어떤 접근이 더 좋을지 또는 더 나은 방법 있을지 문의드립니다.1안) 단일검색 + A문서 우선랭킹A와 B를 동시에 검색한 후, 뽑힌 문서 중 A결과를 먼저 선택하는 방법 (k=2 예정)후보: [A1, B1, B2, A2] → 최종: [A1, A2]후보: [A1, B1, B2, B3] → 최종: [A1, B1]2안) 계단식 검색1차로 A만 검색 후 임계치 미달 시 B문서 검색하는 방식입니다. 다만 임계치를 결정하는 것이 어려울 것 같고, langchain 만으로 구현이 가능할지 모르겠습니다. langgraph를 사용하면 쉽게 할 수 있는 방법이 있을까요?감사합니다!
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
프로젝트 조언 요청드립니다.
안녕하십니까! 강병진 강사님! 강의를 수강하고 인터뷰도 보면서 많은 에너지와 영향을 받았습니다. 정말 감사드립니다!강병진님의 langchain강의 커리큘럼에서 n8n을 제외하고 모두 수강하였습니다.덕분에 RAG를 어떻게 구성하고 어떤식으로 정확도를 향상시킬 수 있는지도 배웠습니다.다름이 아니라 저는 현재 대학교 3학년으로써 프로젝트를 진행하고 싶은데 강병진님 같은 훌륭하신 선배 개발자님께서 좋게 보실 만한 프로젝트가 어떤 프로젝트인지 조언을 구하고 싶습니다.단순 챗봇을 구현해보기에는 기업에서 이러한 것이 많이 중요할까? 라는 걱정도 있습니다.기업에서는 어떤식으로 RAG를 사용하고 원하는 경험이 무엇일까 궁금합니다.저는 실무에서 RAG를 어떤식으로 사용하는지도 잘 모르고 선배님들께서 이러한 기술로 어떤 업무들을 하시는지도 잘 모릅니다. 그래서 어떤 방향성으로 준비해야 할지 잘 모르겠습니다.만약 강병진님께서 같이 일할 주니어를 뽑으신다면 어떤 프로젝트 경험이 있는 주니어를 뽑으실 지 가능하신다면 조언 한번만 부탁드리고 싶습니다!현재 사용할 수 있는 기술은 알려주신 langchain관련 기술과 fastapi로 백엔드 구현이 가능합니다.도메인마다 원하는 방향성이 다르겠지만 프로젝트 기획하는 단계로써 좋은 출발을 하고 싶어서 질문드립니다!계신 시간대로 저녁일거라 예상되는데 좋은 저녁 보내시길 바랍니다ㅎㅎ 감사합니다!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
vscode jupyter 연결 오류
안녕하세요, 강사님 강의 잘 듣고 있습니다! 그런데 실습을 하면서 계속해서 이미지와 같이 vscode 상에서 jupyter kernel 연결이 잘 안되는데 이유가 무엇일까요? 연결 오류 때문에 실습 진행이 계속해서 안되고 있는 상황입니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
모든 사용자가 "abc123" 세션 공유 문제
안녕하세요. 세션 관련으로 문제가 있는게 아닌가 해서 질문드립니다. store = {} # ❌ 전역 변수 - 모든 사용자 공유 def get_ai_response(user_message): # ... config={ "configurable": {"session_id": "abc123"} # ❌ 고정된 ID }❌ 모든 사용자가 "abc123" 세션 공유❌ 사용자 A, B, C의 대화 맥락이 섞임❌ 실제 배포하면 문제 발생해결 방법으로 동적인 세션 ID를 부여하는 것을 클로드는 추천을 해주던데 클로드 말대로 해볼까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
파라미터 힌트질문
안녕하십니까 강사님!다름이 아니라 현재 같은 mac환경의 vscode사용중인데 아무리 검색하고 찾아봐도 강사님처럼 파라미터 힌트 적용하는 법을 모르겠어서 질문드립니다. 함수 커서대면 파라미터 힌트 나오게끔 어떻게 설정할까요?강의랑 관련 없는 질문 같아서 죄송스러운데 검색하고 gpt쓰고 하란대로 해봐도 안떠서 질문드립니다! 번거로우시다면 키워드라도 주시면 그걸로 찾아보겠습니다!