- 계속해서 사용자가 증가하는 Open LLM에 비해 비교적 보안에 대한 개념은 취약하다.
- 다양한 기업들에서 Open LLM 사용에 대한 규제가 존재 혹은 사용금지 사항.
- 보안 사항들을 지키면서 Open LLM를 사용하는 방법은 없을까?라는 의문에서 출발하였다.
- 각 기업의 보안 규정에 맞는 커스텀 LLM를 제공하는 방법.
- 기업에서는 생성형 AI에 대해 투자하는 금액이 증가하는 추세지만 처음부터 사내용 LLM를 구축하는데 비용과 시간이 많이 소비된다.
- 3번같은 이유로 기업들은 대부분 이미 오픈소스로 구축되어있는 AI모델을 가져와서 미세조정하는 방식을 택한다.
⇒ 검열 AI를 학습 시키고, 생성형 AI와 통신 사이에 검열 AI를 거쳐서 정보 보안을 실현하자!
- 회원가입
- 회원 유형을 일반,회사 관리자와 직원으로 구분하여 회원가입을 진행.
- 휴대폰 번호 SMS 인증 및 이메일 인증 코드 검증을 통해 보안성 강화.
- 회사 코드의 발급을 통해 직원 가입 시, 관리자가 입력한 회사명과 회사 부서명을 기반으로 가입 진행.
- 로그인
- JWT와 ***RTR(Refresh Token Rotation)***기법으로 보안성 강화.
- Spring Security의 SecurityFilterChain 을 적용하여 안전한 인증 시스템 구축.
- Zustand를 통해 상태 관리.
- 다양한 LLM 모델 지원
Claude
: claude-3-5-haiku 모델.GPT
: GPT-4o-mini 모델.Gemini
: Gemini-1.5-flash 모델.
- 보안 파일 업로드
-
관리자 회원은 사내 주요 보안 문서를 업로드 가능.
텍스트 OR 파일(csv, pdf, txt)
-
업로드한 내용은 DB에 저장되지 않고 Python AI 서버로 직접 전송.
-
회사별 맞춤 보안 검열 AI는 직접 데이터를 학습하지 않고 ***차분 프라이버시(Differential Privacy)***를 통해 학습.
-
위의 과정들을 통해 회사 AI의 학습이 완료되고 회사별 맞춤형 보안 검열 서비스 제공.
-
- LLM 채팅
- 3가지 LLM 모델을 활용한 실시간 채팅 제공.
- 각 모델별로 독립된 채팅 환경을 구성하여 사용자 편의성 향상.
- 최근 대화 4개 조회 및 미리보기 기능 지원.
- 왼쪽 사이드 바에는 이전 대화 키워드 리스트 존재, 클릭하여 채팅방 이동 가능.
- 일반 회원: 기본 검열 모델을 적용하여 필터링된 질문 가능.
- 관리자 및 직원 회원: 회사별 맞춤 검열 AI 적용 후 질문 가능.
- 마이페이지
- 관리자 계정은 소속 회사의 직원 정보 조회 가능
- 조회 가능 항목 : 이름,이메일,직책
- 회원 이름을 기반으로 검색 기능 제공.
- 안전한 회원 탈퇴 기능 제공.
- 로그아웃 기능 제공.
- 관리자 계정은 소속 회사의 직원 정보 조회 가능
- 아이디 찾기 및 비밀번호 재설정
- 아이디 찾기 - 가입한 유저의 휴대폰 번호로 가입한 이메일의 일부 값을 SMS 전송.
- 비밀번호 재설정 - 가입한 이메일로 랜덤한 임시 비밀번호 전송.
디자이너 | 프론트엔드 | 백엔드 | 백엔드 | AI |
---|---|---|---|---|
김가현 | 안현석 @nyeonseok |
김도연 @tkv00 |
박재성 @pjs1710 |
이형준 @lhj010217 |
Main | SignUp |
---|---|
![]() |
![]() |
SignUp-일반인 | SignUp-관리자 |
---|---|
![]() |
![]() |
SignUp-직원 | Login |
---|---|
![]() |
![]() |
Find ID | Find PW |
---|---|
![]() |
![]() |
Select LLM Page | Recent Chat |
---|---|
![]() |
![]() |
Claud Chat | GPT-4o-mini Chat |
---|---|
![]() |
![]() |
Gemini Chat | File Upload |
---|---|
![]() |
![]() |
My Page | Company Employees Page |
---|---|
![]() |
![]() |
- Remix
- TypeScript
- Zustand
- AWS CloudFront
- AWS Lamda
- Java
- Spring Boot
- JPA
- Redis
- AWS EC2
- Github Actions
- AWS Code Deploy
- MySQL
- Spring Security
- QueryDSL
- junit5
- Python
- BERT Classifier
- TensorFlow
- Opacus
- PyTorch
- Unicorn
- FastAPI
- AWS EC2
- Docker
- Slack
- Jira
- Discord