メインコンテンツまでスキップ
バージョン: 20 R9 BETA

4D-AIKit

概要

4D AIKit は、サードパーティのAI API との相互通信を可能にするビルトインの4D コンポーネントです。

OpenAI

OpenAI クラスを使用すると、OpenAI API へのリクエストを行うことが可能になります。

設定

最初に、API キーを使用してOpenAI クライアントを初期化します。

var $client:=cs.AIKit.OpenAI.new("あなたの API キー")

互換性のあるプロバイダー API に対しては、 baseURL 引数を設定することでサーバーURL を設定することができます。

var $client:=cs.AIKit.OpenAI.new({apiKey: "あなたの API キー"; baseURL: "https://your.server.ai"})

または

$client.baseURL:="https://your.server.ai"

リクエストをする

OpenAI はリソースと呼ばれる様々なエンドポイントを提供していて、それぞれが色々な機能を提供しています。

var $result:=$client.<resource>.<function>(<parameters...>)

$result にはHTTPRequest と、success ステータス、そしてerrors コレクションなどが含まれます。 詳細については OpenAIResult を参照して下さい。

また以下の例題も参照して下さい。

チャット

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

チャット補完

https://platform.openai.com/docs/api-reference/chat/create

var $messages:=[{role: "system"; content: "You are a helpful assistant."}]
$messages.push({role: "user"; content: "Could you explain me why 42 is a special number"})
var $result:=$client.chat.completions.create($messages; {model: "gpt-4o-mini"})
// $result.choice に結果が戻される
チャットヘルパー

このヘルパーを使用すると、ユーザーメッセージの一覧とアシスタントの返答のリストを管理することができます。

var $helper:=$client.chat.create("You are a helpful assistant.")
var $result:=$helper.prompt("Could you explain me why 42 is a special number")
$result:=$helper.prompt("and could you decompose this number")
// $helper.messages 内に会話ログあり
ビジョンヘルパー

このヘルパーはチャットを通して画像解析を可能にします。

var $result:=$client.chat.vision.create($imageUrl).prompt("give me a description of the image")

画像

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

var $images:=$client.images.generate("A futuristic city skyline at sunset"; {size: "1024x1024"}).images

モデル

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

モデルの完全なリストを取得する例

var $models:=$client.models.list().models // その後 `id` を抽出します

IDを使用して一つのモデルの情報を取得する例

var $model:=$client.models.retrieve("a model id").model

モデレーション

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

var $moderation:=$client.moderations.create("This text contains inappropriate language and offensive behavior.").moderation

非同期コード

リクエストをAPI に送信する際にOpenAPI のレスポンスを待ちたくない場合には、非同期コードを使用する必要があります。 戻り値のオブジェクトはコールバック関数内に受け取られます。

詳細については例題の詳細なドキュメント を参照して下さい。

著作権

  • 本ライブラリは、いかなる方法においてもOpenAI と提携、支援、あるいは公式な連携をしていません。
  • 「OpenAI」および関連するマークは、OpenAI, LLC の商標または登録商標です。 OpenAI のサービス、API、技術に関するすべての権利は OpenAI に帰属します。
  • このプロジェクトはOpenAI のサービスへのインターフェースを提供するものにすぎず、OpenAIの技術、ブランド、知的財産の所有権を主張するものではありません。