sgcWebSockets 2023.3.0부터 OpenAI API가 완전히 지원돼요.
OpenAI API는 자연어, 코드, 이미지를 이해하거나 생성하는 거의 모든 작업에 적용할 수 있어요. OpenAI는 다양한 작업에 적합한 여러 수준의 모델 스펙트럼을 제공할 뿐만 아니라 자체 맞춤 모델을 파인튜닝할 수 있는 기능도 제공해요. 이러한 모델은 콘텐츠 생성부터 의미 기반 검색과 분류에 이르기까지 모든 용도로 사용할 수 있어요.
인증
OpenAI API는 인증에 API 키를 사용해요. API 키 페이지를 방문해 요청에 사용할 API 키를 가져오세요.
API 키는 비밀이라는 점을 기억하세요! 다른 사람과 공유하거나 클라이언트 측 코드(브라우저, 앱)에 노출하지 마세요. 프로덕션 요청은 환경 변수나 키 관리 서비스에서 API 키를 안전하게 로드할 수 있는 자체 백엔드 서버를 통해 라우팅해야 해요.이 API 키는 컴포넌트의 OpenAIOptions.ApiKey 속성에 설정해야 해요. 선택적으로, 여러 조직에 속한 사용자의 경우, 계정이 조직에 속해 있다면 OpenAIOptions.Organization 속성에 조직을 설정할 수 있어요.
OpenAI 모델
API 키를 설정한 후, 아래에서 OpenAI API와 상호작용할 수 있는 함수 목록을 확인하세요.
ModelsAPI에서 사용 가능한 다양한 모델을 나열하고 설명해요.
- GetModels: 현재 사용 가능한 모델을 나열하고, 소유자와 가용성 같은 각 모델의 기본 정보를 제공해요.
- GetModel: 모델 인스턴스를 가져오고, 소유자와 권한 같은 모델의 기본 정보를 제공해요.
- Model: 이 요청에 사용할 모델의 ID예요
Completions
프롬프트가 주어지면, 모델은 하나 이상의 예측된 완성을 반환하며, 각 위치의 대체 토큰 확률도 반환할 수 있어요.
- CreateCompletion: 제공된 프롬프트와 매개변수에 대한 완성을 생성해요
- Model: 사용할 모델의 ID예요. List models API를 사용해 사용 가능한 모든 모델을 보거나, Model 개요에서 모델 설명을 확인할 수 있어요.
- Prompt: 완성을 생성할 프롬프트예요.
Chat
채팅 대화가 주어지면, 모델은 채팅 완성 응답을 반환해요.
- Model: 사용할 모델의 ID예요. GetModels를 호출해 Chat API가 지원하는 모든 모델 목록을 가져오세요.
- Message: 채팅 완성을 생성할 메시지예요.
- Role: 기본값은 user이며, 다른 옵션은 system, assistant예요.
Edits
프롬프트와 지침이 주어지면, 모델은 편집된 버전의 프롬프트를 반환해요.
- CreateEdit: 제공된 입력, 지침, 매개변수에 대한 새 편집을 생성해요.
- Model: 사용할 모델의 ID예요. 이 엔드포인트에서는 text-davinci-edit-001 또는 code-davinci-edit-001 모델을 사용할 수 있어요.
- Instruction: 프롬프트를 어떻게 편집할지 모델에 알려주는 지침이에요.
- Input: (선택) 편집의 시작점으로 사용할 입력 텍스트예요.
프롬프트 및/또는 입력 이미지가 주어지면, 모델은 새 이미지를 생성해요.
- CreateImage: 프롬프트로 이미지를 생성해요.
- Prompt: 원하는 이미지에 대한 텍스트 설명이에요. 최대 길이는 1000자예요.
- CreateImageEdit: 원본 이미지와 프롬프트로 편집되거나 확장된 이미지를 생성해요.
- Image: 편집할 이미지예요. 4MB 미만의 정사각형 유효한 PNG 파일이어야 해요. 마스크가 제공되지 않으면 이미지에 투명도가 있어야 하며, 이것이 마스크로 사용돼요.
- Prompt: 원하는 이미지에 대한 텍스트 설명이에요. 최대 길이는 1000자예요.
- CreateImageVariations: 주어진 이미지의 변형을 생성해요.
- Image: 변형의 기반으로 사용할 이미지예요. 4MB 미만의 정사각형 유효한 PNG 파일이어야 해요.
Embeddings
머신 러닝 모델 및 알고리즘이 쉽게 사용할 수 있는 입력에 대한 벡터 표현을 가져와요.
- CreateEmbeddings: 입력 텍스트를 나타내는 임베딩 벡터를 생성해요.
- Model: 사용할 모델의 ID예요.
- Input: embeddings를 가져올 입력 텍스트예요.
Audio
오디오를 텍스트로 변환해요.
- CreateTranscriptionFromFile: 파일명에서 오디오를 입력 언어로 전사해요
- Model: 사용할 모델의 ID예요. 현재 whisper-1만 사용 가능해요.
- Filename: 전사할 오디오 파일이며, 다음 형식 중 하나여야 해요: mp3, mp4, mpeg, mpga, m4a, wav, webm.
- CreateTranscription: X초 동안 오디오를 녹음하고 전사해요.
- Model: 사용할 모델의 ID예요. 현재 whisper-1만 사용 가능해요.
- Time: 밀리초 단위 시간이며, 기본값은 10초예요.
- CreateTranslationFromFile: 오디오를 영어로 번역해요.
- Model: 사용할 모델의 ID예요. 현재 whisper-1만 사용 가능해요.
- Filename: 번역할 오디오 파일이며, 다음 형식 중 하나여야 해요: mp3, mp4, mpeg, mpga, m4a, wav, webm.
- CreateTranslation: X초 동안 오디오를 녹음하고 번역해요.
- Model: 사용할 모델의 ID예요. 현재 whisper-1만 사용 가능해요.
- Time: 밀리초 단위 시간이며, 기본값은 10초예요.
Files
Files는 파인튜닝 같은 기능에서 사용할 수 있는 문서를 업로드하는 데 사용돼요.
- ListFiles: 사용자 조직에 속한 파일 목록을 반환해요.
- UploadFile: 다양한 엔드포인트/기능에서 사용할 문서를 포함한 파일을 업로드해요. 현재 한 조직이 업로드한 모든 파일의 크기는 최대 1GB까지 가능해요.
- Filename: 업로드할 JSON Lines 파일의 이름이에요. 용도가 "fine-tune"으로 설정된 경우, 각 줄은 학습 예제를 나타내는 "prompt"와 "completion" 필드를 가진 JSON 레코드예요.
- Purpose: 업로드된 문서의 의도된 용도예요. 파인튜닝에는 "fine-tune"을 사용하세요.
- DeleteFile: 파일을 삭제해요.
- FileId: 이 요청에 사용할 파일의 ID예요
- RetrieveFile: 특정 파일에 대한 정보를 반환해요.
- FileId: 이 요청에 사용할 파일의 ID예요
- RetrieveFileContent: 지정된 파일의 내용을 반환해요
- FileId: 이 요청에 사용할 파일의 ID예요.
Fine-Tunes
특정 학습 데이터에 맞춰 모델을 조정하는 파인튜닝 작업을 관리해요.
- CreateFineTune: 주어진 dataset에서 지정된 모델을 파인튜닝하는 작업을 생성해요. 응답에는 작업 상태와 완료 후 파인튜닝된 모델의 이름을 포함한 큐에 추가된 작업의 세부 정보가 포함돼요.
- TrainingFile: 학습 데이터를 포함한 업로드된 파일의 ID예요.
- ListFineTunes: 조직의 파인튜닝 작업을 나열해요
- RetrieveFineTune: 파인튜닝 작업에 대한 정보를 가져와요.
- FineTuneId: 파인튜닝 작업의 ID예요
- CancelFineTune: 파인튜닝 작업을 즉시 취소해요.
- FineTuneId: 파인튜닝 작업의 ID예요
- ListFineTuneEvents: 파인튜닝 작업에 대한 세분화된 상태 업데이트를 가져와요.
- FineTuneId: 파인튜닝 작업의 ID예요
- DeleteFineTuneModel: 파인튜닝된 모델을 삭제해요. 조직에서 Owner 역할을 가지고 있어야 해요.
- Model: 삭제할 모델이에요.
Moderations
입력 텍스트가 주어지면, 모델이 OpenAI의 콘텐츠 정책을 위반한다고 분류하는지 여부를 출력해요.
- CreateModeration: 텍스트가 OpenAI의 콘텐츠 정책을 위반하는지 분류해요
- Input: 분류할 입력 텍스트예요
OpenAI 예제
아래에서 OpenAI API를 사용해 Delphi로 빌드한 애플리케이션의 몇 가지 예제를 확인하세요
2. OpenAI Transcription Delphi Client
3. Translate OpenAI Delphi Client
4. Image Generator OpenAI Delphi Client
아래에서 Delphi sgcWebSockets 라이브러리를 사용해 Windows용으로 빌드된 OpenAI API 클라이언트 샘플을 확인하세요. API의 주요 메서드를 보여줘요.
