05. AI API 서버 제작

2024. 11. 9. 22:20·Web/코테 준비용 서비스 만들기
목차
  1. AI API 서버 구조도
  2. AI-API 서비스 상세 내용
  3. 1. Optimizator

AI API 서버 구조도

 

AI API 서버 구조도

 

위 구조는 app.py를 중심으로 각 구성 요소가 연결되는 방식이다. 각 구성 요소는 다음과 같은 역할을 수행한다.

  • app.py: 전형적인 REST API 서버의 컨트롤러 역할을 하며, 클라이언트의 코드 최적화 요청을 받아 처리한다. 클라이언트에서 전달된 코드를 Optimizator 서비스로 전달하여 최적화된 코드를 받아 반환한다.
  • Optimizator: 코드 최적화 로직의 핵심 서비스 계층이다. OpenAI API와 통신하여 코드 리팩터링을 요청하고, 최적화된 코드를 응답받아 클라이언트에 제공한다.
  • OpenAI API: AI 모델을 활용하여 코드 최적화 요청을 처리하는 외부 서비스이다. Optimizator는 프롬프트를 통해 최적화 요청을 전송하며, OpenAI의 응답을 통해 최적화된 코드와 제안 사항을 받는다.

이 구조는 Optimizator에서 AI를 활용해 코드 최적화 로직을 처리할 수 있도록 설계되어 있으며, 확장성 및 유지보수성에 유리하다. 추가적인 최적화 옵션이나 AI 모델을 지원하려면 Optimizator 서비스에서 요청 로직을 확장하거나 다른 프롬프트 형식을 추가하여 쉽게 기능을 확장할 수 있다.

 

AI-API 서비스 상세 내용

1. Optimizator

Optimizator 클래스는 OpenAI API를 활용하여 코드 최적화를 수행하는 핵심 서비스 계층으로, 클라이언트가 요청한 코드에 대해 성능을 개선하고 메모리 효율성을 높이는 방식으로 리팩터링을 제공한다. 주요 메서드는 다음과 같다.

1.1 __init__

  • 기능: 환경 변수를 로드하여 OpenAI API 클라이언트를 초기화한다.
  • 구현:
    • .env 파일에서 API 키를 로드하고, OpenAI 클라이언트를 생성하여 self.client에 저장한다.
    • 기본 경로에서 .env 파일을 불러올 수 없을 경우, /config/.env 경로에서 다시 시도하여 API 키를 불러온다.

1.2 optimize_code

  • 기능: OpenAI API에 코드 최적화 요청을 전송하고, 최적화된 코드 결과를 반환한다.
  • 구현:
    • code_snippet 매개변수로 전달된 코드를 최적화하기 위해, GPT-3.5 모델에 프롬프트를 전송한다.
    • 프롬프트에서는 AI 모델에게 코드의 시간 및 메모리 효율성을 높이도록 요청하며, 한국어 주석을 통해 변경 사항을 설명하도록 지시한다.
    • OpenAI API의 응답으로 최적화된 코드 결과를 받아 반환한다.

이 클래스는 AI를 활용하여 클라이언트가 작성한 코드의 성능을 개선하고 최적화된 결과를 제공하는 역할을 수행한다. optimize_code 메서드는 OpenAI API와의 상호작용을 통해 클라이언트의 코드를 자동으로 리팩터링하며, 시간과 메모리 효율성을 최우선으로 개선하는 데 중점을 둔다.

저작자표시 비영리 변경금지 (새창열림)

'Web > 코테 준비용 서비스 만들기' 카테고리의 다른 글

07. API Gateway 서버 제작 (2)  (1) 2024.11.11
06. API Gateway 서버 제작 (1)  (0) 2024.11.10
04. 코드 API 서버 제작  (1) 2024.11.08
03. 스크래핑 API 서버 제작  (0) 2024.11.07
02. 서비스를 구상해보자!  (3) 2024.10.29
  1. AI API 서버 구조도
  2. AI-API 서비스 상세 내용
  3. 1. Optimizator
'Web/코테 준비용 서비스 만들기' 카테고리의 다른 글
  • 07. API Gateway 서버 제작 (2)
  • 06. API Gateway 서버 제작 (1)
  • 04. 코드 API 서버 제작
  • 03. 스크래핑 API 서버 제작
뚝딱뚝딱2
뚝딱뚝딱2
  • 뚝딱뚝딱2
    개발도상국
    뚝딱뚝딱2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 공부
        • Java
        • Spring Boot
        • LORA
      • Web
        • 인스타 클론 코딩
        • GPT 응답 API 서버
        • Spring Boot 예외 처리
        • 코테 준비용 서비스 만들기
      • DevOps
        • 쿠버네티스
        • 서버 만들기
      • 코딩테스트
        • 알고리즘
      • 교육
        • 스파르타코딩클럽 - 내일배움단
        • 혼자 공부하는 컴퓨터 구조 운영체제
      • 잡다한것
  • 블로그 메뉴

    • 홈
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    OpenAI API
    인스타그램
    클론코딩
    티스토리챌린지
    스프링 부트
    MSA
    Java
    react
    스프링부트
    리액트
    클러스터
    예외
    REST API
    mapstruct
    chat GPT
    쿠버네티스
    백준
    오블완
    Entity
    spring boot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
뚝딱뚝딱2
05. AI API 서버 제작
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.