데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      Flutter, Fast API 에서 LLM API 를 활용하기-1 (Bard-API vs OpenAI-API vs kakaoTrans)

      마법거북이 23.06.12
      5,067 13 6

      Flutter, Fast API 에서 LLM API 를 활용하는 법을 연재글로 작성해보려고 합니다.


      제가 해당 API를 활용한 이유는 해외 상품에 대한 한국어로 된 설명을 보거나 한국어 상품을 외국어로 보기 위해서 입니다.

      실제로 해당 API를 적용하여 U-delas 라는 이름으로 IOS 와 Android 에서 배포를 해둔 상태입니다

      현재는 Open AI (GhatGPT)의 gpt-3.5-trubo 모델을 사용하고 있습니다.

      어떻게 보면 조금 늦기도 했지만 실제로 적용해본 모델이라 관련된

      샘플 어플리케이션 코드 공유와 openai, bard api, kakaotrans 를 비교한 내용을 공유해 보고자 작성해 보게 되었습니다.

      정리를 하다 보니 내용이 많이 길어져서 3편으로 나누고자 합니다.

      1편 : 개요 및 환경설정 (email 전송 demo 코드 활용)

      • open ai API Key 생성하기

      • bard API Key 생성하기

      • github 에서 fast-api 코드 받고 환경셋팅

      • github 에서 flutter 코드 받고 환경 셋팅

      2편 : Fast-API 백엔드 구현 및 결과 보기

      • config 변경하기

      • 스키마 만들기

      • 라우터 만들기

      • Swagger 로 확인하기

      3편 : Flutter 프론트엔드 구현 및 결과 보기

      • gpt test screen 만들기

      • gpt_controller 만들기

      • app bar 및 drawer 메뉴 만들기

      • 총평

      “아래는 앞으로 공유할 예제 코드를 응용하여 openai , kakaoTrans를 활용해서 배포한 어플리케이션의 한 화면 입니다”

      fast-api_1.png



      이번 블로그에서 이야기 할 내용은 아래와 같습니다.


      1편 : 개요 및 환경설정 (email 전송 demo 코드 활용)

      • Bard API Key 생성하기

      • Open ai API Key 생성하기 (유료)

      • Github 에서 fast-api 코드 받고 환경셋팅

      • Github 에서 flutter 코드 받고 환경셋팅

      kakaotrans의 경우는 python 패키지로 제공합니다. 그래서 API KEY는 Bard 와 openAI만 각각 설정하겠습니다.

      openAI 의 경우는 유료이기 때문에, 과금을 피하고자 하시는 분들은 그냥 보기만 하셔도 됩니다


      Bard API Key 획득하기

      • Bard의 경우에는 브라우저에서 세션 정보를 통해 api key를 획득 할 수 있습니다.

      • bardapi key : 크롬 → 개발자도구 → application → session 또는 cookie → __Secure-1PSID

      • API 키의 마지막이 XXXX. 으로 마침표가 마지막에 들어갑니다. (BardAPI 참조하기 )

      • 무료 API KEY를 잘 저장해 둡니다

      image.png


      Open AI API키 생성하기

      • 해당 경우에는 빌링정보를 먼저 만들어야 되고, 만들면 5달러가 결제가 됩니다. API는 pricing 모델에 따라서 과금이 됩니다.

      • Open AI 접속 > 로그인 > 빌링정보 등록

      https://platform.openai.com/account/billing/payment-methods

      image.png

      • Usage Limits 등록 (매월 기준)

      image.png

      • API키 발급하기

      image.png

      이제 Fast-API 프로젝트를 셋팅해 보겠습니다.

      • 저는 IDE는 Pycharm 또는 VS Code 를 주로 사용합니다.

      • python 버전은 3.9 이상으로 셋팅해 주세요

      • github에서 이메일 보내기 예제 프로젝트를 clone 해 옵니다.

      • https://github.com/BTSQL/demo-fast-api

      git clone <https://github.com/BTSQL/demo-fast-api.git>
      • pip로 파이썬 패키지를 설치합니다

      pip install -r ./requirements.txt 
      # 또는 requirements.txt 없거나, 에러발생시 
      pip install requests uvicorn fastapi pydantic[email] kakaotrans
      • project root 디렉토리에서 .config_secret/setting_local.json 파일을 생성을 합니다. 각자 개인설정이므로 github에는 코드를 공유해 두지 않았습니다.

      {
        "email_api_key" : "{여기에는 email api key를 입력하세요}",
        "openai_header" : {
              "Content-Type" : "application/json",
              "Authorization": "Bearer {여기에는 openai api 키를 입력합니다}"
          },
        "bard_api_key" : "{여기에는 bard api 키를 입력합니다}"
      }
      
      예시 
      {
        "email_api_key" : "XAPEkdiekdi1234",
        "openai_header" : {
              "Content-Type" : "application/json",
              "Authorization": "Bearer skdltmqowjdghWkddlqslek."
          },
        "bard_api_key" : "qkemqkemQkem!!"
      }
      • 실행하고 Swagger 로 확인해 봅니다.

      uvicorn main:app --reload --port 9004

      http://localhost:9004/docs 접속하여 아래와 같이 나온다면 fast-api 환경 셋팅은 완료 입니다.

      image.png


      Flutter 셋팅하기

      git clone https://github.com/BTSQL/flutter-demo.git
      • pub get 실행합니다

      # flutter put get 또는 pubspec.yaml 파일을 재저장합니다. 
      # Resolving dependencies... 는 일단 skip 하고 넘어가도 됩니다. 
      devocean_flutter> flutter pub get 
      • 애뮬레이터에서 동작을 테스트해 봅니다

      image.png

      image.png

      • 아래와 같이 예전 화면이 보이면 되었습니다. 이제 다음 편에서 Fast-API 코드를 작성해 보겠습니다.

      image.png


      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      마법거북이 님의 최신 블로그

      더보기