스프링은 엔터프라이즈 애플리케이션(많은 사용자의 요청을 동시에 처리하는 애플리케이션)이 나옴으로서 서버 성능과 안전성 및 보안을 원활하게 만들기 위해 들장한 프레임워크입니다. 프레임워크의 특징답게 다른 것들을 신경쓰지 않고, 오직 개발에만 집중할 수 있게 만들어진 도구였습니다. 스프링은 장점이 많은 개발 도구이지만, 설정이 매우 복잡하다는 단점이 있습니다. 그래서 2013년 개발팀은 이 단점을 보완하기 위해 스프링 부트를 출시했습니다. 스프링 부트는 스프링 프레임워크를 더 쉽고 빠르게 이용할 수 있도록 만들어줍니다. 의존성 세트라고 하는 스타터를 이용해서 간편하게 의존성을 상요하거나 관리할 수 있습니다. 스프링 부트의 주요 특징 - 톰캣, 제티, 언더도우 같은 WAS가 내장되어 있어 독립적으로 실행 가능..
필자는 Openai API를 그다지 좋아하지 않는 편이다. 편하지 않다고 하기보다는, 돈이 정말 많이 깨진다. 임베딩도 그렇고, API 호출값도 그렇고.심지어는 레벨이 높지 않으면 토큰 제한까지 존재한다. 그래서 필자는 RAG를 만들 때도 당연히 Ollama와 같은 로컬로 써야 한다고 생각한다. 그러나 애석하게도 AutoRAG 프레임워크는 초보자들을 위해서 기본 Openai API를 쓰게 되어 있다. 그러나 Ollama를 쓰려고 튜토리얼도 없고, 굉장히 험난한 길을 걷게 된다. 이 글은 좀 심화용으로, 어느정도 코딩을 알고, AutuRAG를 활용하면서도 돈을 아끼고 싶은 분들에게 추천하는 글 되시겠다. 데이터셋 만들 때 Ollama 활용하기사실 데이터셋 정도는 ChatgptAPI를 활용해도 되지만..그것..
8월 14일 러닝스푼즈 세미나 요약 이미 알고 있는 것은 거의 생략 RAG 자체에서 QA 자료를 자체로 DB에 넣는 방법도 존재. 멀티 모달 체인으로 확인 테이블 이미지만 추출 unstructed -> 후에 요약하여 ChatGPT API vs LLM Fine-tuning 파인튜닝하는 데이터를 만들 때 ChatGPT API를 굉장히 많이 쓴다.ChatGPT API를 이용해서 부족한 한글 데이터. Text to sql의 수행 사례영어 문장만 한글 문장으로 바꾸면 한글 문장을 SQL로 바꾸는 쿼리가 된다. "실제 텍스트를 참고하여 영어 텍스트를 한글 데이터로 만드세요." 라는 프롬프트. 한글이 가능한 모델을 찾을 때 = LogicKor 사이트를 참고한다.RAG에 사용하려면 모델이 처리 가능한 Context..

Kaggle에서 chromadb를 다운받았을 때, Sqlite를 업데이트 해야 한다면서 실행이 안되는 경우가 발생했다.RuntimeError: Your system has an unsupported version of sqlite3.Chroma equires sqlite3 >= 3.35.0. Please visit https://docs.trychroma.com/troubleshooting#sqlite to learn how to upgrade. 결론부터 말하자면 Kaggle환경에서는 Sqlite를 업데이트 할 수 없으나, 우회해서 사용이 가능하다는 거다.필자가 구동시킨 바로는 다음과 같은 방법으로 사용이 가능하다. 고민하다가 버전을 바꿔보니 작동해서 이렇게 글을 쓰게 되었다. 1. chromadb==..

꽤나 늦은 포스팅. 어찌저찌 최적화하여 달성하긴 했다. pyMuPDF가 확실히 그래도 잘 들어갔으나, 여기부터는 텍스트의 한계를 느꼈고, 이제부터는 표를 추출하도록 했다.그렇게 달성한 게 0.67665이다. k를 줄여보고, pdfplumber로 표를 마크다운으로 만든 후 요약해서 메타데이터에 넣어 달성했다.다만 이미지 영역도 필요할 거 같아서 이제는 멀티모달 모델도 알아보는 중이다. 최고 순위를 달성하긴 했어도 여기서 뭔가 더 나아가려면 모델 자체를 바꿔야 하는 것도 같다.ko-gemma-it 모델은 아주 좋지만, ChatGPT와 비교했을 때 확실히 뒤떨어지는 성능을 보여주었다. 아마도 나보다 위에 있는 분들은 대부분 더 좋은 모델을 사용하지 않았을까 싶긴 하다.다만 문제는 유료 API가 안되다 보니....
Llama 대신 GEMMA 9b를 쓰니 정확도가 늘어났다. 원래 0.5666->0.6243으로 향상 거기에 ensemble retriever를 적용했을 때 0.6545 으로 증가거기에 kiwi retriever를 적용햇을 때 0.6568로 증가했다. 아마 여기까지가 일반적인 LLM이나 retriever 방법론의 끝일듯 싶고, 이 다음부터는 파인튜닝이나 multi query, self-query 같은 기법이 작용해야 할 것 같다. 아니면 RAPTOR 같은 기법을 적용하던가. 어쨌든 간에 리더보드 스코어가 20위 권 안에 들어간 건 좋은 일이다. 현재 0.67이 10위권이니, 정말 잘 한다면 10위권도 노려볼 수 있음직 하다. 0.7까지만 향상시키면 실전에서도 꽤나 좋게 쓸 수 있다는 증거도 된다. 그렇기에..