전체 글 99

BM25를 추가한 리트리버(retriver)로 성능 올리기

배경임베딩 방식의 검색기를 사용했는데, 검색기의 성능이 좋지 않았다. 질문 14개 중에 6개만 정답이었고, 오답의 대부분이 검색기 문제로 오답이었다. # 검색기 설정 retriever = vectorstore.as_retriever( search_type="similarity_score_threshold", search_kwargs={'k': 20, "score_threshold": 0.30} )원인을 파악해보니, 자주 쓰이는 단어 때문이었다. 이유 : '여자' 라는 단어가 본문에 너무 자주 쓰여서, 검색기가 이걸 찾기가 힘듦.해결방안 : '여자'라는 단어의 중요도를 낮추고 '패션'이라는 단어에 집중해 검색 해야한다.이 문제를 해결하기 위해 만들어진게 BM25 ..

RAG 제작시 목차 제거 자동화 하기

배경목차가 있으면 Rag 검색기에 걸려서, 검색기의 성능을 떨어트렸다.원본을 눈으로 보고 전처리(목차 제거) 해줬다.대량의 문서를 업로드 할 때는, 목차 분류를 자동화 할 필요성 느낌.해결과정시행착오를 거치며 목차를 구별하는 아래 프롬트를 제작해서 LLM을 돌림."""You are tasked with identifying whether the provided text is a "목차" or part of the "본문" of a book. Follow these instructions:1. If the text contains 4 or more numeric indicators like chapter numbers or page numbers, label it as "목차".2. If the text ..

피클(pkl)과 json의 차이.

배경메타 데이터를 저장하는 과정에서 어느 순간 GPT가 피클 저장방식을 권유했다.그래서 메타 데이터를 저장하는 과정에서 피클과 json 저장방식을 비교하고 차이점을 도출한다.피클(Pickle) vs JSON 차이점 비교특징피클(Pickle)JSON언어 지원Python 전용다수의 언어에서 사용 가능 (Python, JavaScript 등)자료형 유지Python 객체의 모든 자료형을 유지기본 자료형만 지원 (str, int, list, dict 등)커스텀 객체 지원클래스 인스턴스, 함수 등 복잡한 객체도 직렬화 가능지원하지 않음 (직접 처리 필요)직렬화 속도바이너리(b) 형태라 상대적으로 빠름텍스트 형태라 상대적으로 느림파일 크기피클은 객체 구조 전체를 직렬화하므로 더 클 수 있음텍스트 형식으로 상대적으로 ..

사용툴 분석 2024.10.03