OpenAI Assistant 컴포넌트 — sgcAI | eSeGeCe

OpenAI Assistant

TsgcAIOpenAIAssistant는 OpenAI Assistants API를 감싼 컴포넌트입니다. 지침과 도구를 갖춘 어시스턴트를 만들고, 스레드를 열어 메시지를 보낸 다음, 블로킹 또는 스트리밍 방식으로 실행을 시작하세요. File Search와 Code Interpreter, 직접 정의한 함수는 속성으로 설정합니다.

TsgcAIOpenAIAssistant

OpenAI Assistants API 기반의 상태를 유지하는 에이전트입니다. 어시스턴트와 스레드, 메시지, 실행, 벡터 저장소를 관리하고 도구 호출을 사용자 코드로 전달합니다.

컴포넌트 클래스

TsgcAIOpenAIAssistant

용도

OpenAI Assistants API 에이전트

플랫폼

Win32와 Win64

sgcAI는 자체 완결형 제품입니다. 이 컴포넌트는 기반이 되는 sgcWebSockets Core 런타임과 함께 sgcAI에 포함되어 제공되므로, 별도로 구매해야 할 기본 라이선스가 없습니다.

어시스턴트를 만들고 스레드 실행하기

어시스턴트를 설정하고 스레드를 열어 메시지를 보낸 다음 실행하세요. 스트리밍 실행은 답변이 생성되는 동안 이벤트를 발생시킵니다.

uses
  sgcAI, sgcAI_OpenAI_Audio_Assistant;

var
  oAssistant: TsgcAIOpenAIAssistant;
  oThread: TsgcOpenAIClass_Thread;
begin
  oAssistant := TsgcAIOpenAIAssistant.Create(nil);
  oAssistant.OpenAIOptions.ApiKey := 'sk-...';

  oAssistant.AssistantOptions.Name  := 'Support Agent';
  oAssistant.AssistantOptions.Model := 'gpt-4o';
  oAssistant.AssistantOptions.Instructions.Text :=
    'Answer support questions from the product manual only.';
  oAssistant.AssistantOptions.Tools.FileSearch.Enabled := True;

  oAssistant.OnStreamMessageDelta := AssistantDelta;
  oAssistant.OnFunctionCall       := AssistantFunctionCall;

  oAssistant.CreateAssistant;
  oThread := oAssistant.CreateThread;
  oAssistant.CreateMessageText(oThread.Id, 'How do I reset the device?');
  oAssistant.CreateRunAndWait(oThread.Id, 60000, True);
end;
// includes: sgcAI.hpp, sgcAI_OpenAI_Audio_Assistant.hpp

TsgcAIOpenAIAssistant *oAssistant = new TsgcAIOpenAIAssistant(NULL);
oAssistant->OpenAIOptions->ApiKey = "sk-...";

oAssistant->AssistantOptions->Name  = "Support Agent";
oAssistant->AssistantOptions->Model = "gpt-4o";
oAssistant->AssistantOptions->Tools->FileSearch->Enabled = true;

oAssistant->OnStreamMessageDelta = AssistantDelta;
oAssistant->CreateAssistant();

TsgcOpenAIClass_Thread *oThread = oAssistant->CreateThread();
oAssistant->CreateMessageText(oThread->Id, "How do I reset the device?");
oAssistant->CreateRunAndWait(oThread->Id, 60000, true);

주요 속성 & 메서드

가장 자주 사용하게 되는 멤버들입니다.

AssistantOptions

Name, Model, Instructions, Temperature, TopP가 어시스턴트를 정의합니다. Tools.FileSearch, Tools.CodeInterpreter, Tools.Functions로 내장 도구와 직접 만든 도구를 활성화합니다.

어시스턴트

CreateAssistant, GetAssistant, ListAssistants로 OpenAI 계정에 있는 어시스턴트 정의를 관리합니다.

스레드와 메시지

CreateThreadGetThread로 대화를 시작합니다. CreateMessageText는 한 턴을 전송하고, GetMessages는 limit, order, 커서 인자로 대화 내용을 페이지 단위로 가져옵니다.

실행

CreateRun이 실행을 시작하고, GetRun이 상태를 확인하며, CreateRunAndWait는 타임아웃까지 블로킹 방식으로 완료를 기다립니다. 모두 스트리밍으로 사용할 수 있습니다.

UploadVectorStoreFile로 지정한 벡터 저장소에 문서를 추가하고, GetVectorStoreFiles로 이미 들어 있는 파일을 확인합니다. 어시스턴트는 이렇게 보유한 파일에 근거해 답변합니다.

이벤트

OnStreamMessage, OnStreamMessageDelta, OnStreamRun, OnStreamError, OnStreamDone이 스트리밍 실행을 따라갑니다. OnFunctionCall은 도구 호출을 사용자 코드로 전달합니다.

음성 프런트엔드

이 컴포넌트는 AudioRecorderTextToSpeech 연결도 지원하므로, 같은 어시스턴트를 타이핑 대신 음성으로 사용할 수 있습니다.

사양 & 참고 자료

이 컴포넌트가 사용하는 서비스와 프로토콜의 공식 자료입니다.

계속 살펴보기

온라인 도움말sgcAI 컴포넌트의 전체 API 레퍼런스와 사용 안내서.
sgcAI 전체 컴포넌트15개 컴포넌트 전체의 기능 매트릭스를 살펴보세요.
무료 체험판 다운로드보유한 OpenAI 키로 도구를 사용하는 어시스턴트를 만들어 보세요.
가격Single, Team, Site 라이선스, 전체 소스 코드 포함, 기본 제품 불필요.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

시작할 준비가 되셨나요?

무료 체험판을 다운로드하고 도구와 보유 문서를 활용하는 에이전트를 애플리케이션에 더해 보세요.