Skip to content
@Malbit-Official

Malbit-Official

🎙️ 말빛 (Malbit)

< 2026 Capstone Design / Hansung University > 구음장애(Dysarthria) 및 언어 장애인을 위한 AI 기반 비즈니스 어시스턴트 & 발음 개선 훈련 통합 플랫폼


💡 서비스 개요

"말빛" 은 조음(발음)이 불분명한 사용자가 일상생활과 직장 환경에서 겪는 의사소통적 장벽을 해소하기 위해 개발된 융합 플랫폼입니다.

본 조직(Organization)은 말빛 서비스를 구성하는 다음 세 가지 핵심 인프라를 통합 관리하고 운영하는 공식 공간입니다

  • 📱 Frontend: Flutter 기반 크로스 플랫폼 모바일 애플리케이션
  • Backend: Java 21 / Spring Boot 3.2 기반 비즈니스·보안 인프라
  • 🐍 AI Server: Python / FastAPI 기반의 실시간 ASR & LLM(Claude 3) 추론 서버

🔗 Quick Links

🌐 배포 주소 📺 서비스 시연 영상
Malbit Web/API 서비스 바로가기 YouTube 시연 영상 보러가기

🏗️ 전체 시스템 아키텍처 (End-to-End Architecture)

대용량 음성 데이터 처리 및 고성능 AI 모델 추론 시 동시성 저하와 스레드 고갈을 예방하기 위해, 비즈니스 영역(Spring Boot)AI 추론 영역(FastAPI) 을 물리적으로 격리하고 비동기 논블로킹 파이프라인으로 연동했습니다.

graph TD
    %% Frontend Layer
    Flutter[Flutter Mobile Client <br> Android / iOS] 
    
    %% Backend Layer
    subgraph Spring Boot Backend [Spring Boot API Gateway & Business Server]
        Boot[Spring Boot Core <br> Java 21 / Boot 3.2.4]
        Security[Spring Security & JWT Filter]
        JPA[Spring Data JPA Engine]
    end
    
    %% AI Layer
    subgraph FastAPI AI Server [Python AI Inference Engine]
        Fast[FastAPI Service <br> Uvicorn / AsyncIO]
        
        subgraph Speech & LLM Pipeline
            Whisper[Faster-Whisper Inference <br> tepo6640/whisper-dysarthria-ko]
            Librosa[Librosa Audio Resampler <br> 16kHz Mono Standardizer]
            Bedrock[AWS Bedrock Client <br> Claude 3 Haiku Orchestrator]
        end
    end
    
    %% Infrastructure Layer
    DB[(MySQL Database)]

    %% Communications
    Flutter <-->|REST API / Bearer JWT| Security
    Security <--> Boot
    Boot <-->|Async Non-blocking WebClient| Fast
    
    %% AI Pipeline Flow
    Fast <--> Librosa
    Librosa <--> Whisper
    Fast <--> Bedrock
    
    %% Webhook Sync
    Fast -->|Async Webhook POST /api/calendar/manual| Boot
    
    %% Storage Flow
    Boot <--> JPA
    JPA <--> DB
Loading

아키텍처 데이터 흐름 (Data Flow)

  1. 음성 캡처 및 전송: Flutter 클라이언트가 모바일 네이티브 마이크를 제어해 무압축 고품질 음성을 녹음하고, JWT 인증 헤더를 동반한 Multipart HTTP 요청으로 Spring Boot 서버에 전송합니다.
  2. 비동기 AI 위임: Spring Boot 서버는 Security Filter를 통해 JWT 유효성을 검증한 후, 동기 스레드를 차단하지 않기 위해 Spring WebFlux WebClient를 사용하여 FastAPI AI 서버로 오디오 스트림을 비동기 전달합니다.
  3. 음향 모델 분석 (ASR): AI 서버는 librosa를 통해 음원을 16,000Hz, Mono 채널로 정규화한 뒤, 구음장애 음성에 파인튜닝된 Custom Whisper 모델을 통해 어휘 변형과 발음 꼬임이 반영된 원시 텍스트(Raw Text)로 전사합니다.
  4. 문맥 복원 및 의미 정제 (LLM): AWS Bedrock에 탑재된 Claude 3 Haiku에 정밀 구조화된 프롬프트를 주입하여, 부정확한 원시 텍스트에서 사용자의 발화 의도를 추론하고 정중한 비즈니스 톤앤매너 문장(Refined Text)으로 정제합니다.
  5. 회의록 다형성 파싱 & 캘린더 연동: 회의 분석 요청인 경우 요약본, 할 일(ToDo), 일정 등을 JSON 형태로 자동 파싱하며, 일정 데이터가 포함된 경우 FastAPI가 백엔드의 일정 생성 API(POST /api/calendar/manual)를 비동기 호출하여 캘린더에 실시간 연동합니다.

