묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
텍스트 병합해서 사용하여도 되나요?
url에서 텍스트와 docx에 있는 텍스트를 각각 추출하여 split하고 하나의 객체로 통합해서 사용해도 성능이 잘 나올까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포시 버전 conflict 문제
제가 강사님 소스와 거의 같지만 다른게 upstage와WikipediaRetriever 를 쓴다는 것인데 이러면서 requirements.txt에서 계속 버전 충돌 에러가 나네요;; pip show 로 해서 충돌나는 버전을 visual studio code에 맞춰서 해도 계속 에러가 나네요 langchain-upstage 때문인것 같은데 이것 때문에 다른 라이브러리 전체의 버전을 다 바꿔야 하는 걸까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포시 에러
안녕하세요 강사님 항상 좋은 강의와 답변에 감사드립니다. 다름이 아니라 저는 upstage를 사용하는데요 requirements.txt에langchain-upstage==0.3.0 이렇게 넣으니까 에러가 나던데 이게 아닌건가요? pip install 에 보면 버전은 이게 맞는거 같은데요
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
두가지 이상 문서를 넣고 싶을때는 어떻게 하나요?
안녕하세요~ 지난번에 gemini로 한다고 고전한다고 질문글을 남겼던 학생입니다. 그냥 openai로 다시 시작하니 실크로드마냥 뻥 뚫리더라고요.....기억나실지는 모르겠지만 지지난번에 남겼던 .env 문제도 해결했습니다. vscode에서도 그냥.env로 파일명 만들면 만들어지더라고요. 전엔 해당 확장자로 안 됐는데 어느순간 되는것이 이유를 모르겠습니다만... 아무튼 네 됐습니다. 그런데 (어쩌면 수업 외적인) 질문이 있는데요.만약에 제가 chatbot에 2개 이상의 문서를 넣고 싶으면 어떻게 해야되나요? 가령 소비자 보호법과 세법을 넣는다고하면 소비자보호법 관련 문서에는 이게 소비자 보호법이라는게 명시가 안 되어 있고, 세법 문서에는 해당 내용이 세법이라는 것에 대해 명시가 되어 있지 않아 1) 단순히 두 word파일을 하나의 파일로 합치면 혼란이 올 것 같은데, 2) 안 합치고 따로 하자니 일단 그 방법도 모르거니와 각각 넣는 게 파일명 말고는 1번과 무슨 차이인지도 모르겠어서 선생님께 질문을 드립니다. 비슷한 상황으로 다른 예시를 들어드리자면 , 가령 대출 관련 챗봇을 만드려고 할 때, 신용 대출에 대한 문서가 신용 대출 << 언급이 안되어 있는 아래와 같은 상황이고 [직장인 대출]금리 10%조건 : 1년이상 재직자대출한도: 만원[직장인 대출2]금리 9%조건 : 3년이상 재직자대출한도: 2만원[CSS 대출] 금리 11%조건 : 20세이상 30세 미만 대출한도: 3만원 그리고 주택 담보 대출은 아래와 같을 때, (= 대출 내용은 다르지만 대출을 받을 수 있는 컨디션은 똑같을 때)[a아파트 대출]금리 10%조건 : 1년이상 재직자대출한도: 50만원[주택 대출]금리 9%조건 : 3년이상 재직자대출한도: 60만원[버팀목 대출] 금리 11%조건 : 20세이상 30세 미만 대출한도: 70만원 이 상황에서 만약에 주택담보대출을 알아보고 있으면 굳이 신용대출까지 조회를 안 해도 되잖아요. 이런 상황은 어떻게 거르죠? 참고로 직장인 대출 <- 신용이라는 키워드로 거를수가 없습니다. 강의에서 알려주신 대로 데이터 사전이나 프롬포트를 이용해 처리하는 방법밖엔 없을까요? (생각나는 상황이 이런거인데 사실 대출을 잘몰라서 ;; 제 질문이 잘 전달됐는지 모르겠네요..) 아무튼 긴 글 읽어주셔서 다시 한 번 감사합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
langsmith에서 openai 대신 upstage를 사용하는 방법
안녕하세요. upstage를 사용해 실습을 진행하던 중from langsmith.wrappers import wrap_openai 부분에서 막혀서 질문 드립니다.openai 대신 upstage를 사용하려면 어떤 라이브러리를 써야 하나요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
pinecone specified an Api-Key오류
계속 upstage로 진행하고 있었습니다.이번에도 3.4.1 따라하다 막히는 부분이 있어서 3.4 부분을 보았더니 pc넣는것과 pincone api key 넣는것이 있어서 그부분을 확인 후에 다시 진행을 했습니다. 진행하면서 아래와 같이 오류가 나왔습니다. 오류 내용---> 58 raise PineconeConfigurationError("You haven't specified an Api-Key.") 59 if not host: 60 raise PineconeConfigurationError("You haven't specified a host.") 해당 코드 부분from langchain_pinecone import PineconeVectorStore # 데이터를 처음 저장할 때 index_name= 'tax-upstage-index' database = PineconeVectorStore.from_documents(documents=document_list, embedding=embedding).env내용OPENAI_API_KEY= UPSTAGE_API_KEY= LANGCHAIN_API_KEY= LANGCHAIN_TRACING_V2=true PINECONE_API_KEY= PINECONE_ENVIRONMENT=us-east-1 전체 코드%pip install python-dotenv langchain langchain-openai langchain-community langchain-text-splitters docx2txt langchain-chroma%pip install -qU langchain-pineconefrom 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)import os from dotenv import load_dotenv from langchain_upstage import UpstageEmbeddings # 환경변수를 불러옴 load_dotenv() pinecone_api_key = os.getenv("PINECONE_API_KEY") pinecone_environment = os.getenv("PINECONE_ENVIRONMENT") print("API Key:", pinecone_api_key) print("Environment:", pinecone_environment) # OpenAI에서 제공하는 Embedding Model을 활용해서 `chunk`를 vector화 embedding = UpstageEmbeddings(model='solar-embedding-1-large')결과 화면PINECONE_API_KEY: None PINECONE_ENVIRONMENT: None분명 .env에도 apikey를 공식 문서에 있는 내용을 가져와서 똑같이 붙여 넣고 했음에도 key값이 출력 나오지 않아, database부분이 진행이 되지 않고 있습니다.pincone default 키값이 문제인가 해서 새로운 key를 만들어 넣었습니다. 혹시 제가 하면서 놓친 부분이 있을까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
pinecone 관련 질문있습니다.
안녕하세요 오늘 파인콘 관련 강의를 들었는데요. pc = Pinecone(api_key= pinecone_api_key)pc = Pinecone(api_key= pinecone_api_key)이 부분 까지는 잘 되는데, database = PineconeVectorStore.from_documents(document_list, embedding, index_name = index_name) 이 부분을 실행하면 진행이 되지 않습니다.이런 메세지가 떠요.. gpt한테 물어봐서 아래와 같이 해서(제 환경에 맞게 수정함) 다시 돌려봤지만 결과적으로 마지막 database = PineconeVectorStore.from_documents(document_list, embedding, index_name = index_name)여기서 같은 오류가 뜨네요 ㅠㅠ 이 경우는 어떻게 해야될까요import pinecone from langchain.embeddings.openai import OpenAIEmbeddings from langchain.docstore.document import Document from langchain.vectorstores import PineconeVectorStore # 1. Pinecone 초기화 pinecone.init(api_key="your-api-key", environment="us-west1-gcp") # 2. 인덱스 생성 또는 불러오기 index_name = "example-index" if index_name not in pinecone.list_indexes(): pinecone.create_index(index_name, dimension=1536) # 3. 임베딩 모델 설정 embedding = OpenAIEmbeddings(openai_api_key="your-openai-api-key")
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
huggingface 모델 streamlit 적용
안녕하세요.좋은 강의 감사합니다. 강의를 듣고 저도 word로 데이터를 가공해, 저만의 챗봇을 huggingface에 있는 모델을 사용해 만들어 streamlit에 띄우고 싶습니다. 그런데 streamlit에 띄우는 과정에서 계속 로딩이 오래걸리거나, 로컬과 달리 이상한 답변이 나오는 등 문제를 겪고 있습니다.참고하면 좋을 만한 자료가 있을까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
환경 셋팅 관련 질문있습니다.
안녕하세요! 우선 저는 현재 윈도우 사용중이고요, 그런 의미에서 꾸역꾸역 3강을 거의 끝나가는 시점입니다~처음엔 쥬피터로 했는데, 커널이 계속 죽는 이슈로.. 코랩 엔터프라이즈로 돌리는 중입니다. 쥬피터를 활용해서 가상환경으로 하고 싶었는데 실패해서 결국 base에서 구동했어요ㅠㅠ 커널 죽는것도 이거 때문인가 싶기도하고.. 가상환경이 필수인건가요? 잘 돌아가면 일단 한숨 돌려도 되는거죠..? + vscode랑 쥬피터 연동하면 선생님처럼 .env파일을 쉽게 만들 수 있는건가요? 아님 pyenv한정 가능한 건가요? 저도 vscode로 쥬피터 연동까진 됐는데 .env파일 생성에서 막혀서 그냥 웹에서 돌리고 있었습니다 그마저 커널 이슈로 gcp로 돌렸지만.. ++ Open-AI 대신 gemini를 사용하는건 어떻게 생각하시나요? 본 강의에는 부적합한가요? 구글 크래딧이 있어서 이걸 활용하고 싶은데 꽤 장벽에 부딪히는거(가령 tiktoken이 안된다든지 ) 같은데 이게 제가 잘 몰라서 그런건지 보통 그런건지 모르겠네요. +++ 원래 정말 환경 얘기만 여쭤보려고했는데 적다보니 그동안 몰랐던거를 다 여쭤보게 됐네요.. 강의 잘 듣고 있습니다! 감사합니다~
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
langcharin.chains 관하여
강사님이 만들어 놓은 requirement.txt 가 아닌 새로운 환경에 구축할경우 버전업이 되며 deprecate된 것인지 일부가 작동하지 않습니다. 작동하지 않는 것들은 아래와 같습니다.최신버전에선 어떻게 수정해야 써야하나요.from langchain.chains import create_history_aware_retriever, create_retrieval_chain from langchain.chains.combine_documents import create_stuff_documents_chain
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.5 Retrieval 효율 개선을 위한 데이터 전처리 - 동일한 결과가 안나옴
안녕하세요, 강의 수강 중 아무리 실행해도 결과가 영상과 동일하게 나오지 않아서 질문드립니다. 실습에 사용중인 tax.docx 파일에서 제55조의 그림으로 되어 있는 테이블을 마크다운으로 변환한 tax_with_markdown.docx로 실습 진행하고 있습니다 .강의에서 올려주신 마크다운 변환된 파일과 코드로 실행했는데, retriever.invoke(query) 결과에서 제55조가 나오지 않아서 result 값이 제대로 나오지 않습니다. 파인콘 인덱스를 삭제하고 새로 만들어도 결과는 동일하게 나옵니다. 원인이 무엇인지 알 수 있을까요? from langchain_community.document_loaders import Docx2txtLoader from langchain_text_splitters import RecursiveCharacterTextSplitter text_splitter = RecursiveCharacterTextSplitter( chunk_size = 1500, # 문서를 쪼갤 때, 하나의 chunk가 가질 수 있는 토큰 수 chunk_overlap = 200 # 문서를 쪼갤 떄, 중복을 허용하는 토큰 수 ) loader = Docx2txtLoader("tax_with_markdown.docx") document_list = loader.load_and_split(text_splitter=text_splitter) document_list[52] # 마크다운 부분 잘 나오는 거 확인 from dotenv import load_dotenv from langchain_openai import OpenAIEmbeddings load_dotenv() # API Key 필요 (환경 변수) embedding = OpenAIEmbeddings(model='text-embedding-3-large') import os import time from pinecone import Pinecone from langchain_pinecone import PineconeVectorStore index_name = 'tax-index-markdown' pinecone_api_key = os.environ.get("PINECONE_API_KEY") pc = Pinecone(api_key=pinecone_api_key) database = PineconeVectorStore.from_documents(document_list, index_name=index_name, embedding=embedding) query = '연봉 5천만원인 직장인의 소득세는 얼마인가요?' from langchain_openai import ChatOpenAI llm = ChatOpenAI(model='gpt-4o') from langchain import hub prompt = hub.pull("rlm/rag-prompt") from langchain.chains import RetrievalQA retriever = database.as_retriever() qa_chain = RetrievalQA.from_chain_type( llm, retriever = retriever, chain_type_kwargs = {"prompt":prompt} ) # llm 모델과 벡터데이터베이스와 프롬프트 템플릿 준다. retriever.invoke(query)
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
패키지 버전이 궁금합니다.
python, openai, langchain, chroma 등 강사님이 강의에서 사용하신 패키지 버전이 궁금합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
chromadb 오류 질문있습니다.
vscode에서 계속 같은 오류로 진행이 안돼서 구글 코랩에서 실행했더니 실행이 됩니다. 그러면 vs code에서 실행이 되게 할려면 어떤 조치를 취해야하는지 궁금합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
Ollama로 사용가능한 한글 임베딩, LLM 모델 추천
안녕하세요. 좋은 강의 감사합니다.강의를 참고하여 standalone PC(GPU 4090)에서Ollama, Langchain으로 RAG를 구성하고 테스트하고 있는데요.혹시 한글 인식이 성능이 좋은 Ollama 임베딩, LLM 모델 추천해주실 수 있을까요? 4090급 GPU를 사용하다 보니 모델 선택 범위가 제한적이네요.즐거운 하루 되세요.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
chromadb 오류
ModuleNotFoundError: No module named 'chromadb'ImportError: Could not import chromadb python package. Please install it with pip install chromadb.chromadb 패키지를 설치하였는데 같은 오류가 계속 뜨고 있습니다. 버전 문제 일까요?가상환경 python:3.12.2, chromadb: 0.4.15, langchain: 0.3.4답변해주시면 정말 감사하겠습니다!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
학습 내용을 복습하려고 git을 클론할 때
학습자료의 git을 클론했을 때 requirements.txt 파일에서 호환성 오류가 나는 것 같습니다.서로 호환되게 계속 바꿔봐도 pip check에서 오류를 내네요어떻게 수정하면 좋을까요? ㅜㅜ
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
scan된 pdf가 1대1분할 형식+메타데이터도 섞여있는데 전처리를 어떻게 해야할까요?
스캔된 pdf가 1대1분할형식과 메타데이터가 섞여있습니다. pdf 한 페이지에 이러한 형태로 데이터가 저장되어있으면 어떻게 전처리를 해야될지 도움주시면 감사하겠습니다
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
pdf loader
안녕하세요 이번에 인프런 강의를 들으면서 프로젝트로 학과 정보를 소개하는 챗봇을 개발하려고 합니다. 그런데 pdf 안에 내용이 스캔되어 있어서 loader가 읽어오지 못하는데 이러한 경우에는 어떻게 해결할 수 있을지 도움주시면 감사하겠습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
except openai.error.RateLimitError 문의
안녕하세요. 강의 잘듣고 있는 학생입니다. 이번에 프로토콜 문서를 아래와 같이 동작시키고 있습니다.chunk_size = 10000 for i in range(0, len(document_list), chunk_size): chunk_documents = document_list[i:i + chunk_size] print(i) database = call_with_backoff( Chroma.from_documents, documents=chunk_documents, collection_name="chroma-5g", persist_directory="./chroma", embedding=embedding ) 그런데 꼭 아래 에러가 발생됩니다. --------------------------------------------------------------------------- RateLimitError Traceback (most recent call last) Cell In[1], line 13 12 try: ---> 13 return function(*args, **kwargs) 14 except openai.error.RateLimitError as e: File c:\anaconda3\envs\llm\lib\site-packages\langchain_chroma\vectorstores.py:1128, in Chroma.from_documents(cls, documents, embedding, ids, collection_name, persist_directory, client_settings, client, collection_metadata, **kwargs) 1127 metadatas = [doc.metadata for doc in documents] -> 1128 return cls.from_texts( 1129 texts=texts, 1130 embedding=embedding, 1131 metadatas=metadatas, 1132 ids=ids, 1133 collection_name=collection_name, 1134 persist_directory=persist_directory, 1135 client_settings=client_settings, 1136 client=client, 1137 collection_metadata=collection_metadata, 1138 **kwargs, 1139 ) File c:\anaconda3\envs\llm\lib\site-packages\langchain_chroma\vectorstores.py:1089, in Chroma.from_texts(cls, texts, embedding, metadatas, ids, collection_name, persist_directory, client_settings, client, collection_metadata, **kwargs) 1088 else: -> 1089 chroma_collection.add_texts(texts=texts, metadatas=metadatas, ids=ids) ... ---> 14 except openai.error.RateLimitError as e: 15 print(f"Rate limit exceeded: {e}. Retrying in 15 seconds...") 16 time.sleep(15)chunk_size 로 나누어서 입력하면 될줄알았더니만 계속 에러가 발생해서 진도가 안나가네요. ㅜㅜ 참고로 len(document_list)는 747076이네요. 해결할 방법이 있을까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
LangSmith를 활용한 LLM Evaluation에서 metadata 만드는법
chatgpt로 질문지 만드셨는데, metadata는 어떻게 만드셨나요?좋은 강의 감사합니다.