묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
24강 io.UnsupportedOperation: fileno 에러 (stdio MCP 사용)
안녕하세요.Windows, VSC, Jupyter notebook 환경에서 stdio 기반 MCP 서버들을 테스트할 때 아래와 같은 에러가 발생하네요. unix 계열 OS 에서는 발생하지 않는 건가요?io.UnsupportedOperation: fileno.py 파일로 작성해서 실행할 때는 문제 없이 동작합니다.
-
미해결한시간으로 끝내는 LangChain 기본기
input key가 여러개인 경우 RunnablePassThrough를 쓰는 이유가 궁금합니다.
5강 마지막에 RunnablePassThrough의 경우 딕셔너리 형태의 key 와 value를 넘겨줄 때 key(강의에서 information)를 미리 RunnablePassThrough에 할당하면 value만 str형태로 입력해도 간편하게 invoke할 수 있다는 것으로 이해했는데요,두번째 예시에서 key가 두가지인 경우(information, continent)에 RunnablePassThrough를 사용하나 하지 않으나 딕셔너리 형태로 두 키와 밸류를 모두 입력해야하는 것 아닌가요?강의의 의도가 이런 경우에는 RunnablePassThrough를 쓰는 것이 적절하지 않다는 것인지, 혹은 제가 놓지는 무언가가 있는지 궁금합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
hub.pull("rlm/rag-prompt") 실행 시 오류가 발생합니다.
위 이미지처럼 코드 실행 시 오류가 발생하는데, 원인 파악이 안돼서 여쭤보고자 합니다.이전에는 LangSmith API KEY 미존재 오류가 발생하여 .env 파일에 LANGCHAIN_API_KEY, LANGCHAIN_TRACING_V2 값 모두 등록해놓은 상태입니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포 시 requirement.txt 유무
배포 시 requirement.txt 가 존재하지 않을 때는 배포가 되지 않았는데, 추가하니까 배포가 정상적으로 됩니다. 해당 파일은 배포 시 필수 파일인가요 ?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
10강 궁금증
10강에서 OpenAIEmbeddings -> UpstageEmbeddings로 변경하는 과정을 따라하고 있었습니다. 궁금한 점은 query = "연봉 5천만원인 직장인의 소득세는 얼마인가요?" reviewed_docs = database.similarity_search(query, k=3) 이렇게 진행을 하시고, 또 아래와 같은 코드를 왜 실행시키는지 궁금합니다.# 이제 QA 체인 만들기 from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt" : prompt})QA 체인이 문서 검색 기능을 해주는 것으로 알고 있는데 왜 위에서 "reviewed_docs = database.similarity_search(query, k=3) " 을 넣으신건지 궁금합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
문서 못 찾음
%pip install --upgrade --quiet docx2txt langchain-community from 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) %pip install -qU langchain-text-splitters document_list len(document_list) from langchain_openai import OpenAIEmbeddings from dotenv import load_dotenv load_dotenv() embedding = OpenAIEmbeddings(model="text-embedding-3-large") %pip install -qU langchain-chroma from langchain_chroma import Chroma # database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name="chroma-tax", persist_directory="./chroma") database = Chroma(collection_name="chroma-tax", persist_directory="./chroma", embedding_function=embedding) print(database._collection.count()) # 문서 개수 query = "연봉 5천만원인 직장인의 소득세는 얼마인가요?" # reviewed_docs = database.similarity_search(query, k=3) from langchain_openai import ChatOpenAI llm = ChatOpenAI(model="gpt-4o") %pip install -U langchain langchainhub --quiet from langchain import hub prompt = hub.pull("rlm/rag-prompt") prompt # 이제 QA 체인 만들기 from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt" : prompt}) ai_messgae = qa_chain.invoke({"query" : query}) ai_messgae인강을 들으며 코드를 동일하게 작성하였는데 관련 문서 내용을 찾지 못하여 답변이 저렇게 나오는데 어느 부분이 문제인지 모르겠습니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
22. 슬랙봇으로 연결하는 Test-to-SQL 강의, query string newline
안녕하세요.슬랙에 표시될 때 가끔 Query 가 줄바꿈 없이 표시됩니다. query 생성 LLM 이 개행문자 '\n' 없이 출력해 주는 경우가 있네요.대부분은 아래와 같이 표시되지만요.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
22. 슬랙봇으로 연결하는 Test-to-SQL 강의에서 Request URL 설정
안녕하세요.로컬에 n8n 설치해 강의 실습하고 있습니다. (localhost:5678)22강의 Event Subscriptions 과정에서 Request URL 로의 request 가 실패하고 있습니다. response 가 오긴 하는 거 같은데 challenge 파라미터 값이 없다고.. localhost 일 때는 추가 조치가 필요할까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
Golden Dataset 관련 질문
안녕하세요. 강의 잘 듣고 있습니다. 강의에서 evaluation을 위한 golden dataset을 chatgpt로 생성하셨는데 실무에서는 보통 어떻게 처리하시는지 궁금합니다. 실무에서도 LLM이나 인공지능을 활용하여 dataset을 만드시나요? 아니면 사람이 개입해서 수집이나 조사 등을 통해 작성하시나요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
멘토링 신청은 어디서 하나요
멘토링 페이지에서 강사님 이름을 쳐도 안나오는데 멘토링 신청 안받는것인지 궁금해서 여쭤봅니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
Mysql과 벡터 DB를 사용해야하는 경우
안녕하세요. 실무에서 Mysql을 많이 사용하는데 Mysql 사용자 테이블을 기준으로 사용자와 비슷한 취미 이런것들을 추천 시스템을 만든다고한다면 mysql에 저장된 데이터를 벡터 DB에 계속 업데이트를 해야하는데 가능한건지 의문이듭니다. 사용자 테이블에는 탈퇴를 했다거나 취미가 바뀌었다거나 등 데이터가 업데이트가 되는데 벡터 DB에서도 해당 데이터를 찾아서 업데이트 되는게 가능한건지 아니면 배치성으로 데이터를 한번에 업데이트를 헤야하는것인지 고민이 드는데 강사님 같은 경우에 어떻게 해결하셨는지 궁금합니다.
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
krag를 이용한 검색기법 평가관련 질문
안녕하세요. krag를 통해 검색기법들을 평가하는 방법에서 질문이 있습니다. 이렇게 검색기법을 통해서 검색기에 대한 성능을 평가하려면, 우선적으로 question과 answer에 대한 평가셋을 직접 만들어야 하는걸까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
OpenAIEmbedding
OpenAI Embedding 모델을 사용하셨는데, 기업 환경에서도 이 모델을 활용하는지 궁금합니다. 데이터가 OpenAI 서버로 전송된다면 보안상 위험은 없을까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
AI논문은 주로 어디서 보시나요?
이번 강의에서 많은 인사이트를 얻어갑니다. Few shot이나 이런 논문은 주로 어디서 어떻게 얻으시는지 궁금합니다.
-
해결됨회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
강의 실습 코드를 깃허브 정리
안녕하세요, 병진님. 현재 n8n 강의 잘 수강하고 있습니다. 다름이 아니라,강의를 보면서 따라한 코드를 제 깃허브 학습 및 정리 차원에서 업로드하고 싶은데, 혹시 이러한 방식으로 업로드해도 될지 괜찮을지 여쭤봅니다.만약 허용되지 않은 부분이 있다면 말씀 하신대로 따르겠습니다!늘 좋은 강의 감사드립니다!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
Metric 3가지 방식 중에 추천해주시는 방식이있나요?
제목 그대로 추천해주시는 Mertic 방식이 있나요? 각 방식마다 장 단점이 있을거같고 특수 상황에서 쓰이는 방식들이있을거같아서요.
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
MMR 관련 질문입니다.
안녕하세요. MMR 관련 질문이 있습니다. MMR을 retriever로 설정할 때 fetch_k와 k를 같이 설정해주도록 되어 있는데, 여기서 질문입니다.fetch_k를 설정한다는 것 자체가 다양성을 확보하기 위한 MMR과 배치되는 것 아닌가요? => 그냥 전체 문서수를 fetch_k로 하면 되는 것 아닌가요? mmr 알고리즘 or 문서검색을 하는 원리가 잘 이해되지 않습니다. 감사합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
토큰별로 문서를 쪼개는 이유
안녕하세요.토큰별로 문서를 쪼개는 이유가 아래가 맞을까요?유사도 검색18만글자를 안쪼개고 벡터 데이터베이스에 저장하면 유사도 검색이 안됨GPT4-0 컨텍스트 토큰 한계18만글자를 안쪼개고 넣는다 한들 유사도 검색 후 GPT가 그 결과값을 보고 답변을 줘야하는데 결과값이 18만글자니깐 답변 조차 못함
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
Text_splitter관련 질문입니다.
아래의 코드와 같이 chunk_size와 seperator 두가지 기준으로 문서를 분할하는 text_splitter를 정의하였을때, 어떤 것을 우선하여 텍스트를 분할하나요?예를 들어 토큰사이즈가 100개 이하지만 정규식 조건에 해당하여 분할을 하는것인지 혹은 토큰사이즈 100개 이상이 되어 정규식 조건을 충족하지 않아도 문서를 분할하는지 궁금합니다. text_splitter = CharacterTextSplitter.from_huggingface_tokenizer( tokenizer=tokenizer, separator=r"[.!?]\s+", chunk_size=100, chunk_overlap=0, is_separator_regex=True, keep_separator=True, )
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
chunk_overlap은 할수가 없나요?
langchain으로 했을때는 chunk_overlap이라는 옵션이있어서 글자의 중복을해서 답변정확도를 올린다고이해했습니다. 그리고 현재 강의에서는 토큰이 18만이기 때문에 이거를 1500토큰으로 자르는거까지 코드에 반영이된거같은데 중복도는 어쩔수가 없는걸까요?