Spring

ChatGPT API 적용하기

hongdangmoo 2023. 6. 2. 01:26

-> 커뮤니티를 만드는 프로젝트를 진행하는 중 chatgpt를 통해 사용자의 질문을 받는 기능이 있으면 좋을 것 같아 OpenAI의 API를 사용하여 chatgpt 기능을 구현하고자 하였다.

 

-> 아래 사이트에 접속한다.

 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

- build.gradle에 의존성을 주입한다.

implementation 'com.theokanning.openai-gpt3-java:service:0.12.0'

- 발급받은 API key를 yml파일에 적용한다.

spring:
  profiles:
    include: API-KEY
  openai:
    api-key: 발급받은 API key
  chatgpt:
    api-key: 발급받은 API key

-> 여기서 입력하는 API key는 외부에 노출되어서는 안된다.

 

◎ Completion & ChatCompletion

-> 텍스트를 통한 chatgpt활용에서 completion과 chatCompletion을 지원한다.

-> Completion : prompt(본문)을 제공하면 해당 본문에 대한 답변을 주는 방식이다. 이 방식은 이전 내용에 대해 기록을 하지 않아 채팅 처럼 사용할 수 없다. 

-> Chat : message를 제공하면 답변을 주는 방식에 이전 내용에 대한 기록이 존재하여 채팅처럼 사용할 수 있다.

-> chatgpt를 서비스에 사용하려는 이유가 사용자의 질문을 받기 위한 용도기 때문에 채팅보다는 질문에 대한 답변을 받는 게 더 취지에 맞다고 생각하여 Completion 방식을 사용하였다.

 

-> 시간적인 여유가 없어 서비스에는 적용하지 못했다. 나중에 시간적 여유가 있으면 추가로 적용하던가 다른 프로젝트를 진행할 때 적용해 볼 예정이다.

 

◎ 코드 적용

https://github.com/seunghyun711/Chatgpt

 

GitHub - seunghyun711/Chatgpt: chatgpt API 적용

chatgpt API 적용. Contribute to seunghyun711/Chatgpt development by creating an account on GitHub.

github.com

 

★ 참고

https://joecp17.tistory.com/72?category=1034519

https://platform.openai.com/docs/api-reference/introduction