🛠️ 기술 스택 및 핵심 채택 이유 (Technology Stack)

Field Technology of Use
Cloud Infra AWS EC2 Ubuntu AWS Bedrock
Virtualization Docker Docker Compose
IDE IntelliJ IDEA VS Code Android Studio
API Postman Swagger
Design Figma
Language Java Python Dart
Frontend Flutter
Backend Spring Boot FastAPI
Database MySQL
Storage AWS S3
Key Tech Whisper Claude JWT FFmpeg GitHub Actions

📱 Frontend (Flutter & Dart)

  • Cross-Platform Single Codebase (Dart ^3.9.2): Android와 iOS 환경에서 동일한 UX 및 네이티브 수준의 성능을 구현하기 위해 채택.
  • State & Storage Protection: flutter_secure_storage를 이용해 액세스/리프레시 토큰 등의 민감 정보를 하드웨어 수준(Keystore/Keychain)에서 안전하게 평생 보존.
  • Audio Engineering: record 패키지와 path_provider를 활용해 기기 독립적인 파일 저장 경로 확보 및 무압축 음향 스트림 표준 포맷팅 구현.
  • TTS & STT Interaction: flutter_tts 엔진을 내장하여 시나리오 상황극 도중 AI 점원의 목소리를 생성하고 하이브리드 발음 훈련 루프 제공.

☕ Backend (Spring Boot & Java)

  • Java 21 LTS & Virtual Threads: 고부하 입출력 상황에서 가상 스레드를 활용해 스레드 생성 비용과 컨텍스트 스위칭 오버헤드를 극적으로 제거.
  • Spring WebFlux WebClient: 평균 5~15초가 소요되는 GPU/LLM 추론 구간 동안 Spring MVC 서블릿 스레드 고갈(Thread Starvation)을 원천 방어하고자 리액티브 논블로킹 HTTP 통신 채택.
  • Spring Security & Social OAuth2: 카카오 및 구글 소셜 간편 가입을 효율적으로 처리하고 무상태성 JWT 인증 체계 구축.
  • Spring Data JPA & MySQL: ORM 기술을 통한 객체-데이터베이스 패러다임 불일치 해결 및 영속성 컨텍스트(1차 캐시, 쓰기 지연) 성능 향상.

🐍 AI & Inference Engine (Python)

  • FastAPI & Uvicorn: 비동기 이벤트 루프(asyncio) 기반으로 고성능 파이썬 파일 스트리밍 API를 지원하여 높은 초당 처리량(TPS) 확보.
  • Faster-Whisper (ctranslate2): 원본 Whisper-medium 모델을 C++ 및 FP16/INT8 양자화 기반으로 변환하여, 기존 대비 GPU 메모리 점유율을 50% 이상 낮추고 추론 속도를 4배 이상 가속화.
  • AWS Bedrock Client (Claude 3 Haiku): 고성능 대형 언어 모델을 저지연, 저비용 서버리스 환경에서 오케스트레이션하여 구음장애 음성 복원 실시간성 보장.

🔍 기술적 심층 분석 (Deep Dive & Core Engineering)

1. 2단계 문맥 보정 파이프라인 (Two-Stage Contextual Correction)

구음장애(뇌병변, 설소대 장애 등) 환자의 음성은 조음 왜곡(Vowel Distortion), 자음 탈락(Consonant Omission), 그리고 단어 반복(Stammering) 패턴이 극심하여 일반적인 ASR 엔진의 인식률이 30% 이하로 급감합니다. 말빛은 이를 ASR 음향 분석LLM 언어 해석의 2단계 파이프라인으로 해결했습니다.

[구음장애 음성 입력] 
       │
       ▼ (1단계: 음향적 인식)
