묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨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 실무 적용 완전 정복 로드맵 + 추후 신규강의
-
미해결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]
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
19강에 있는 postgres account 계정 로그인이 안돼요
비밀번호가 다른가.. 로그인이 안되네요
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
이메일 답장 드래프트 작성 개선 관련
현재 강의에서는 이메일 답장을 작성한 후, 해당 내용을 개선하고 싶다면 별도의 AI chatbot에 다시 입력해 개선 방향을 받는 흐름으로 설명해주셨습니다.이와 관련해 궁금한 점이 있습니다.혹시 이 개선 과정을 별도의 흐름으로 나누지 않고, 하나의 플로우에 통합하는 것도 가능한가요?예를 들어, 첫 번째 에이전트가 작성한 답변을 다음 AI 에이전트에게 넘기고, 그 에이전트는 지금까지의 답장 히스토리, 작성 형식, 룰 등을 컨텍스트로 받아 리뷰 및 개선을 수행하는 식입니다.혹은, 아예 처음 답장을 작성하는 노드에 가능한 한 많은 컨텍스트(이전 답장 기록, 형식, 작성 룰 등)를 함께 주고, 더 정교한 프롬프트로 한 번에 고품질의 답장을 생성하는 방식이 더 나은 접근일까요?두 방식 중 어떤 전략이 더 효과적인지, 혹은 추천하시는 방향이 있으신지 궁금합니다.
-
미해결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 개발] 강의를 이어서 수강하려고 하는데 할인 쿠폰 링크에 들어가보니 유효기간이 끝났다고 하는데, 할인 받을 수 있는 방법은 없는건가요? 확인 부탁 드립니다.🤖
-
미해결프로젝트로 배우는 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를 봐도 이해가 잘 안 돼서요..코드를 어떻게 수정하면 될까요?
-
미해결LLM 기초부터 최신 RAG·LangChain까지: 단 5시간 만에 LLM 기초과정 마스터!
sLLM관련 강의 내용 문의
sLLM을 설명을 주었는데, 내용은 SLM으로 보입니다. 다른 강의 자료를 보면 SLM과 sLLM를 구분하여 설명하고 있는데, 강의 내용은 sLLM 이 아닌 SLM으로 보입니다. 어떤 내용이 맞는지 확인 부탁드립니다.
-
미해결한시간으로 끝내는 LangChain 기본기
RAG와 MCP의 차이가 조금 헷갈립니다
강사님 RAG와 MCP의 차이가 조금 헷갈립니다!
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
섹션 3 : 이메일 작성 도우미 질문
선생님 안녕하세요 좋은 강의 감사합니다.강의를 보고 있는데 질문이 있어서 문의드립니다. 섹션 3에서 이메일 작성 도우미 를 만드셨는데요, 중간에 챗봇을 만들어서 이메일을 수정하는 부분에서요. 선생님께서 강의에서 만드신 것과, 그냥 agent가 만든 답변을 복붙해서 chatgpt에 "~~ 하게 수정해줘" 라고 요청하는 것과 어떤 차이가 있죠? 뭔가 근본적인 차이가 없는 것 같은데, 이 수정 챗봇을 만드신 "의도"? 가 궁금해서 문의드립니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
postgresql의 pgvector 벡터는 어떤가요?
안녕하세요.이번에 회사 내부에서 AI Agent를 도입 예정인데요.회사 DB는 대부분 postgresql로 구성되어 있는데, postgresql에서 pgvector 벡터 데이터베이스를 제공하더라고요?사용해도 성능이 괜찮을지.. 혹시 경험이 있을지 궁금해서요. 혹시 주위분들에게 들은 거라도 있으신지 ㅠ
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
LangGraph로 구현한 봇을 n8n으로 전환 관련 질문
안녕하세요 병진님. 두가지 질문 남깁니다."LangGraph로 구현한 봇을 n8n으로 전환" 관련 질문 남깁니다.바로 전 강의에서 직접 구현한 LangGraph코드와 미션에서 올려주신 inflearn-n8n-assignment.json 파일과 1대1 대응은안되는것 같은데, 예를들어 check_faq 노드에서 답변을 찾았을때와 아닐경우의 분기를 처리하지 않고 AI agent에게 넘겨서 알아서 판단하게 한다 이렇게 이해하면 될까요? 2. 챗봇 서비스를 현업에서 운영한다고 했을때, 사내 혹은 고객에게 오픈했을때에는 Langgraph나 agent를 어딘가에 띄워서 운영할것 같은데 주로 n8n을 사용하거나 아니면 직접 서버를 구축해서 사용하시는지 궁금합니다.
-
미해결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 마스터: 기초부터 고급기법까지 (feat. LangChain)
아나콘다랑 pytry없이. 단순 파이참에서 venv 설정해서 설치하는건 불가능하나요?
학습 관련 질문이 있으시면, 상세하게 남겨주세요.문제가 발생한 부분의 코드를 함께 올려주세요.수업 영상 몇 분/초 구간인지 알려주세요.
-
미해결입문자를 위한 LangChain 기초
LLM 응답속도
안녕하세요! LangChain 관련 강의를 수강하고 있습니다.다름이 아니라 응답 속도에 관해서 질문드리고싶은데요.LLM(e.g., OpenAI)에 입력(질문)한다.OpenAI의 API Call이 수행된다.OpenAI에서 응답이 BE로 전달된다.이 순서가 될텐데. 이 때, 강의를 보면 AIMessage가 금방 도출이 되는데. 질문의 길이가 길고, 전문적이게 된다면 응답의 속도가 느려지는건지 궁금합니다.