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の技術、ブランド、知的財産の所有権を主張するものではありません。