┌────────────────────────────────────────────────────────┐
│ Custom Fine-Tuned Faster-Whisper Model                 │
│ - whisper-medium 모델 기반 구음장애 데이터셋 미세 조정    │
│ - librosa 16kHz 다운샘플링, Repetition Penalty (1.1)    │
└────────────────────────────────────────────────────────┘
       │
       ▼ [원시 전사 텍스트 (Raw Text)]: "나.. 나 오늘 회의 시.. 십분 느저요.."
       │
       ▼ (2단계: 언어적 복원)
┌────────────────────────────────────────────────────────┐
│ AWS Bedrock (Claude 3 Haiku) Contextual Refiner        │
│ - Context-Aware Prompting 기반 비즈니스 어법 치환        │
│ - 음성 인식 왜곡 현상(Phonetic deformation) 지능적 복원  │
└────────────────────────────────────────────────────────┘
       │
       ▼ [정제된 보정 텍스트 (Refined Text)]: "죄송합니다. 오늘 회의에 10분 정도 늦을 것 같습니다."
  • ASR 하이퍼파라미터 최적화:
    • 중복 단어가 많은 언어 장애 특성을 위해 repetition_penalty=1.1를 적용하여 억제.
    • stride_length_s=5batch_size=8 구성을 통해 무음 구간 처리 및 오디오 분할 연산 효율 증대.
  • LLM 프롬프트 디자인 패턴: Contextual Prompting 기법을 적용하여 단순 텍스트 교정을 넘어 사용자가 지정한 톤앤매너(정중하게, 친근하게, 간결하게)에 맞는 완벽한 사회생활용 한국어 구어로 리포매팅합니다.

2. 리액티브 비동기 WebClient 통합 패턴

Spring Boot와 AI 서버 간의 결합도를 낮추고 처리량이 높은 논블로킹 파이프라인을 설계했습니다.

public Mono<RemasteringLogResponse> remaster(String email, MultipartFile audioFile, String preferredTone) {
    MultipartBodyBuilder bodyBuilder = new MultipartBodyBuilder();
    bodyBuilder.part("file", audioFile.getResource());
    if (preferredTone != null && !preferredTone.isBlank()) {
        bodyBuilder.part("preferred_tone", preferredTone);
    }

    return webClient.post()
            .uri("/api/analyze")
            .contentType(MediaType.MULTIPART_FORM_DATA)
            .body(BodyInserters.fromMultipartData(bodyBuilder.build()))
            .retrieve()
            .bodyToMono(AiServerResponseDto.class)
            .flatMap(aiRes -> {
                String raw = aiRes.getRawText() != null ? aiRes.getRawText() : "인식 내용 없음";
                String refined = aiRes.getRefinedText() != null ? aiRes.getRefinedText() : raw;
                
                // Reactive context 체인 내에서 비동기 DB 연동 및 영속화 처리
                return Mono.fromCallable(() -> {
                    userService.addCorrection(email, 50);
                    ConversationLog savedLog = conversationService.saveResult(email, raw, refined, 0L);
                    return new RemasteringLogResponse(savedLog.getLogId(), savedLog.getSttOrigin(), savedLog.getRefinedText(), 0);
                }).subscribeOn(Schedulers.boundedElastic()); // JDBC 블로킹 IO 격리
            });
}
  • 성능 효과: 기존 RestTemplate 사용 시 수십 명의 사용자가 동시에 음성 분석을 요청하면 톰캣의 작업 스레드 풀이 전부 SocketReadException을 겪으며 마비되는 임계 영역을 리액티브 이벤트 루프 기반의 WebClient를 도입함으로써 대기 스레드 '0'의 구조로 전환했습니다.

3. 다형성(Polymorphic) 회의록 분석 엔티티 스키마 설계

AI 서버가 추출하는 다차원 비즈니스 데이터(단순 요약, 의사결정 사항, 할 일 목록 등)를 하나의 관계형 DB 테이블 내에서 유연하게 수용할 수 있도록 다형성 메타 설계(Single Table & Key-Value Attribute Concept)를 구성했습니다.

       ┌──────────────┐
       │     LOG      │  (사용자의 분석 세션 메타 정보 기록)
       └──────┬───────┘
              │ 1
              │
              │ N
       ┌──────┴───────┐
       │  LOG_DETAIL  │  (AI 분석 결과의 다형성 분류 보존)
       └──────────────┘
         - type: [SUMMARY, DECISION, TODO]
         - content: Text
         - assignee: String (할 일인 경우 담당자 정보 매핑)

🗂️ 프로젝트 디렉토리 레이아웃 (Repository Structure)

