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

NameModelInstructionsTemperatureTopP でアシスタントを定義します。Tools.FileSearchTools.CodeInterpreterTools.Functions で組み込みツールと独自ツールを有効にします。

アシスタント

CreateAssistantGetAssistantListAssistants で、OpenAI アカウント上のアシスタント定義を管理します。

スレッドとメッセージ

CreateThreadGetThread で会話を開始します。CreateMessageText が 1 ターンを投稿し、GetMessages が limit、order、カーソルの各引数で履歴をページングします。

ラン

CreateRun がランを開始し、GetRun が状態をポーリングし、CreateRunAndWait がタイムアウト付きで完了までブロックします。いずれもストリーミングに対応します。

UploadVectorStoreFile は指定したベクトルストアにドキュメントを追加し、GetVectorStoreFiles は登録済みのファイルを一覧表示します。これによりアシスタントは自社のファイルに基づいて回答します。

イベント

OnStreamMessageOnStreamMessageDeltaOnStreamRunOnStreamErrorOnStreamDone がストリーミングのランを追跡します。OnFunctionCall はツール呼び出しをコード側にディスパッチします。

音声フロントエンド

このコンポーネントは AudioRecorderTextToSpeech のリンクも受け付けるため、同じアシスタントをキーボード入力ではなく音声で操作できます。

仕様と参考資料

このコンポーネントが利用するサービスとプロトコルの一次情報です。

さらに詳しく

オンラインヘルプsgcAI コンポーネントの完全な API リファレンスと利用ガイドです。
sgcAI の全コンポーネント15 コンポーネントすべての機能一覧を確認できます。
無料体験版をダウンロード自分の OpenAI キーで、ツールを使うアシスタントを構築できます。
価格Single、Team、Site の各ライセンス。完全なソースコード付き、基本製品は不要です。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

はじめてみませんか

無料体験版をダウンロードして、ツールと自社ドキュメントを備えたエージェントをアプリケーションに追加しましょう。