airflow dags list를 하면 yfinance_to_snowflake_fullrefresh.py 에서 no module named helpers 에러가 떴습니다. pip3 install helpers 를 통해 설치를 했는데도, 동일한 에러가 발생하고 있습니다. (python은 homebrew 통해 설치했고, homebrew 설치 시에 패키지 전역 설치가 안된다는 문제가 있었는데, 이는 해결해서 helpers Install은 완료 했습니다.)
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의와 달리 메서드가 안 나오더군요 하나씩 따라서 치고있는데 구글링해도 검색을 잘 못해서 그런지 안 나오더라고요 단축키도 똑같이 맞춰둔 상태입니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] java -version에서 21인거 확인했고 환경변수,path 설정도 제대로 된것 확인하였습니다. 인텔리제이에서 tool 설정에서 실행이 인텔리제이로 되어있는것도 확인했습니다 근데 왜 자꾸 test부분에서 오류가 나는지 모르겠습니다. 혹시 build.gradle 파일 안에 junit 부분이 인텔리제이에서 밑줄 쳐진것처럼 이상하게 보이긴 했는데 거기가 문제인걸까요? gradlew 까지는 잘 실행되는데 gradlew build를 입력하면 항상 실패합니다. https://drive.google.com/file/d/1H2-IATqwNphgZoDcjcEQXkbAmcfELT8D/view?usp=sharing hello-spring이 들어있는 zip 입니다.
안녕하세요. 강의를 듣고 추가적으로 공부를 하려고 하는데 예를 들어 Q. 테슬라의 창업자는 누구야 A. 테슬라의 창업자는 OOO입니다. 이러한 대화 바로 다음 OOO에 관련한 추가 질문을 하려고합니다. 예시) Q. 그렇다면 그 사람에 대해서 간단하게 설명해줘. 위 질문을 하려면 LLM이 이전대화내용을 기억해야하는데 그것에 대해서 공부하려합니다. 키워드를 뭐라고 잡아야할까요?
원래 상태로 돌아오기까지 4n번의 횟수가 걸린다는 것은 이해를 했습니다. 그런데 제가 처음에 생각한 종료 조건은 둘 중 하나의 큐라도 비어있게 된다면 합을 같게 만들 수 없는 경우라 생각했습니다. 그런데 시간초과가 발생하네요. 하나의 큐가 원래 상태로 돌아가기 위해서는 그 과정에서 반드시 원소가 하나도 없는 경우가 생길것이라 생각했는데 아닌건가요?
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
계속해서 인터프리터를 찾지 못해서 루트 경로에 .vscode폴더를 만들고 settings.json파일을 생성후, { "python.defaultInterpreterPath": "${workspaceFolder}/ch02_env/bin/python" } 해당 코드를 넣어 강제로 인식하게 했는데, 인터프리터 인식이 되었습니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] // 인증 번호 확인 @Transactional public void confirmAuthenticationInfo(AuthenticationRequest.Confirm request){ MemberCertificationHistory history = findById... // 엔티티 조회 ... validateExpiration(history); ... } // 만료 일시 검증 @Transactional private void validateExpiration(MemberCertificationHistory history){ if(history.isExpired()){ processExpiration(history); // 만료 처리 . 트랜잭션 분리 throw new ServerException("만료됨"...); } } // 인증 정보 만료 처리 @Transactional(propagation = Propagation.REQUIRES_NEW) private void processExpiration(MemberCertificationHistory history){ history.getMemberCertificationInfo().processExpiration(); memberCertHisRepository.save(history); // 엔티티 저장 } 안녕하세요 위 코드에서 궁금한점이 있는데 내부호출에 관한 내용인지 질문드립니다. 간단하게 confirmAuthentication() , validateExpiration() , processExpiration() 3가지 메서드가 있는상황이구, 차례로 호출하며 validateExpiration()에서 throw를 던지는 상황입니다. 문제는 validateExpiration()를 내부에서 트랜잭션이 분리 처리(REQUIRES_NEW)되어 있는 processExpiration()를 타게되고, processExpiration()는 분리된 트랜잭션이니 .save()를 통해 저장이되고, 다시 validateExpiration()으로 돌아와 throw를 처리하게 되어 processExpiration()에서 저장된것은 롤백되지 않을것으로 예상하였습니다. 그런데 로그를보니 insert쿼리도 나가지 않고, 따로 롤백에 관한 내용도 찍히지 않았습니다. 따라서 내부호출이 된건가 생각을해보니 제가 아는 내부호출이라는 문제는 동일한 클래스에서 트랜잭션이 적용되지 않은 메서드에서 트랜잭션이 적용된 메서드 호출시 내부 호출이 발생하는걸로 알고있는데 위 예제에선 이미 최상위 메서드에서 트랜잭션이 적용되어 있는상태인데 따로 생성된 트랜잭션이 실행되지 않아서 혹시 이건 내부호출 문제가 맞는것인지, 아니면 다른 제가 간과한것이 있는지 궁금하여 질문드립니다 .
from langchain.retrievers.document_compressors import DocumentCompressorPipeline from langchain_community.document_transformers import EmbeddingsRedundantFilter # 중복 문서 제거 redundant_filter = EmbeddingsRedundantFilter(embeddings=embeddings_model) # 쿼리와 관련성이 높은 문서만 필터링 relevant_filter = EmbeddingsFilter(embeddings=embeddings_model, similarity_threshold=0.5) # Re-ranking re_ranker = LLMListwiseRerank.from_llm(llm, top_n=2) pipeline_compressor = DocumentCompressorPipeline( transformers=[redundant_filter, relevant_filter, re_ranker] ) pipeline_compression_retriever = ContextualCompressionRetriever( base_compressor=pipeline_compressor, base_retriever=chroma_db.as_retriever() ) question = "테슬라 회장은 누구인가요?" compressed_docs = pipeline_compression_retriever.invoke(question) print(f"쿼리: {question}") print("검색 결과:") for doc in compressed_docs: print(f"- {doc.page_content} [출처: {doc.metadata['source']}]") print("-"*100) print() `(4) DocumentCompressorPipeline` - 여러 압축기를 순차적으로 결합하는 방식 - BaseDocumentTransformers를 추가하여, 문서를 더 작은 조각으로 나누거나 중복 문서를 제거하는 등의 작업도 가능 여기에서 result = chain.invoke() 로 받아서 result의 데이터를 보면, context = result['context'][i] query_similarity_score = context.state['query_similarity_score'] 이렇게 similarity_score 처럼 rerank score같은거 보고싶은데, # 크로스 인코더를 사용하여 유사성 점수를 계산합니다. sentence_pairs = [[query, prediction]] similarity_scores = cross_encoder_model.predict(sentence_pairs) 이런식으로 계산을 해야하나요? 추출하고 싶은데 방법을 잘 모르겠습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 갑자기 선수강의에 없었던 정적페이지크롤링 파일이 나오는데 이건 어떻게 해야 하나요. 어디서 참고해야 하나요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 def solution(l,k): result = [] curr = [] def backtracking(start, curr): if len(curr) == k: result.append(curr[:]) return for i in range(start, len(l)): curr.append(i+1) backtracking(i + 1, curr) curr.pop() backtracking(0, curr) return result 위의 코드에서 if len(curr) == k: 안에 result.append(curr[:]) 대신 result.append(curr)을 넣으면 result = [[], [], [], [], [], []]와 같이 값이 제대로 추가가 안 되던데 무슨 차이가 있는 건가요? main 함수에서 test1 = [] test2 = [1,2,3] test1.append(test2) print(test1) test1 = [] test1.append(test2[:]) print(test1) 이와 같이 테스트를 해보면 두 프린트 결과 모두 [[1,2,3]]으로 동일하게 나오는데 위의 경우는 달라서 질문 드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 안녕하세요 !! 영한님 강의로 열심히 공부하고 있는 한 사람입니다. 수량 입력할 때, 1111111111(11개) 를 입력했을 때, "숫자를 입력해주세요" 라는 오류 메시지가 뜨더라구요. 그래서 혹시 int 형 범위 문제인가 싶어서 2147483648(int 형 최대 범위 숫자 " + 1 ")를 넣어보니, 다시 "숫자를 입력해주세요" 오류 메시지가 나왔습니다. 따라서 int 형 범위를 넘어선 long 형 범위에 들어가면 숫자가 아니라고 판단 하는 것 같더라구요. 사용자 입장에서 int 형 범위든 long 형 범위든 숫자를 입력한 건 맞는 사실이기에, 기존에 int 형 범위 숫자만 숫자로 인식하는 것이 아닌, long 형 범위에서도 숫자로 인식하여 "숫자를 입력해주세요" 라는 오류 메시지가 발생하지 않으려면 어떻게 해야하나요 ??
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. FrontControllerServletV2의 service 메소드를 보면 마지막 두 줄에 MyView view = controller.process(request, response); view.render(request, response); 첫번째 줄에는 viewpath만 가지고 있는 객체라고 생각이 되는데 두번째 줄에서 render의 매개변수로 사용되는 request, response 두가지는 어디서 나온건지 궁금합니다. 제가 이해 하기론 예를들어 회원 저장시 FrontControllerServletV2가 requestURI변수에 "/front-controller/v2/members/save" 를 받아오고 controller는 controllerMap.get(requestURI)로 인해 MemberSaveControllerV2객체를 담습니다. MemberSaveControllerV2가 오버라이딩한 process는 @Override public MyView process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); request.setAttribute("member", member); return new MyView("/WEB-INF/views/save-result.jsp"); } 저장로직을 실행한 후 request.setAttribute를 통해 (명칭이 기억안납니다) 저장한 후 "/WEB-INF/views/save-result.jsp"를 viewpath로 갖는 MyView객체를 반환하고 이 객체가 FrontControllerServletV2의 view변수에 저장되는데 request와 response는 전달 받지 않았음에도 어떻게 render메소드를 실행하는지 궁금합니다.
덮어씌워진다는게 이해가 안되서요! test1 = name();이 실행되었을때 홍길동이 입력되면 return 되는 값은 홍길동 아닌가요?? 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.