반응형
ChatGPT 연결과 OpenAI API를 통해 GPT-4 모델과의 대화 시도
코드는 OpenAI의 GPT 모델들과 상호 작용하기 위한 JavaScript 코드의 예시입니다. 코드의 각 부분을 자세히 살펴봅니다.
import OpenAI from 'openai';
- 'openai' 라이브러리를 가져와서
OpenAI
라는 이름으로 사용하겠다는 선언입니다. 이 선언에 앞서 라이브러리는 설치되어 있어야 합니다. 설치 방법은 'pip install openai'로 가능합니다.
- 'openai' 라이브러리를 가져와서
const openai = new OpenAI({ apiKey: process.env['OPENAI_API_KEY'], });
- 여기서는
OpenAI
클래스의 인스턴스를 생성하고, 이 인스턴스를openai
라는 상수(const)에 할당합니다. const는 재할당이 안됩니다. - 생성자에 전달된 객체
{ apiKey: process.env['OPENAI_API_KEY'] }
는 환경변수에서 OpenAI의 API 키를 읽어와 객체의apiKey
속성에 할당합니다. API 키는 매우 중요하기 때문에 외부로 노출돼서는 안 됩니다. 이 경우는 시스템의 환경변수로 등록하여 봉합해서 사용한다는 의미입니다. 'env'는 의미상 'envelope'에서 나온 메서드입니다. - 환경변수란 운영 체제 레벨에서 관리되는 동적으로 할당된 값을 의미하며,
process.env
는 Node.js에서 이러한 환경변수에 접근할 수 있는 객체입니다. OPENAI_API_KEY
는 실제 API 키를 저장하는 환경변수의 이름입니다.
- 여기서는
async function main() { ... }
async
키워드가 붙은 함수main
을 선언합니다.async
키워드는 함수 내부에서await
를 사용할 수 있게 해주며, 이는 비동기 작업을 동기적으로 처리할 수 있게 해 줍니다.
const chatCompletion = await openai.chat.completions.create({ ... });
openai
인스턴스의chat.completions.create
메서드를 호출하여, 챗봇과의 대화 완성(completion)을 생성합니다.- 이 메서드는 비동기적으로 작동하므로, 결과가 반환될 때까지 기다리기 위해
await
를 사용합니다. - 메서드에 전달된 객체는
messages
배열을 포함하고, 이 배열 안에는 사용자 역할과 콘텐츠가 포함된 단일 메시지 객체가 있습니다. 여기서 사용자가 'Say this is a test'라고 말한 것처럼 설정되어 있습니다. model: 'gpt-4'
는 사용할 모델을 GPT-4로 지정합니다. 물론 다른 모델을 선택할 수 있습니다.
main();
main
함수를 호출하여 실행합니다. 이 호출로 인해 정의된 비동기 작업이 실행되며, 결과적으로 OpenAI API를 통해 GPT-4 모델과의 대화가 시도됩니다.
정리
이 코드는 환경변수에서 API 키를 읽어 OpenAI 클라이언트 인스턴스를 생성하고, main
함수를 통해 GPT-4 모델을 사용하여 간단한 대화를 시도하는 예제입니다. 이것이 확대되면 더 복잡한 대화가 가능해집니다.
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
[파이썬과 데이터분석] 파이썬이 데이터 분석에 적합한 이유 (42) | 2024.04.05 |
---|---|
[용서 프로젝트] OpenAI API를 통한 파이썬 프로그램 GUI 적용 (37) | 2024.03.28 |
[용서 프로젝트] OpenAI Node API Library 활용 API 연결 (40) | 2024.03.24 |
[Django] 장고 프로젝트에서 블로그 앱 만들기 (45) | 2024.03.22 |
[장고] 일반 사용자 추가 (47) | 2024.03.21 |
댓글