malbit (Integrated Monorepo Root)
├── malbit_backend/               # ☕ Spring Boot Backend Repository
│   ├── src/main/java/com/example/demo/
│   │   ├── calendar/             # 캘린더 CRUD 및 AI 연동 스케줄 엔진
│   │   ├── conversation/         # 음성 대화 이력 및 대화 통계 관리
│   │   ├── entity/               # 전체 JPA 엔티티 정의 매핑 영역
│   │   ├── global/               # JWT Security, Exception Handler, Config
│   │   ├── log/                  # 다형성 회의 분석 로그 엔진
│   │   ├── remastering/          # 단문 교정 핵심 비즈니스 로직
│   │   ├── suggestion/           # 상황 피드백 제안 알고리즘
│   │   ├── training/             # 단계별 상황극 훈련 도메인
│   │   └── users/                # 사용자 및 OAuth2 회원 정보 관리
│   ├── malbit_ai/                # 🐍 FastAPI AI & Whisper Inference Server
│   │   ├── app.py                # FastAPI 웹 엔드포인트 핵심 컨트롤러
│   │   ├── core/                 # 모델 로더 및 환경 설정 파일
│   │   ├── services/             # Faster-Whisper ASR & Bedrock LLM 서비스
│   │   ├── utils/                # Librosa 오디오 변환 및 노이즈 필터 유틸
│   │   └── requirements.txt      # AI 구동을 위한 파이썬 모듈 명세
│   ├── Dockerfile                # Spring Boot 컨테이너 빌드 명세
│   └── build.gradle              # 백엔드 의존성 및 그레이들 빌드 스크립트
│
└── malbit_frontend/              # 📱 Flutter Frontend Repository
    ├── lib/
    │   ├── core/
    │   │   └── services/         # Token LocalStorage & HTTP Client API 연동
    │   └── features/
    │       ├── auth/             # 소셜 간편 로그인 & JWT 회원 등록
    │       ├── home/             # 대시보드 화면 및 주간 대화 추이 통계
    │       ├── main_navigation/  # 네비게이션 탭 라우터 컨트롤러
    │       ├── profile/          # 내 정보 관리 및 인지 장애 상태 설정
    │       ├── record/           # 업무 회의 녹음기 및 실시간 분석 모달
    │       ├── remaster/         # 단문 음성 교정 & 정제 화면
    │       ├── roleplay/         # 롤플레이(상황극 훈련) 스테이지 UI
    │       ├── template/         # 고정 템플릿 제안 탭
    │       └── voice_settings/   # 보이스 톤 설정 및 음향 셋업 화면
    └── pubspec.yaml              # 플러터 라이브러리 디펜던시 설정

🗄️ 데이터베이스 ERD (Database Diagram)

