[최종 프로젝트] 6주차: API 연결 구현을 위한 코드 공부 (ChatPage.jsx), DB와 Docker 다시 빌드, 멘토링 (250825)

해피해피슈크림·2025년 8월 25일

1. API 연결 구현을 위한 코드 공부 (ChatPage.jsx)

로그인 문제가 해결되었으니, API 연결을 해야 할 때가 왔다. API 연결을 하기 전, 동욱 오빠가 쓴 '채팅 페이지 API 연결 코드'를 보며 공부했다. 솔직히 코드 공부 길어봤자 두세 시간일 거라 생각했는데, 코드 하나하나 꼼꼼히 보다 보니 다섯 시간 정도 걸렸다.

📌 ChatPage.jsx 코드 공부

개발 마감 기한이 얼마 안 남아서, 이렇게 코드 공부를 꼼꼼하게 하는 게 맞다고 생각하면서도 불안해했다. 그래도 전에 로그인 화면 구현하면서 처음으로 React를 쓰던 때, 공부를 꼼꼼히 한 덕분에 코드 쓸 때 확신을 가지고 쓸 수 있었다. 그러니 이번에도 시간을 잘 쓴 거라고 생각해 보겠다.


2. DB 연결

DB 연결 때 hostname을 AWS EC2 endpoint로 설정해야 하는데, IP 주소로 설정해서 서버 연결이 안 된 것이었다!

1. DB(Postgres) 우클릭 후 Edit Connection

2. host에 endpoint


Test Connection 버튼 눌러서 DB 연결 되는지 확인하기.

3. 위에 "postgres", "public@postgres" 확인하기.


그래야 왼쪽에서 DB를 찾을 때 postgres DB를 찾아서, 구문 쓸 때 select * from postgres.user_info 이런 식으로 안 쓰게끔 하는 것이다.


3. Docker 다시 빌드

상황

  • AWS EC2 인스턴스 재생성
  • .env 파일에 DB_HOST를 새 endpoint로 지정했는데, Backend Docker가 자꾸 꺼져서 로그인이 안 됨.

해결

.env 파일 변경사항이 Docker에 반영이 안 된 것 같아 Docker Bulid를 다시 해주었다.

다시 Build 하는 코드

docker-compose down
docker-compose up --build -d
  • 주의 사항: docker-compose down -v는 하지 말자. volume이 다 지워져서 골치 아프다.

4. 멘토링

  • 2025년 8월 25일 금요일 19:00 - 21:00 (2h)
  • 참여자: 김효원 멘토님, 최성장, 고범석, 지형우, 안수민

1. RAG 고도화

현재 진행 상황

  • 부서별 필터링 후 RAG 검색으로 문서 추출.
  • 파일 업로드 기능은 미완성(주석 처리), UI는 완성됨.

피드백

  1. RAG 고도화 추가 진행 필요.
  2. RAG 뒷단 프롬프트 설계 중요 → 버전 관리 및 별도 파일 구성 권장 (하드 코딩 말고)
    • 특히 현재는 영어 질의 시에도 한글 응답됨. 프롬프트에 “사용자 언어로 답변” 규칙 추가가 필요함.
  3. 메타데이터 활용 방식 고민
    • 메타데이터는 필터링의 기준에 불과한가? 파일 경로가 들어가야 할까?
    • 메타데이터와의 키 매핑이 아니라 검색에 필요한 키 매핑을 정하는 것도 좋음.
    • 굳이 RAG 데이터가 메타데이터 안에 들어가 있을 필요는 없음.
    • 메타데이터가 하위 키를 가지는 방식도 괜찮음. 예시: metadata.xxx
    • 메타데이터 구성은 정해진 답이 없으니 여러 방식을 고려해보는 것이 좋음.

2. 영수증 처리

현재 진행 상황

  • upstage 모델 활용해 테스트한 결과 8~10초 소요. 빠르고 정확하다고 판단함.
  • Django 앱 통신 방식으로 개발 중임.
  • celery 활용 여부 고민 중임.

💡 멘토님의 의견
- celery는 비동기 구현 뿐만 아니라 큐(queue)를 활용하여 다중 사용자를 한번에 처리할 수 있다는 장점이 있음. celery 사용 시 task 처리에 대한 모니터링이 필요함. 속도 향상이 목적이라면 celery를 굳이 안 써도 괜찮음.
- Dask는 파이썬에서 병렬 및 분산 컴퓨팅을 위한 유연한 라이브러리로, 대규모 데이터셋의 처리와 복잡한 계산을 빠르게 수행할 수 있도록 도와줌. 실제로 요즘 pandas 잘 안 쓰고 dask나 numpy 같은 거 씀.


3. 기타 피드백 및 논의 사항

OCR 활용 기능 추가 검토

  • OCR을 어떻게 더 발전 시킬 수 있을까? 추가할 수 있는 대상과 기능이 더 있다면 고민해보기.
  • RAG도 새로운 기능 고민해보기.

문서 요약 기능 추가 고려

  • STT 제외하더라도 문서 요약 기능 구현 고려하면 좋을 듯함.
  • 회의록 문서 요약에서 확장 시 회의록 메일 송신도 가능.

사용자 화면 제안

  • 자주 하는 질문/예시 질문은 버튼을 만들어 사용자가 입력하지 않아도 바로 질의가 가능하게 하는 기능.
  • 채팅 입력 상단 부분에 NAVI 로고 같은 것을 채워 넣으면 화면이 덜 허전할 것으로 기대됨. 예시: 챗지피티 초기 화면
  • 질문 출력 중 중지 기능, 중지한 상태에서 질문 수정: 난이도 있는 구현으로 예상됨.

4. 다음 회의: 프롬프트 인젝션

0개의 댓글