Developer guide
ひと目でわかる
ひと目でわかる
このドキュメントはCLEVI開発者ドキュメントの出発点です。Clevi-X-Platformの構成、APIで呼び出せる2つのモデル、認証方式、リクエストとレスポンスの形式をまとめて説明します。リクエストとレスポンスはOpenAI Chat Completions形式に従っているため、既存のOpenAI SDKではbase_urlとapi_keyの2つの値を変更するだけで接続できます。インストールなしで最初の呼び出しまで進める手順はQuick Startドキュメントにあります。
プラットフォーム構成
Clevi-X-Platformは、モデル、エージェント、セマンティックデータベース、フィジカルAIを1つの実行環境に配置します。このうち、開発者が現在HTTPで直接呼び出せるのはモデル層です。その他の層はプラットフォーム内部とコンソールで動作し、公開APIの範囲は以下の表に示すとおりです。
| 層 | 扱うもの | 現在の公開範囲 |
|---|---|---|
| モデル | テキストと画像の入力を受け取り、応答トークンを生成 | chat completionsエンドポイントで公開 |
| エージェント | 目的指向の推論、ツール呼び出し、段階的な根拠の生成 | コンソールおよびプレイグラウンド |
| セマンティックDB | ドキュメント・画像・図面・業務データを意味単位で接続 | コンソール |
| フィジカルAI | ロボットの動作計画と再計画 | 導入単位で協議 |
モデルラインアップ
リクエスト本文のmodelフィールドに、以下の2つの名前のいずれかをそのまま入力します。2つのモデルは同じアドレス、同じ認証、同じリクエスト形式を使用します。
- cip-5.5-im
- cip-5.5-mm
| モデル | 特性 | 入力 | 主な用途 |
|---|---|---|---|
| cip-5.5-im | マルチモーダル検索・知識化 | テキスト、画像、ドキュメント、図面 | 意味ベースの検索、知識の接続、ロボットの動作計画支援 |
| cip-5.5-mm | マルチモーダル推論 | テキスト、画像、複合コンテキスト | 研究・分析クエリ、ツール呼び出し、多段階タスク |
cip-5.5-im
文書、画像、図面、業務データを意味単位でつなぎ、検索結果と知識構造を作ります。Physical AI の計画策定と再計画の段階で入力を解釈する際にも、同じモデルを使います。内部識別子には RB-IM が使われ、API では cip-5.5-im のみが有効な名前です。
cip-5.5-mm
テキストと画像、さらに複数の文書にまたがる複合的なコンテキストをまとめて読み取り、回答を生成します。ツール呼び出しや業務フローの実行を含む Agentic な作業に合わせて調整されたモデルです。
モデルを選ぶ
| 行いたいこと | 選ぶモデル |
|---|---|
| 社内文書や図面から根拠となる段落を探す | cip-5.5-im |
| 検索結果を意味ベースでつなぎ、知識化する | cip-5.5-im |
| ロボット作業計画の入力を解釈する | cip-5.5-im |
| 画像とテキストを同時に読み取り判断する | cip-5.5-mm |
| ツール呼び出しが必要な多段階の作業 | cip-5.5-mm |
| 複数の文書をまとめた分析回答を作成する | cip-5.5-mm |
その他のモデル
プラットフォームには以下のモデルもあります。デプロイ形態とアクセス経路がそれぞれ異なるため、公開 API 名は別途ご案内します。
| モデル | 特性 |
|---|---|
| Cip-5-X | 段階ごとの根拠を提示するマルチモーダル複合分析モデル |
| Cip-5-Agent | 状況に応じた意思決定と反復業務の処理を担うエージェント特化型推論モデル |
| Cip-5-Vision | 画像・動画・テキスト・時系列を同時に解釈するビジョンモデル |
| Ivy-3-Text | 小型端末とエッジ環境で動作するオンデバイス軽量 LLM |
| Ivy-4-mm | テキスト・画像・音声を同時に処理する大規模 non-reasoning モデル |
基本情報と認証
キーはワークスペース単位で発行し、リクエストごとに Authorization ヘッダーへ Bearer として付与します。以下の表にある6つの値を設定すれば、初回呼び出しに必要な準備は完了です。
| 項目 | 値 |
|---|---|
| 基本アドレス | https://platform.clevi.net/api/services/v1/aiservice/openai/v1 |
| 認証ヘッダー | Authorization: Bearer sk-... |
| リクエスト本文の形式 | application/json |
| リクエスト・レスポンス仕様 | OpenAI Chat Completions 互換 |
| 呼び出し可能なモデル | cip-5.5-im, cip-5.5-mm |
| キー発行画面 | https://clevi.app/cloud/keys |
表と例の sk-... は発行されたキーを入力する場所です。以下のコマンドで環境変数に設定しておくと、このドキュメントの例をそのままコピーして実行できます。
export CLEVI_API_KEY="sk-..."POST /api/services/v1/aiservice/openai/v1/chat/completions
メッセージ配列とモデル名を受け取り、モデルが生成した1つのメッセージを choices 配列に含めて返します。完全なアドレスは https://platform.clevi.net/api/services/v1/aiservice/openai/v1/chat/completions です。messages には少なくとも1つのメッセージオブジェクトを含める必要があり、各オブジェクトは role と content を持ちます。
| 名前 | 形式 | 必須 | 説明 |
|---|---|---|---|
| model | string | はい | cip-5.5-im または cip-5.5-mm |
| messages | array | はい | 会話メッセージオブジェクトの配列。最低1つ |
| messages[].role | string | はい | system · user · assistant のいずれか |
| messages[].content | string | はい | メッセージ本文 |
| stream | boolean | いいえ | true の場合、レスポンスを server-sent events の断片に分けて受信します |
| max_tokens | integer | いいえ | レスポンスで生成する最大トークン数 |
| temperature | number | いいえ | 値が大きいほど、同じリクエストで異なるレスポンスが生成される可能性が高くなります |
curl https://platform.clevi.net/api/services/v1/aiservice/openai/v1/chat/completions \
-H "Authorization: Bearer $CLEVI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "cip-5.5-mm",
"messages": [
{"role": "system", "content": "사내 문서를 요약하는 도우미로 답한다."},
{"role": "user", "content": "이 API 의 인증 방식을 한 문장으로 설명해 줘."}
]
}'# pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["CLEVI_API_KEY"],
base_url="https://platform.clevi.net/api/services/v1/aiservice/openai/v1",
)
completion = client.chat.completions.create(
model="cip-5.5-mm",
messages=[
{"role": "system", "content": "사내 문서를 요약하는 도우미로 답한다."},
{"role": "user", "content": "이 API 의 인증 방식을 한 문장으로 설명해 줘."},
],
)
print(completion.choices[0].message.content)// npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.CLEVI_API_KEY,
baseURL: "https://platform.clevi.net/api/services/v1/aiservice/openai/v1",
});
const completion = await client.chat.completions.create({
model: "cip-5.5-mm",
messages: [
{ role: "system", content: "사내 문서를 요약하는 도우미로 답한다." },
{ role: "user", content: "이 API 의 인증 방식을 한 문장으로 설명해 줘." },
],
});
console.log(completion.choices[0].message.content);{
"id": "chatcmpl-7d21b4e0",
"object": "chat.completion",
"created": 1755500000,
"model": "cip-5.5-mm",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Authorization 헤더에 Bearer 와 발급받은 API 키를 넣어 인증합니다."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 38,
"completion_tokens": 24,
"total_tokens": 62
}
}レスポンスフィールド
レスポンスは最上位フィールド6つで構成されます。生成された文章は choices 配列の最初の要素内にあり、トークン使用量は usage にあります。
| 名前 | 形式 | 説明 |
|---|---|---|
| id | string | 1件のリクエストを示す識別子。エラーに関する問い合わせ時に併せて伝えます |
| object | string | chat.completion。ストリーミングの断片は chat.completion.chunk |
| created | integer | レスポンスを作成した時刻の Unix 秒 |
| model | string | レスポンスを作成したモデル名 |
| choices | array | 生成結果の配列 |
| choices[].index | integer | 配列内での順番。0から始まります |
| choices[].message.role | string | assistant |
| choices[].message.content | string | 生成されたレスポンス本文 |
| choices[].finish_reason | string | 生成が停止した理由。最後まで生成した場合は stop |
| usage.prompt_tokens | integer | 入力に使用したトークン数 |
| usage.completion_tokens | integer | 生成したトークン数 |
| usage.total_tokens | integer | 上記2つの値の合計 |
エラー
失敗したリクエストは HTTP ステータスコードで原因を知らせます。まず以下の対処を確認し、同じコードが繰り返される場合はレスポンスの id とリクエスト時刻を記録しておいてください。
| コード | 意味 | 対処 |
|---|---|---|
| 400 | リクエスト本文の形式が正しくありません | model と messages があるか、JSON が閉じているか確認します |
| 401 | キーがないか、無効です | ヘッダーが Bearer で始まっているか、キーの値がそのままコピーされているか確認します |
| 403 | このキーではアクセスできません | キーを発行したワークスペースと、リクエストしたモデル名を確認します |
| 404 | パスがありません | URL の末尾が /v1/chat/completions になっているか確認します |
| 429 | 短時間にリクエストが集中しました | 再試行間隔を倍にして再送します |
| 500 | サーバー側のエラーです | 同じリクエストを再送し、繰り返し発生する場合はサポートチームにリクエスト時刻を伝えます |
デプロイ形態
同じモデルをクラウド API とオンプレミスインストールの2種類で使用します。リクエスト形式と認証方式はどちらの場合も同じですが、URL とキー管理画面が異なります。
| 項目 | クラウド API | オンプレミス |
|---|---|---|
| 基本 URL | platform.clevi.net | インストールしたプライベートネットワークの URL |
| キーの発行 | https://clevi.app/cloud/keys | インストール環境の管理者コンソール |
| 認証方式 | Bearer トークン | Bearer トークン |
| データの保管場所 | CLEVI クラウド | 顧客インフラ内 |
データガバナンス
プラットフォームでは、以下の4つを基本動作としています。ワークスペースを分ける基準を決める際に、あわせて確認してください。
- 権限ベースの制御 — ワークスペース単位でアクセス権限とキーを分けます。
- 隔離された作業領域 — ワークスペース間でデータが混在しません。
- リアルタイムデータ接続 — 外部システムと接続したデータを、参照時点で取得します。
- プロセスごとの記録保持 — 実行した作業単位で記録を残します。
開始手順
初めて接続する場合は、以下の手順で進めてください。3番まで完了すると、1つのキーで両方のモデルを呼び出せます。
- https://platform.clevi.net/account/login でログインまたはアカウントを作成します。
- https://clevi.app/cloud でワークスペースを追加します。
- https://clevi.app/cloud/keys でキーを発行し、環境変数に保存します。
- https://clevi.app/cloud/playground で cip-5.5-im と cip-5.5-mm の応答を比較します。
- Quick Start ドキュメントのリクエスト例をコピーして、最初の呼び出しを送信します。
