묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
보안 및 오픈소스 활용
안녕하세요, 우선 좋은 강의 만들어주셔서 감사하다는 말씀 먼저 드립니다. 조그마한 회사에 재직 중인 신입 개발자입니다.AI를 분야를 다루는 것은 처음이라 백그라운드 지식이 전혀 없는 상태임을 양해 부탁드립니다. 현재 강의를 완강하지는 못했지만, 질문이 있습니다.저 말고 다른 분도 질문을 올리신 거 같긴 한데, 제가 궁금한 것은 현재 외부에 공개되는 것에 민감한 자료에 대해 llm이 잘 답변하는 것을 목표인 프로젝트를 맡게 되었는데요, 민감한 정보이다 보니, 클라우드 서버를 사용하지 않고, 직접 서버를 구매할 예정이라고 들었습니다. openAI의 api와 같은 외부 api 사용도 어려울 것으로 생각 됩니다. (외부 api를 사용해 rag를 구성하는 것에 대해서 민감하게 생각하시는 거 같습니다) 그래서 저와 같은 상황일 때는 임베딩 부분이나 vectorDB 구성을 어떻게 하는 것이 좋을까요? llm 모델은 llama3를 활용하면 문제가 없을 거 같은데, 정말 중요한 임베딩과 vectorDB 구성에서 고민이 많습니다. vectorDB는 AWS를 활용하지 않는 Chroma를 이용한다고 하더라도, 임베딩을 어떤 것을 사용하면 좋을지 고민이 됩니다. 감사합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
2.1강에서 소개해주신 rlm/rag-prompt에 대해 궁금한 부분이 있습니다
Langchain에서 제공해주는 rag-prompt 기능에 대해 설명해주셨는데요 하나 궁금한게 LLM마다 prompt의 처리도 다를 것으로 생각되는데 prompt를 잘 만들어주는게 langchain 내부적으로 사용한 target model에 맞추어 최적화해주는건가요 ? 아니면 서로 다른 LLM이더라도 공통적으로 최적화된 prompt가 존재할 수 있는건가요 ?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
코드 옆에 오류같은게 미리 뜨는 익스텐션이 궁금합니다.
안녕하세요 좋은 강의 감사합니다! vs code 작성하실 때 코드 옆에"(" was not closedExpected attribute name after "." 이런 문장 뜨는 건 혹시 어떤 익스텐션이실까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
4.3강의: Bad Request 오류 발생
안녕하세요 4.3 강의를 기준으로 chat.py, llm.py 코드를 완료하여 chat.py 실행 시 위와 같이 bad request 오류가 나오는 데 원인을 모르겠습니다.코드 오류는 아닌거 같은데 원인을 알 수 있을까요???upstage 사용 중이고 pinecone 설정도 4096으로 하였습니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
개인정보의 처리
안녕하세요 강의를 따라 하나씩 실습해보고 있습니다.사내의 데이터를 이용하여 RAG를 구현하고 있는중입니다.질문은추후 사내에 적용시킬때 chatGPT모델을 사용한다면 관련 내용이 외부 GPT로 전이될 가능성이있을까요?가지고 있는 DB에서 어떤 개인의 정보를 요구했을때 보안상의 이유로 제공을 해주지 않는다고 답변이 나옵니다. 해결할 수 있는 방법이 있을까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
hub.pull시에 API KEY가 필요하다고 경고가 나옵니다.
.env 파일에 OPENAI_API_KEY를 정확히 기입했는데 위와 같은 오류가 발생하네요. 따로 추가해주어야하는 API KEY가 있는것일까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
LLM이 답변하지 못함
코드도 동일하고 retrieved_docs 의 내용이 k값에 따라 강사님과 다르다고 쳐도,ai_message = qa_chain({"query": query})에서 LLM의 답변이{'query': '연봉 5천만원인 거주자의 소득세는 얼마인가요?', 'result': '해당 질문에 대한 정보는 주어진 문서에서 직접적으로 찾을 수 없습니다. 연봉 5천만원인 거주자의 소득세를 계산하려면 추가적인 세법 정보와 공제 항목 등을 고려해야 합니다. 정확한 소득세 금액은 세무 전문가나 관련 세무 계산기를 통해 확인하는 것이 좋습니다.'}이렇게 나오는건 뭔가 잘못된건가요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
답변에 Source 추가하기
안녕하세요 강사님답변에 마지막에 참고한 문서의 source를 남겨 신뢰도를 올리려 합니다. prompt를 다음과 같이 추가했습니다1. 모든 답변에는 직접적으로 참조한 자료의 목록을 추가해야 합니다. 최종 답변에 관련이 없는 자료는 제외합니다. 2. 답을 모를 경우 답을 지어내지 말고 [정확한 답을 찾을 수 없지만, 다음 링크를 확인해 보시기 바랍니다] 라고 말한 뒤 자료 링크를 목록으로 추가합니다.문제는 출처를 남길 때 AI가 참고한 자료를 남길 때도 있지만 AI가 존재하지 않는 source를 문서내의 링크나 내용과 조합해서 만들어내는 일종의 hallucination이 발생하는 것 입니다 ( 정확한 원인은 모르겠습니다 ) 따라서 prompt 말고 직접 data에서 pick(answer)를 하지 않고 content속 metadata : souce를 꺼내고자 하는데 강의에서의 stream으로 응답주기 전에 answer 하단 부에 [출처 : 1. aaa, 2. bbb] 하기 위해서는 chain을 수정해야 할 까요? 지금으로서는 ai_response = final_chain.pick("answer").stream( { "question": user_message }, config={ "configurable": {"session_id": "abc123"} } ) ai_resource = final_chain.pick("context").invoke( { "question": user_message }, config={ "configurable": {"session_id": "abc123"} } )이렇게 두번 호출해서 resource는 반복문을 통해서 떠내는 방식으로 구현해보았는데 절대 올바른 방법은 아닌 것 같아서요..
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
Chroma 사용하여 vector db로 저장할때 오류
vscode에서 jupyter:restart kernel 했는데도 에러가 납니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
모델 ID 오류가 발생했습니다.. ㅠㅠ
강의 시작하고 얼마 안돼서 오류가 발생하는 것을 확인할 수 있었습니다.음... 일단 GPT랑 커뮤니티에서 찾아보고는 있는데, 아직 해결되지 않았습니다...해당 문제로 인해서 에러가 발생하고 있습니다 ㅜ.ㅜ추가로 현재 커널 충돌 발생하는 부분 첨부 드립니다.다시 한번 추가 드립니다.아래 출력문에서 강사님은 (metadata={'source': './tax.docx'}가 없이 page_content가 출력이 되시는데 제가 docx 부분에서 잘못 스플릿 한 건가요..?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
retrievalQA
retrievalQA에 대해 지속적인 오류가 발생하고 있습니다.해결을 위해서 create_Retrieval_chain을 사용해 보았지만 invoke부분에서 오류가 계속 발생 되고 있습니다.이를 해결 할 수 있는 방법이 있나요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
create_retrieval_chain, Custom LCEL 을 사용해서 chain을 구성하면 코드가 어떻게 되는지 보고 싶습니다.
from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type( llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt": prompt} ) 이 예제 코드에서 create_retrieval_chain, Custom LCEL 을 사용해서 chain을 구성한 코드를 보고싶습니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
database.as_retriever 의 결과가 다릅니다.
코드가 똑같은데도 불구하고database.as_retriever 의 결과값이 다를 수 있을까요?as_retriever 함수에 최소 k=5을 넣어야 제55조 항목이 검색됩니다.tax_with_markdown.docx 파일은 제공해주신 파일이고혹시나 싶어서 pinecone index테이블도 삭제했다가 다시 생성해서 바로 찍은 결과입니다. 아래는 제 코드입니다.from langchain_community.document_loaders import Docx2txtLoader from langchain_text_splitters import RecursiveCharacterTextSplitter text_splitter = RecursiveCharacterTextSplitter( chunk_size=1500, # 각 텍스트 조각의 최대 크기 chunk_overlap=200, # 텍스트 조각 간의 중복 길이 ) # .docx 파일을 로드하고 텍스트를 분할. 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() # OpenAI 임베딩 모델을 설정합니다. embedding = OpenAIEmbeddings(model='text-embedding-3-large') import os from pinecone import Pinecone from langchain_pinecone import PineconeVectorStore # Pinecone 인덱스 이름을 설정합니다. index_name = 'tax-markdown-index' # 환경 변수에서 Pinecone API 키를 가져옴 pinecone_api_key = os.environ.get("PINECONE_API_KEY") # Pinecone을 초기화 pc = Pinecone(api_key=pinecone_api_key) # from_documents()`를 사용하여 새 인덱스 생성 database = PineconeVectorStore.from_documents(document_list, embedding, index_name=index_name) query = '연봉 5천만원인 직장인의 소득세는?' retriever = database.as_retriever(search_kwargs={'k': 5}) retriever.invoke(query) 쿼리를 날린 결과를 찍어보면5번째에서 제55조가 나옵니다.아래는 결과값 일부입니다.[Document(metadata={'source': './tax_with_markdown.docx'}, page_content='나. 그 밖의 배당소득에 대해서는 100분의 14\n\n3. Document(metadata={'source': './tax_with_markdown.docx'}, page_content='차. 외국정부(외국의 지방자치단체와 연방국가인 외국의 지방정부 Document(metadata={'source': './tax_with_markdown.docx'}, page_content='1. 「공익신탁법」에 따른 공익신탁의 이익\n\n2. Document(metadata={'source': './tax_with_markdown.docx'}, page_content='저. 대통령령으로 정하는 복리후생적 성질의 급여\n\n4
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
확장프로그램 어떤거 쓰시나요?
사진처럼 어떤 파라미터가 들어가는지 보여주는 확장프로그램이 어떤건가요? 저는 Python, Jupyter, Pylance 확장프로그램이 설치되어 있습니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
LangSmith로 평가시 0, 1 점수 대신 더 세분화된(예: 5단계) 점수 사용
오늘 라이브 강의 잘 들었습니다! 고맙습니다.LangSmith에서 rag-answer-vs-reference로 평가하는데 각 항목의 점수가 0,1로만 나와서 아쉽네요. 더 세분화된(예: 5단계) 점수로 평가하려면 어떻게 바꿔야 할지 궁금합니다. 그리고 실제로 사용하실 때 몇 단계 평가를 많이 쓰시나요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
R.A.G를 통한 구현의 Scope 문의
저는 R.A.G를 통한 LLM 챗봇을 개발을 하기위해 본 강의를 수강하기 시작했는데 너무 유읙합니다. 이럴 경우에도 embedding을 해서 R.A.G를 통해 retrieve가 가능한지 여쭤보고 싶어요.데이터 크롤링 (컬럼 중에 리뷰데이터)의 데이터를 전처리해서 바로 Embedding을 통해 vector database에 넣어서 RAG를 활용할 수 있나요?결과물에 대한 시나리오는 User가 챗봇에게 피부관련 사진 또는 문제에 대해서 고민을 입력하면 특정 논문 (강사님 강의에서 tax 파일과 같은 의미)을 기반으로 답변을 주게 되며 동시에 특정 쇼핑몰의 화장품의 리뷰들을 요약해주며 해당 제품을 추천하는 형태의 서비스입니다.지금 생각으로는 데이터크롤링을 통해 긁어온 모든 자료들을 embedding해서 RAG할 수 있을 것 같은데 그것에 가능한지 궁금합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
이미지 데이터 학습 및 응답
안녕하세요 강사님먼저 훌륭한 강의 공유해주셔서 너무 감사합니다저는 지금 사내 위키를 크롤링해서 그 내용을 학습하고 이에 대한 내용을 GPT에게 질문했을 때 답변하는 챗봇을 개발하고 있습니다.가이드 문서에는 이미지 파일을 통한 예시와 함께 작성된 가이드 문서가 많은데 이를 어떻게 학습시키거나 이용자에게 뿌려줄 수 있을지 궁금합니다첨부된 GPT답변을 보시면 예제 스크린샷이라고 나오지만 제가 문제로 예상하는것은 위키가 로그인 된 사용자만 열람이 가능하기 때문에 이미지 링크 파일 또한 로그인되지 않은 상태에서는 접근이 불가능하기 때문입니다.혹시 답변에 도움이 될까 싶어 제가 구현한 단계를 마지막으로 질문 마치겠습니다크롤링(selenium)을 통해 wiki를 탐색하며 .txt파일로 긁어옵니다표 같은경우 강사님 조언대로 table -> markdowncode태그는 ```code``` 태그로 감싼다image데이터의 경우 src에서 파일 링크를 추출해서 text로 변환 (ex https://cdn.inflearn.com/public/files/courses/324145/9b8f6df3-8278-446f-b0da-394371126807/inflearn_python_07.png)DirectoryLoader로 파일들을 embedding해서 벡터화강의 따라가며 나머지 동일하게 구현
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
JSONLoader 관련 질문있습니다!
안녕하세요!강의를 듣고 docx를 가지고 RAG 설정하는 걸 배우고나서JSON파일을 가지고 RAG을 설정해보려고 하는데요, 이렇게 json을 로드하면 한글이 잘 출력이 됩니다.하지만, langchain의 JSONLoader를 이용해서 load and split을 하려고 하면해당 부분이 인코딩 되어 출력됩니다. 공식문서에서 해결방법을 찾지 못했는데, 혹시 강사님께서 해당 문제를 해결하는 방법에 대해서 알고 있으실까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
docx에 표
안녕하세요! 강의 잘 듣고 있습니다강의에서 docx 내부의 표를 markdown으로 변경하셨던데,그러면 docx 문서를 전부 훑어서 모든 표를 markdown으로 일일이 수정해야할까요?혹시 좀 더 간편한 방법이 있는 건 아닌지 궁금하여 여쭤봅니다!
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포 마지막 에러가 발생하는데 왜 그럴까요?
안녕하세요!제가 파이썬 세팅을 처음해봐서 3.10으로 한것 같은데 정확하지 않습니다 ㅠㅠ우선 github repo는 private으로 해서 streamlit cloud에서 연결해서 사용중입니다.강의랑 똑같은 dot_env쪽 에러 발생해서pip freeze > requirements.txt 후 git commit 한 상태입니다.좋은 하루 되시고 답변 부탁드립니다.