erDiagram
    USER ||--|| USER_STATISTICS : "has"
    USER ||--o{ LOG : "creates"
    LOG ||--o{ LOG_DETAIL : "contains"
    USER ||--o{ TRAINING_SESSION : "conducts"
    TRAINING_SESSION ||--o{ STEP_RESULT : "produces"
    SCENARIO_STEP ||--o{ STEP_RESULT : "evaluates"
    USER ||--o{ TASK : "manages"

    USER {
        Long id PK "Auto Increment"
        String email UK "Unique ID (JWT Subject)"
        String password "Bcrypt Encrypted"
        String name "Username"
        DisabilityType disabilityType "DYSARTHRIA | COGNITIVE | ETC"
        CognitiveLevel cognitiveLevel "LEVEL_1 | LEVEL_2 | LEVEL_3"
        JobType jobType "BARISTA | RETAIL | OFFICE"
    }
    USER_STATISTICS {
        Long id PK
        Long userId FK "User Target ID"
        int totalCorrectionCount "누적 단문 교정 건수"
        int totalSummaryCount "누적 회의 요약 분석 건수"
        int totalRoleplayCount "누적 훈련 수행 횟수"
    }
    LOG {
        Long id PK
        Long userId FK
        String title "녹음 분석본 제목"
        LocalDate date "생성일자"
        LocalTime startTime "녹음 시작 시각"
        String duration "전체 녹음 시간"
        LogType type "MEETING | MEMO"
    }
    LOG_DETAIL {
        Long id PK
        Long logId FK
        String content "텍스트 내용"
        DetailType type "SUMMARY | DECISION | TODO"
        String assignee "업무 대상자 (Todo 전용)"
    }
    TRAINING_SESSION {
        Long id PK
        Long userId FK
        Long categoryId FK
        Long currentStepId FK
        SessionStatus status "PROGRESS | COMPLETED | FAILED"
    }
    SCENARIO_STEP {
        Long id PK
        Long categoryId FK "직무 시나리오 ID"
        int stepOrder "수행 단계 정렬 번호"
        String currentSituation "상황 제시 안내 지문"
        String guestScript "AI 가상 고객 대사"
        String hintText "제시 힌트"
        String missionText "필수 발화 단어"
        String retryScript "오조음 시 재유도 대사"
    }
    STEP_RESULT {
        Long id PK
        Long sessionId FK
        Long stepId FK
        String rawText "사용자 날것 발음 전사본"
        String refinedText "유사성 복원 정제본"
        int score "발음 정확도 점수 (0-100)"
        boolean isPassed "도달 레벨 통과 여부"
    }
    TASK {
        Long id PK
        Long userId FK
        String content "일정 내용"
        String category "카테고리"
        LocalDateTime startAt "시작 일시"
        LocalDateTime endAt "종료 일시"
        boolean isCompleted "수행 완료 유무"
    }
Loading

🔌 핵심 API 가이드 (Core Interface Specification)

📸 Swagger 명세서 이미지 보기 (클릭)

image

image

image

image

image


1. 단문 보정 및 리마스터링 API

  • POST /api/remaster (Header: Authorization: Bearer <JWT_TOKEN>)
    • 설명: 단거리 음성 파일을 수신받아 고품질 톤앤매너 문장으로 리마스터링합니다.
    • 요청 (Multipart Form Data):
      • audio_file: binary (사용자 음성 레코딩 파일)
      • preferred_tone: string (선택 옵션: 정중하게, 공손하게, 간결하게)
    • 응답 (JSON):
      {
        "log_id": 50,
        "original_speech": "결제... 해줄... 거야?",
        "refined_text": "결제 도와드릴까요?",
        "latency_ms": 850
      }

2. 회의 분석 및 캘린더 연동 API

  • POST /api/remaster/analyze-meeting (Header: Authorization: Bearer <JWT_TOKEN>)
    • 설명: 다중 참여자 장문 음성을 텍스트화 및 고도 요약하여 캘린더에 연동합니다.
    • 요청 (Multipart Form Data):
      • audio_file: binary
    • 응답 (JSON):
      {
        "status": "SUCCESS",
        "message": "회의록 분석 및 일정 추출이 성공적으로 완료되었습니다.",
        "data": {
          "meetingId": "MEET_20260527_01",
          "rawText": "...오늘 기획안 회의 진행하겠습니다. 2분기 마케팅 시나리오 확정을 위해 6월 프로모션 진행 여부를 결정해야 합니다. 길동님은 마케팅 시안 최종 피드백을 내일 오전 10시부터 오후 6시까지 전달해 주세요. 의사결정 사항으로는 A안 시나리오를 바탕으로 신속 고도화하는 것으로 결정하겠습니다...",
          "summary": "2분기 마케팅 시나리오 확정 회의. 6월 프로모션 진행 여부 결정.",
          "checklists": [
            "A안 시나리오를 바탕으로 신속 고도화 결정"
          ],
          "schedules": [
            {
              "title": "마케팅 시안 최종 피드백 전달 (담당: 길동)",
              "category": "TODO",
              "date": "2026-05-28",
              "time": "10:00~18:00",
              "importance": "HIGH"
            }
          ],
          "latency": 4520
        }
      }

🚀 로컬 개발 셋업 & 실행 방법 (Quick Start Guide)

⚙️ 시스템 사전 요구사항

  • Java 21 JDK (Oracle JDK 또는 Temurin OpenJDK 권장)
  • Python 3.9 ~ 3.11
  • Flutter SDK 3.19.x 이상
  • FFmpeg: AI 오디오 파이프라인에서 입력 음향 데이터 코덱 변환을 지원하기 위해 OS Path 설정 필수.
    • MacOS: brew install ffmpeg
    • Windows: choco install ffmpeg 또는 빌드 바이너리 환경 변수 수동 추가.

1. Spring Boot 백엔드 서버 기동

  1. 디렉토리 이동 & 환경변수 설정
    cd malbit_backend
    • malbit_backend/.env 파일을 아래의 설정을 참조해 생성합니다.
  2. 빌드 및 실행
    # Gradle 캐시 정리 후 테스트 검증 건너뛰며 빌드
    ./gradlew clean build -x test
    
    # 실행형 애플리케이션 JAR 구동
    java -jar build/libs/demo-0.0.1-SNAPSHOT.jar

2. FastAPI AI 추론 서버 기동

  1. 디렉토리 이동
    cd malbit_backend/malbit_ai
  2. 가상환경(venv) 생성 및 모듈 주입
    # 가상환경 생성
    python -m venv venv
    
    # 가상환경 활성화 (Windows)
    .\venv\Scripts\activate
    # 가상환경 활성화 (Mac/Linux)
    source venv/bin/activate
    
    # 고성능 인프라 패키지 의존성 전체 인스톨
    pip install --upgrade pip
    pip install -r requirements.txt
  3. 서버 시작
    # 5000번 포트로 AI 서버 활성화 (핫 리로드 켬)
    uvicorn app:app --host 0.0.0.0 --port 5000 --reload

3. Flutter 모바일 앱 기동

  1. 디렉토리 이동
    cd malbit_frontend
  2. Flutter 종속성 패키지 동기화
    flutter pub get
  3. 타겟 디바이스 연결 확인 후 런칭
    # 에뮬레이터 또는 실기기 디바이스 확인
    flutter devices
    
    # 개발 모드 디버그 빌드 시작
    flutter run

🔒 환경 변수 설정 규격 (.env Blueprint)

☕ Spring Boot 설정 (malbit_backend/.env)

# 1. 로컬 데이터베이스 접속 정보 (MySQL 8.0 이상)
DB_URL=jdbc:mysql://localhost:3306/malbit?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
DB_USERNAME=your_db_id
DB_PASSWORD=your_db_password

# 2. JWT 토큰 대칭 암호화 키 (HS256 전용, 32자 이상 길이 권장)
JWT_SECRET=your_super_strong_secret_key_character_32_or_more

# 3. 소셜 로그인 OAuth2 통합 자격 증명 키
GOOGLE_CLIENT_ID=your_google_oauth2_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_google_oauth2_client_secret
KAKAO_CLIENT_ID=your_kakao_client_id
KAKAO_CLIENT_SECRET=your_kakao_client_secret

# 4. 연동대상 외부 AI 추론 서버 엔드포인트 URL
AI_SERVER_URL=http://localhost:5000

🐍 FastAPI AI 설정 (malbit_backend/malbit_ai/.env)

# 1. AWS Bedrock Claude API 연동용 AWS 자격 증명 키
AWS_ACCESS_KEY_ID=your_aws_iam_access_key
AWS_SECRET_ACCESS_KEY=your_aws_iam_secret_key
AWS_REGION=us-east-1

# 2. Bedrock 추론 모델 식별자
LLM_MODEL=anthropic.claude-3-haiku-20240307-v1:0

# 3. 음향 전사용 파인튜닝 Whisper 리포지토리 또는 허깅페이스 캐시 경로
MODEL_PATH=tepo6640/whisper-dysarthria-ko

# 4. 비동기 캘린더 웹훅 트리거용 Spring Boot API 서버 타겟 URL
BACKEND_URL=http://localhost:8080

🐳 Docker 컨테이너 프로덕션 배포 가이드

본 서비스는 클라우드 가상 서버 환경(AWS EC2 등)에서 컨테이너 기반으로 즉시 패키징 및 오케스트레이션이 가능하도록 설계되어 있습니다.

# 1. Spring Boot 백엔드 이미지 패키징
cd malbit_backend
docker build -t malbit-backend:v1.0 .
docker run -d -p 8080:8080 --env-file .env --name malbit-backend malbit-backend:v1.0

# 2. CUDA 기반 AI 서버 배포 (GPU 유효 환경 대상)
cd malbit_ai
docker build -t malbit-ai:v1.0 .
docker run -d -p 5000:5000 --gpus all --env-file .env --name malbit-ai malbit-ai:v1.0

📄 License & Contact

  • License: MIT License
  • Contact: [Malbit Developer Team] - Capstone Design Project

Popular repositories Loading

  1. malbit_frontend malbit_frontend Public

    Dart

  2. malbit_backend malbit_backend Public

    Java

  3. .github .github Public

    HTML

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…