Gemini와 한글 인식
Gemini는 다른 AI 모델들과 비교했을 때 한글 인식 능력이 상당히 뛰어나다. 특히 간단한 질문에 대해서는 도구(tool)의 설명을 한글로 작성했을 때 더 정확한 결과를 얻을 수 있었다.
예를 들어, "이 도구는 데이터베이스에서 정보를 검색합니다"라고 한글로 설명을 달았을 때 Gemini가 더 적절하게 응답하는 경우가 많았다. 이는 한국어 기반으로 작업시에 확실한 장점으로 작용할 수 있을 것 같다.
# 한글 설명이 더 효과적인 예시
def search_database(query):
# 한글 설명을 사용하면 Gemini가 더 정확하게 이해함
tool_description = "이 도구는 데이터베이스에서 정보를 검색합니다"
# 검색 로직 구현 부분
results = database.query(query)
return results
도구 분기 처리의 어려움
프로젝트를 진행하면서 Gemini의 도구 분기 처리가 생각보다 원활하지 않다는 점을 발견했다. 하나의 도구가 여러 상황에서 다른 방식으로 동작해야 할 때, 모델이 적절한 경로를 선택하지 못하는 상황이 자주 발생했다.
도구 분기를 더 세밀하게 설정하는 방법을 고민해봐야 할 것 같다. 특히 Gemini를 사용할 때는 기능을 명확히 구분해서 각각의 도구로 나누는 커스텀 접근 방식이 효과적일 수 있다.
# 문제가 되는 방식: 하나의 도구에 여러 기능
def 데이터_처리(데이터, 처리_유형):
if 처리_유형 == "요약":
return 데이터_요약(데이터)
elif 처리_유형 == "분석":
return 데이터_분석(데이터)
# AI가 이런 분기를 판단하는 데 어려움을 겪음
# 개선된 방식: 각 기능을 별도 도구로 분리
def 데이터_요약(데이터):
# 요약 로직만 구현
return "요약된 내용"
def 데이터_분석(데이터):
# 분석 로직만 구현
return "분석 결과"
이런 식으로 도구를 기능별로 세분화하면 모델이 각 도구의 목적을 더 명확하게 이해하고 적절한 상황에서 올바른 도구를 선택할 가능성이 높아진다.
데이터 로더의 중요성
프로젝트를 진행하며 데이터 로더, 특히 PDF 로더가 얼마나 중요한지 다시 한번 깨달았다. 이전 프로젝트에서도 느꼈지만, 기존의 라이브러리들은 복잡한 형태의 문서를 처리하는 데 한계가 있었다.
논문처럼 여러 단으로 나뉜 글이나 복잡한 표가 있는 PDF 파일을 불러올 때 내용이 엉망으로 섞이는 문제가 자주 발생했다. 이런 경우에는 결국 직접 파싱 로직을 만들어서 해결해야 했다.
# 직접 만든 PDF 로더 예시
import PyPDF2
import re
def 고급_PDF_로더(파일_경로):
pdf = PyPDF2.PdfReader(파일_경로)
전체_내용 = []
for 페이지_번호 in range(len(pdf.pages)):
페이지 = pdf.pages[페이지_번호]
텍스트 = 페이지.extract_text()
# 다단 구조 처리
if 다단_구조_확인(텍스트):
처리된_텍스트 = 다단_처리(텍스트)
else:
처리된_텍스트 = 텍스트
# 표 처리
표_목록 = 표_추출(페이지)
if 표_목록:
표_텍스트 = 표_처리(표_목록)
처리된_텍스트 += "\n\n" + 표_텍스트
전체_내용.append(처리된_텍스트)
return "\n\n".join(전체_내용)
# 다단 구조 확인 함수
def 다단_구조_확인(텍스트):
# 다단 구조 인식 로직
return bool(re.search(r"특정 패턴", 텍스트))
CSV 파일도 마찬가지로, 단순히 파일을 읽어오는 것을 넘어서 AI가 이해하기 좋은 형태로 변환하는 과정이 필요했다.
2025년 3월 25일 - 앞으로의 개선 방향
지금까지의 경험을 토대로, 앞으로 프로젝트에서는 다음과 같은 개선점을 고려해야겠다:
- Gemini의 뛰어난 한글 인식 능력을 최대한 활용하기 위해 한글 기반 도구 설명을 더 체계적으로 만들 예정이다. 이는 국내 사용자들에게 더 자연스러운 경험을 제공할 것이다.
- 도구 분기 처리 문제는 각 도구의 목적을 단순하고 명확하게 정의하는 방식으로 해결할 계획이다. 하나의 도구에 여러 기능을 넣기보다는, 각 기능을 독립적인 도구로 분리하는 것이 효과적일 것 같다.
- 데이터 로더는 문서의 구조와 특성을 고려한 맞춤형 솔루션이 필요하다. 특히 다단 구조의 논문이나 복잡한 표가 있는 PDF, 그리고 대용량 CSV 파일을 효과적으로 처리할 수 있는 자체 파싱 파이프라인을 개발하는 데 집중할 예정이다.
이러한 개선 사항들을 적용하면 생성형 AI 모델의 성능을 크게 높일 수 있을 것이다. 데이터 로딩 단계에서 발생하는 문제를 해결하는 것이 전체 시스템의 성능 향상에 중요한 열쇠가 될 것이다.
'사이드 프로젝트 연구일지' 카테고리의 다른 글
| 연구 일지: MCP 서버를 활용한 Tmap API 연동 및 멀티모달 AI 활용 연구(250407~250411) (1) | 2025.04.14 |
|---|---|
| 사이드 프로젝트 연구 일지: LLM기반 업데이트 (0) | 2025.04.06 |
| 프롬프트 엔지니어링 / RAG 연구일지: MCP 탐색(feat. cursor, claude) (0) | 2025.03.31 |