오늘 라이브 강의 잘 들었습니다! 고맙습니다. LangSmith에서 rag-answer-vs-reference로 평가하는데 각 항목의 점수가 0,1로만 나와서 아쉽네요. 더 세분화된(예: 5단계) 점수로 평가하려면 어떻게 바꿔야 할지 궁금합니다. 그리고 실제로 사용하실 때 몇 단계 평가를 많이 쓰시나요?
안녕하세요. 강의 듣던 중에 제목과 다른 영상이 있어서 문의 드려요. 섹션 5 - 프로젝트 2 "Youtube 동영상 댓글분석 - LLM 모델로 감성 분류 및 평점 예측" 동영상이 "Youtube 상품 리뷰 영상에서 상품정보를 추출, 요약" 과 동일한 영상입니다. 잘못 업로드 된거 같아요 확인 부탁드립니다.
안녕하세요 선생님, batch_size = 16 n_class = 10 def generate_classification(batch_size=16, n_class=10): pred = torch.nn.Softmax()(torch.rand(batch_size, n_class)) ground_truth = torch.argmax(torch.rand(batch_size, n_class), dim=1) return pred, ground_truth def CE_loss(pred, label): loss = 0. exp_pred = torch.exp(pred) # 이 부분 관련 질문이 있습니다. for batch_i in range(len(pred)): for j in range(len(pred[0])): if j == label[batch_i]: print(pred[0], j) loss = loss + torch.log(exp_pred[batch_i][j] / torch.sum(exp_pred, axis=1)[batch_i]) return -loss / len(pred) CE loss를 구현하는 과정에서 exp_pred = torch.exp(pred) 행이 왜 필요한 것인지 궁금합니다! exp를 취해주는 이유는 모델의 출력값 logits에 exp를 적용해 각 클래스에 대한 예측값을 양수로 변환한다고 알고 있는데 generate_classification 위에서 이미 softmax를 취해서 확률분포로 변환해주기 때문에 음수 값은 나오지 않는데 왜 exp를 적용해주어야 하는지 모르겠어서 여쭤봅니다!
안녕하세요, 선생님 강의 잘 듣고 있습니다. 공유 해 주신 코드를 실행 할 때 LLM 기능 사용할 때 에러가 발생되서 실행이 되지 않습니다. 에러코드 첨부 드립니다. --------------------------------------------------------------------------- RateLimitError Traceback (most recent call last) Cell In[14], line 29 26 # Chain 27 llm_chain = prompt | llm | output_parser ---> 29 response = llm_chain.invoke({"text": text}) 31 response File ~\miniconda3\envs\study\Lib\site-packages\langchain_core\runnables\base.py:2499, in RunnableSequence.invoke(self, input, config) 2497 try: 2498 for i, step in enumerate(self.steps): -> 2499 input = step.invoke( 2500 input, 2501 # mark each step as a child run 2502 patch_config( 2503 config, callbacks=run_manager.get_child(f"seq:step:{i+1}") 2504 ), 2505 ) 2506 # finish the root run 2507 except BaseException as e: 생략 ~ 해결 방법이 있을까요?
안녕하세요 선생님! Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss 에서 질문이 있습니다. "미분 가능"에 대해서 궁금한 점이 있는데, MAE loss처럼 0에서 미분이 불가능 한 경우에는 gradient를 계산할 수 없는데 어떻게 해당 loss를 사용할 수 있는 것인가요? 또 Huber loss는 한 번만 전 구간 한번만 미분가능하고, Log Cosh loss는 전 구간 2번 이상 미분가능하다고 말씀해주셨는데 한 번만 미분 가능한 것보다 2번 이상 미분가능한 것의 장점이 무엇인가요? 확인해주셔서 감사합니다!
저는 R.A.G를 통한 LLM 챗봇을 개발을 하기위해 본 강의를 수강하기 시작했는데 너무 유읙합니다. 이럴 경우에도 embedding을 해서 R.A.G를 통해 retrieve가 가능한지 여쭤보고 싶어요. 데이터 크롤링 (컬럼 중에 리뷰데이터)의 데이터를 전처리해서 바로 Embedding을 통해 vector database에 넣어서 RAG를 활용할 수 있나요? 결과물에 대한 시나리오는 User가 챗봇에게 피부관련 사진 또는 문제에 대해서 고민을 입력하면 특정 논문 (강사님 강의에서 tax 파일과 같은 의미)을 기반으로 답변을 주게 되며 동시에 특정 쇼핑몰의 화장품의 리뷰들을 요약해주며 해당 제품을 추천하는 형태의 서비스입니다. 지금 생각으로는 데이터크롤링을 통해 긁어온 모든 자료들을 embedding해서 RAG할 수 있을 것 같은데 그것에 가능한지 궁금합니다.
안녕하세요 강사님 먼저 훌륭한 강의 공유해주셔서 너무 감사합니다 저는 지금 사내 위키를 크롤링해서 그 내용을 학습하고 이에 대한 내용을 GPT에게 질문했을 때 답변하는 챗봇을 개발하고 있습니다. 가이드 문서에는 이미지 파일을 통한 예시와 함께 작성된 가이드 문서가 많은데 이를 어떻게 학습시키거나 이용자에게 뿌려줄 수 있을지 궁금합니다 첨부된 GPT답변을 보시면 예제 스크린샷이라고 나오지만 제가 문제로 예상하는것은 위키가 로그인 된 사용자만 열람이 가능하기 때문에 이미지 링크 파일 또한 로그인되지 않은 상태에서는 접근이 불가능하기 때문입니다. 혹시 답변에 도움이 될까 싶어 제가 구현한 단계를 마지막으로 질문 마치겠습니다 크롤링(selenium)을 통해 wiki를 탐색하며 .txt파일로 긁어옵니다 표 같은경우 강사님 조언대로 table -> markdown code태그는 ```code``` 태그로 감싼다 image데이터의 경우 src에서 파일 링크를 추출해서 text로 변환 (ex https://cdn.inflearn.com/public/files/courses/324145/9b8f6df3-8278-446f-b0da-394371126807/inflearn_python_07.png) DirectoryLoader로 파일들을 embedding해서 벡터화 강의 따라가며 나머지 동일하게 구현
안녕하세요, 먼저 좋은 강의 제공해 주셔서 감사하게 잘 듣고 있다는 감사 말씀 드리고 싶습니다. 질문 사항은, 수업 중 정의하신 lstm 클래스의 forward 함수를 아래와 같이 정의 하셨는데요, class LSTM(torch.nn.Module): def __init__(self, vocab_size, embedding_dim, hidden_dim, num_layers, n_classes) -> None: super(LSTM, self).__init__() self.vocab_size = vocab_size self.embedding_dim = embedding_dim self.embedding = torch.nn.Embedding(vocab_size, embedding_dim) self.lstm = torch.nn.LSTM(input_size=embedding_dim, hidden_size=hidden_dim, num_layers=num_layers, batch_first=True, dropout=0.2) self.fc = torch.nn.Linear(in_features=hidden_dim, out_features=num_classes) self.sigmoid = torch.nn.Sigmoid() def forward(self, x): x = self.embedding(x) x, (h_n, c_n) = self.lstm(x) x = torch.sum(h_n, dim=0) x = self.fc(x) return x forward 함수의 마지막 부분에서 fc를 통과한 x를 self.sigmod 함수에 통과 시키지 않고 return 하여도 되는건지 궁금합니다.
안녕하세요! 강의를 듣고 docx를 가지고 RAG 설정하는 걸 배우고나서 JSON파일을 가지고 RAG을 설정해보려고 하는데요, 이렇게 json을 로드하면 한글이 잘 출력이 됩니다. 하지만, langchain의 JSONLoader를 이용해서 load and split을 하려고 하면 해당 부분이 인코딩 되어 출력됩니다. 공식문서에서 해결방법을 찾지 못했는데, 혹시 강사님께서 해당 문제를 해결하는 방법에 대해서 알고 있으실까요?
poetry add python-dotenv langchain langchain_openai gradio 입력하니 powershell에서 이렇게 나옵니다. ffmpy 설치 실패와 함께 ChefBuildError가 뜨는데 어떻게 해야 하나요? 아래의 글은 제가 모두 시도해본 방법입니다. 그러나 해결되지 않았습니다. cache 삭제도 해봤습니다. -------------------------------------------------------해결 방법 빌드 환경에 setuptools 설치 setuptools 가 현재 빌드 환경에 설치되어 있는지 확인하고, 설치되어 있지 않다면 설치합니다. 다음 명령어를 사용하여 setuptools 를 다시 설치해보세요: pip install --upgrade setuptools wheel 패키지 설치 wheel 패키지도 설치되어 있어야 합니다. 아래 명령어로 설치해 보세요: pip install wheel 패키지의 버전 확인 ffmpy 의 다른 버전을 시도해 볼 수 있습니다. ffmpy 의 최신 버전이 문제를 해결할 수 있을지 확인해 보세요. 예를 들어, 최신 버전을 설치하려면: pip install ffmpy pip install ffmpy==0.2.3
이 오류로 클론코딩 및 스스로 코딩연습도 못하고 있습니다. git에 보니 chromadb 버전문제라고 하는데.... 그리고 강사님 강의에 환경설정들이 너무 안되는게 많아서 온전히 강의에 집중이 안되네요... 환경 설정이나 이런 부분들에 대해서 좀더 자세히 설명 바랍니다.