묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.6 일부 코드가 강의 그대로 따라하면 에러나요
에러메세지는 이건데요..KeyError: "Input to ChatPromptTemplate is missing variables {'dictionary'}. Expected: ['dictionary', 'question'] Received: ['question']" 그래서 아래처럼 고쳤더니 결과는 잘 나오는데new_question = dictionary_chain.invoke({ "dictionary": dictionary, "question": query })이러고 나서 또 밑에 ai_response관련 코드도 같은 에러가 나오다보니 강의를 매끄럽게 들을 수 없고 자꾸 흐름이 끊기네요. 사실 3.5때도 강의코드 그대로 따라하니까 llm이 답변을 제대로 안해줘서, chunk_size / overlap 이렇게 저렇게 조정하고. 조정해보니 또 한번에 넣을 수 없는 사이즈라서 배치처럼 짤라서 넣고. 우여곡절 끝에 강의랑 동일한 결과를 얻긴 했는데요...빠르게 슥슥 듣고 강사님 다른 강의(ai agent)로 넘어가고싶은데 매끄럽게 안되니까 초큼 힘들어요 ㅠ제 환경이 잘못 구성된걸까요 ㅠㅠ
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
PINECONE DB 답변 생성시 속도 문의 건
안녕하세요!강의 모두 완료하고 업무에 잘 활용하고 있습니다.다름 아니라, 리뷰 데이터를 PINECONE DB에 넣고, RAG로 해당 리뷰 데이터 기반 학습으로, LLM으로 질문 답변 생성시 훌륭한 답변을 얻을 수 있었습니다.그런데 문제는 LLM 답변 생성시 PINECONE DB가 자료가 많아서 인지, 답변 시간이 25~40초 정도 걸립니다.ㅠLLM 답변 속도를 개선할 수 있는 다른 방법이 있을까요?궁금합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
ppt 문서 학습방법 문의
안녕하세요, 완강 후 사내법규로 챗봇을 만들어서 잘 활용하고 있습니다! 이런 것이 가능하다고 윗분들에게 보여드렸고, 직원들을 위한 사내용 챗봇 프로젝트를 본격적으로 시작하게 되었습니다. 감사합니다 🙂관련해서 문의드립니다.(질문 내용 수정)사내 주요문서들이 ppt로 되어 있는 경우가 많아 ppt를 RAG로 활용하는 방법 문의드립니다.아래 코드를 사용해서 ppt에 있는 텍스트를 docx 파일로 만들었습니다.from pptx import Presentation from docx import Document def extract_text_from_pptx(file_path): prs = Presentation(file_path) text_list = [] for slide in prs.slides: for shape in slide.shapes: if hasattr(shape, "text"): text_list.append(shape.text) return "\n".join(text_list) def save_text_to_docx(text, output_path): doc = Document() for line in text.split('\n'): doc.add_paragraph(line) doc.save(output_path) # 실행 예시 ppt_file = "OOO.pptx" # 파일명 확인 text = extract_text_from_pptx(ppt_file) save_text_to_docx(text, "ppt_extracted_text.docx")문제는, ppt에서 이렇게 도식화 되어 있는 경우에, 도식 순서대로 text로 변환해주지 않는다는 점인데요, 혹시 이런 경우에 도식을 이해해서 text로 변환해주는 방법이 있을까요? 위 코드로 text 추출 시, 장표 내 text만 추출이되고, 이미지는 변환이 안되는데요'은행거래명세서 보여줘' 라고 질문하면 파란색 이미지 부분이 나오도록 구현하는 방법도 있을까요? 아래처럼 이미지와 텍스트를 함께 학습해서 이해시키도록 한 뒤 RAG를 구현할 수 있는 방법이 있을지도 문의드립니다. 더 많은 직원들이 streamlit을 조회한다고 할 때, 원활하게 조회되도록 하려면 유료용을 결제하면 되는걸까요? 조회자가 많아 질 경우 추가로 하면 좋은 조치들이 어떤게 있는지 궁금합니다. 질문이 많았습니다. 혹시 1:1 등을 신청해야 답변이 가능한 내용일까요! 답변 주시면 감사하겠습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
Chroma.from_documents [SSL: CERTIFICATE_VERIFY_FAILED] 에러
안녕하세요. 현재 회사 폐쇄망에서 코드를 돌리는데, Chroma.from_documents 부분에서 "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signedcertificate in certificate chain" 이러한 에러가 발생하고 있습니다. 이런 상황에서는 langchain_chroma에 대한 예외처리 요청하면, 문제 해결될까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
DB별로 LLM 답변이 다른 이유가 궁금합니다.
파인콘 사용시에 2MB 초과하는 문제 있잖아요. 그래서 다른 답변들 보고 사이즈 조정해서사이즈만 맞춰서 했더니 저장은 문제 없이 됬는데 저희 수업 내용상 질문이 '연봉 5천만원인 직장인의 소득세는 얼마인가요?' 라는건데 기존 크로마 이용시에는{'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '연봉 5천만원인 직장인의 소득세는 "근로소득에 대해서는 기본세율"이 적용된다고 명시되어 있습니다. 기본세율에 의한 과세는 종합소득세 과세표준에 따라 결정되며, 구체적인 세금 금액은 소득 공제 등이 고려되어야 하므로 단순 계산으로 제시할 수 없습니다. 따라서, 구체적인 세금을 산정하기 위해서는 소득세율표와 개인 소득 공제를 참고해야 합니다.'}파인콘 사용시에는 {'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '연봉 5천만원인 직장인의 소득세는 84만원과 1,400만원을 초과하는 금액의 15퍼센트를 더한 것입니다. 이를 계산하면, 소득세는 약 474만원입니다.'}같은 문서를 가지고 DB만 달리 하는건데 이렇게 답변이 상이하게 나오면 문서가 제대로 벡터DB에 저장이 안됬다고 생각할수 있는건가요? 원인이 궁금합니다.그리고 수업 영상 랭체인 홈페이지에서 나오는 코드랑 실제로 들어가서 버전 맞추어도 예제 코드가 달라서 좀 어려움이 있습니다. 10분짜리 영상을 30분 넘게 보게 됩니다. 그나마 깃허브 코드가 비슷해서 그걸로 사용하고 있습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
안녕하세요 답변 길이에 관한 질문을 좀 드리고 싶은데
안녕하세요 답변 길이에 관한 질문을 좀 드리고 싶은데 llm에 넘긴건 문서 1,2장 정도 되는 길이로 보내는데 답변은 3,4 줄 밖에 안 나오는데 답변의 길이나 퀄리티를 좋게 해달라는 문구를 넣어도 그대로인 부분은 개선이 불가능한걸까요??
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
Elasticsearch 를 벡터 데이터베이슬 활용가능한가요
여러 벡터 데이터베이스가 나왔는데 혹시 Elasticsearch 를 docker로 설치하고 사용하는 경우도 있는지 궁금합니다. Elasticsearch 도 벡터 데이터베이스를 지원한다는 글을 읽은바가 있고, 검색엔진 분야에서는 Open 소스로 많이 활동되다는 점에서 활용성이 좋아보여서 질문 드립니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
엄....이거 java, kotlin 개발자는 어떻게 이해를 해야 할까 대게 고민에 빠지네요
그래도 눈치가 제법 빠른편인데 notebook 이나 파이썬...이거 모르겠는데 어떻하나 걱정되는데요? 일단 임베디드와 기존의 LLM의 차이는 뭔가요
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
llm의 응답에 대해서 언어 설정도 가능한가요??
llm의 응답에 대해서 언어 설정도 가능한가요??어떤 질문을 했을 때 한국어로 나오게 한다거나, 일본어로 나오게 한다거나, 영어로 나오게도 가능한가요??
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
챗봇 생성시 에러
안녕하세요, gemini를 이용해서 챗봇 생성중에 있습니다.그런데 하기와 같이 챗봇을 llm과 연동하는 중에 에러가 계속 발생합니다.gpt한테 계속 물어가면서 에러잡고있는데 계속 동일한 에러만 나오네요. ㅠ어떻게 개선할 수 있을까요? 조언부탁드립니다. 감사합니다.코드)import streamlit as st from langchain import hub from dotenv import load_dotenv from langchain_google_genai import GoogleGenerativeAIEmbeddings from langchain_pinecone import PineconeVectorStore from langchain_google_genai import ChatGoogleGenerativeAI from langchain.chains import RetrievalQA from langchain.prompts import ChatPromptTemplate st.set_page_config(page_title="영향분석 챗봇", page_icon="★") st.title("영향분석 챗봇") st.caption("System 변경 영향 분석") load_dotenv() # 세션 상태에 메시지 리스트가 없으면 초기화 if 'message_list' not in st.session_state: st.session_state.message_list = [] # 이전 메시지 출력 for message in st.session_state.message_list: with st.chat_message(message["role"]): st.write(message["content"]) def get_ai_message(user_message): try: # 입력 메시지 확인 if not isinstance(user_message, str) or not user_message.strip(): return "질문이 비어 있습니다. 유효한 질문을 입력해 주세요." print(f"user_message: {user_message}") # user_message의 내용 출력 print(f"user_message length: {len(user_message)}") # 문자열 길이 출력 print(f"user_message type: {type(user_message)}") # 타입 출력 # Google Generative AI Embeddings 모델 초기화 embedding = GoogleGenerativeAIEmbeddings(model='models/gemini-embedding-exp-03-07') index_name = 'uml-index' database = PineconeVectorStore.from_existing_index(index_name=index_name, embedding=embedding) llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash") prompt_template = hub.pull("rlm/rag-prompt") retriever = database.as_retriever(search_kwargs={'k': 4}) # RetrievalQA 인스턴스 생성 qa_chain = RetrievalQA.from_chain_type(llm, retriever=retriever, chain_type_kwargs={"prompt": prompt_template}) dictionary = ["External Entity -> actor"] prompt = ChatPromptTemplate.from_template(f""" 사용자의 질문을 보고, 우리의 사전을 참고해서 사용자의 질문을 변경해주세요. 만약 변경할 필요가 없다고 판단된다면, 사용자의 질문을 변경하지 않아도 됩니다. 그런 경우에는 질문만 리턴해주세요. 사전 : {dictionary} 질문 : {{question}} """) dictionary_chain = prompt | llm uml_chain = {"query": dictionary_chain} | qa_chain ai_message = uml_chain.invoke({"question": user_message}) return ai_message except Exception as e: print(f"오류 발생: {repr(e)}") # 오류 메시지 출력 print(f"입력된 user_message: {user_message}") # 오류 발생 시 입력된 메시지 출력 return f"오류가 발생했습니다: {repr(e)}" # 사용자 입력 처리 if user_question := st.chat_input(placeholder="CR 내용을 첨부해주세요"): with st.chat_message("user"): st.write(f"사용자 질문: {user_question}") st.session_state.message_list.append({"role": "user", "content": user_question}) ai_message = get_ai_message(user_question) with st.chat_message("AI"): st.write(ai_message) st.session_state.message_list.append({"role": "AI", "content": ai_message}) 에러)user_message: 시스템에 연결된 External Entity를 알려주세요user_message length: 31user_message type: <class 'str'>오류 발생: GoogleGenerativeAIError('Error embedding content: bad argument type for built-in operation')입력된 user_message: 시스템에 연결된 External Entity를 알려주세요
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
pinecone 임포트 부분이 에러가발생합니다
파이썬 버전 3.10.11입니다윈도우 vscode에서 테스트해보고 있어요
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
PineconeApiException 어떻게 해결하나요?
13번째 동영상 들으면서 따라하는 중이고 OpenAI API 사용 중인데, 아래 코드만 돌리면,PineconeApiException HTTP response body: {"code":11,"message":"Error, message length too large: found 15431073 bytes, the limit is: 4194304 bytes","details":[]} 이러한 에러가 뜹니다.이를 해결하기 위해서, chunk_size = 10, chunk_overlap=0 으로 줄였는데도 계속 에러가 떠요.어떻게 하면 해결할 수 있나요? database = PineconeVectorStore.from_documents( document_list, embedding, index_name=index_name )
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
gemini 오류관련 질문드립니다.
안녕하세요, 강의 반복중에 있습니다.이번에는 gemini로 RAG를 구축해보려고 하는데,API Key를 활성화했음에도 계속 하기와 같은 에러가 뜹니다.ㅠ 제가 놓친 부분이 있을까요?from langchain_google_genai import ChatGoogleGenerativeAI llm = ChatGoogleGenerativeAI( model="gemini-2.0-flash", temperature=0, max_tokens=None, timeout=None, max_retries=2, # other params... ) llm.invoke("인프런에 어떤 강의가 있나요?") --------------------------------------------------------------------------- PermissionDenied Traceback (most recent call last) Cell In[2], line 1 ----> 1 llm.invoke("인프런에 어떤 강의가 있나요?") File c:\Users\yunjeong2.lee\Desktop\VenvWorkspace\myenv\Lib\site-packages\langchain_google_genai\chat_models.py:1255, in ChatGoogleGenerativeAI.invoke(self, input, config, code_execution, stop, **kwargs) 1250 else: 1251 raise ValueError( 1252 "Tools are already defined." "code_execution tool can't be defined" 1253 ) -> 1255 return super().invoke(input, config, stop=stop, **kwargs) File c:\Users\yunjeong2.lee\Desktop\VenvWorkspace\myenv\Lib\site-packages\langchain_core\language_models\chat_models.py:372, in BaseChatModel.invoke(self, input, config, stop, **kwargs) 360 @override 361 def invoke( 362 self, (...) 367 **kwargs: Any, 368 ) -> BaseMessage: 369 config = ensure_config(config) 370 return cast( 371 "ChatGeneration", --> 372 self.generate_prompt( 373 [self._convert_input(input)], 374 stop=stop, 375 callbacks=config.get("callbacks"), ... metadata { key: "method" value: "google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent" } ] Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
LLM 애플리케이션과 AI Agent 차이점이 뭐에요?
개념상 똑같은거 같아요.예를들어 세무 전용 Agent 서비스가 있다고하면 결국 그게 LLM 서비스이고, LLM 애플리케이션이자, RAG 솔루션 아니에요? AI Agent = LLM 서비스 = LLM 애플리케이션 = RAG 솔루션 다같은말이에요?? 너무헷갈려요
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
데이터 전처리 관련 질문드립니다
"3.5 Retrieval 효율 개선을 위한 데이터 전처리" 강의에서 세율 데이터를 표로 LLM에 전달하다가마크다운으로 변경했는데 데이터를 읽어오지 못합니다표로 데이터를 전달했을 때는 데이터를 잘 읽어갔는데 왜 그런 걸까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
langsmith 사용하지 않고 개발 가능한가요?
안녕하세요현재 유료 결제나 외부로 API를 연동하는 것이 사내 보안 규정 상 어려운 상황입니다.강의에 나온 대로 langchain-core 라이브러리를 활용하는 경우 core 내부에 langsmith를 쓰는 import 가 있어 langsmith를 반드시 사용 해야하는 상황입니다. langsmith가 유료로 변경되면 API 키가 필요한 상황이라 현재 사내에서는 사용이 어려울 것 같습니다.이런 경우 langsmith를 사용하지 않고 유사하게 기능을 구현하는 방법이 있는지 궁금합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.6 질문
624만원이 안나와요 ㅠ
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.4.1 PineconeVectorStore.from_documents() 안됩니다.
Upstage를 사용해도, exceeded 되었다고 에러나서요. 뭔가 최근에 토큰 제한이 줄었나봐요. 아래와 같이 batch를 주어서 반복문으로 요청후 database.add_documents(batch)하는 방식으로 해야되네요 ㅠㅠ from langchain_pinecone import PineconeVectorStore # 데이터를 처음 저장할 때 index_name = 'tax-upstage-index' # Split documents into smaller chunks text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=100) chunked_documents = text_splitter.split_documents(document_list) print(f"Chunked documents length: {len(chunked_documents)}") # Initialize the PineconeVectorStore database = PineconeVectorStore.from_documents( documents=[], # Start with an empty list embedding=embedding, index_name=index_name ) # Upload documents in batches batch_size = 100 for i in range(0, len(chunked_documents), batch_size): print(f'index: {i}, batch size: {batch_size}') batch = chunked_documents[i:i + batch_size] database.add_documents(batch) # Add documents to the existing database
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.4강 Pinecone API 인식 못 하는 문제
안녕하세요, 강의들으면서 도움 많이 받고 있습니다.Pinecone API를 .env에 적었지만 인식을 못해서하기와 같이 직접적으로 입력해주었습니다.그런데 하기 부분에서 또 다시 정의가 안 되었다고 에러가 뜹니다.어디를 수정해야할까요?커널?을 껐다켰다하면 되는 분도 있다고 해서 따라해봤는데 잘 안 되는 것 같습니다.ㅠ
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.2 RAG구성_400 에러 문의드립니다.
안녕하세요, 3.2 RAG구성 강의 중 하기 부분에서 막혔습니다. 조언 요청드립니다. OpenAI 대신, Upstage를 쓰고 싶어하기와 같이 코드 수정을 하였습니다.그런데 두번째 캡쳐 그림 부터 에러가 발생합니다.Upstage가 유효하지 않다고 하는 것 같은데...무엇이 잘못된 것 일까요? 그리고 실습을 위해 OpenAI를 결제해야한다면 얼마정도 하면, 완강하는데 문제없을까요?! Error code: 400 - {'error': {'message': 'The requested model is invalid or no longer supported. You can find the list of available models on our models page (https://console.upstage.ai/docs/models)', 'type': 'invalid_request_error', 'param': '', 'code': 'invalid_request_body'}}