GET /v1/models からモデルカタログを読み取れます。フィルターは省略可能です。
const models = await client.getModels({
provider: ["anthropic"],
provider_status: ["beta", "not_ready"],
provider_availability_reason: ["preview_only", "provider_not_ready"],
capability_status: ["coming_soon", "internal_testing"],
availability: "all",
});
models = client.get_models({
"provider": ["anthropic"],
"provider_status": ["beta", "not_ready"],
"provider_availability_reason": ["preview_only", "provider_not_ready"],
"capability_status": ["coming_soon", "internal_testing"],
"availability": "all",
})
client, err := phaseo.NewFromEnv()
if err != nil {
panic(err)
}
models, err := client.GetModels(context.Background(), map[string]string{
"provider": "anthropic",
"provider_status": "beta,not_ready",
"provider_availability_reason": "preview_only,provider_not_ready",
"capability_status": "coming_soon,internal_testing",
"availability": "all",
"limit": "10",
})
if err != nil {
panic(err)
}
fmt.Println(models["models"])
using PhaseoSdk;
var client = new Phaseo();
var models = await client.ListModels(new Dictionary<string, string>
{
["provider"] = "anthropic",
["provider_status"] = "beta,not_ready",
["provider_availability_reason"] = "preview_only,provider_not_ready",
["capability_status"] = "coming_soon,internal_testing",
["availability"] = "all",
["limit"] = "10",
});
<?php
require 'vendor/autoload.php';
use Phaseo\Sdk\Phaseo;
$client = new Phaseo();
$models = $client->listModels([
'provider' => 'anthropic',
'provider_status' => 'beta,not_ready',
'provider_availability_reason' => 'preview_only,provider_not_ready',
'capability_status' => 'coming_soon,internal_testing',
'availability' => 'all',
'limit' => 5,
]);
echo "Found " . count($models['models'] ?? []) . " models\n";
require 'phaseo_sdk'
client = PhaseoSdk::Phaseo.new
models = client.list_models(
provider: 'anthropic',
provider_status: 'beta,not_ready',
provider_availability_reason: 'preview_only,provider_not_ready',
capability_status: 'coming_soon,internal_testing',
availability: 'all',
limit: 10
)
import app.phaseo.sdk.Phaseo;
import java.util.HashMap;
import java.util.Map;
Phaseo client = new Phaseo(System.getenv("PHASEO_API_KEY"));
Map<String, String> query = new HashMap<>();
query.put("limit", "10");
query.put("provider", "anthropic");
query.put("provider_status", "beta,not_ready");
query.put("provider_availability_reason", "preview_only,provider_not_ready");
query.put("capability_status", "coming_soon,internal_testing");
query.put("availability", "all");
var models = client.listModels(query);
System.out.println(models);
| 言語 | メソッド | 複数値のフィルター |
|---|---|---|
| TypeScript | client.getModels(filters) または client.models.list(filters) | 配列 |
| Python | client.get_models(filters) または client.models.list(filters) | リスト |
| Go | map[string]string を渡す client.GetModels(ctx, query) | カンマ区切りの文字列 |
| C# | Dictionary<string, string> を渡す client.ListModels(query) | カンマ区切りの文字列 |
| PHP | $client->listModels($params) | カンマ区切りの文字列 |
| Ruby | client.list_models(...) | カンマ区切りの文字列 |
| Java | Map<String, String> を渡す client.listModels(query) | カンマ区切りの文字列 |
| Rust | ヘルパーはありません。client.request("GET", "/models?<filters>", None, &RequestOptions::default()) を呼び出します | クエリ文字列内のカンマ区切りの文字列 |
一覧を絞り込む
フィルターはすべて省略可能で、どの SDK でも同じ名前です。これらはクエリパラメーターです。| フィルター | 絞り込みの対象 |
|---|---|
provider、organisation | プロバイダーまたはモデルの組織 |
endpoints、input_types、output_types、params | 対応するエンドポイント、モダリティ、リクエストパラメーター |
status、provider_status、provider_routing_status、model_routing_status、capability_status、provider_availability_status、provider_availability_reason | ライフサイクルとルーティングの状態 |
availability | all に設定すると、ルーティングできないモデルも含めます |
limit、offset | ページング |
availability を all に設定して残りも含め、そのうえで絞り込みます。
provider_availability_reasonは、preview_only、provider_not_ready、gated、access_limited、region_limited、project_limited、paused、soft_blockedなどの展開状態を選びます。capability_statusは、coming_soonやinternal_testingなど、まだルーティングできないエンドポイントの対応付けを選びます。
1 つのモデルを確認する
checkParameters とそれに相当するメソッドは、ライブのプロバイダールートのメタデータを読み取り、各パラメーターを supported、partial、unsupported、unknown のいずれかに分類し、公表されている値と範囲を確認して、パラメーター全体を受け付けるプロバイダールートを返します。preflight はリクエスト本文全体について同じことを行い、モデルのライフサイクルの確認を加えて、全体の ok を返します。
| 言語 | 機能 | パラメーターの確認 | プリフライト | ライフサイクル |
|---|---|---|---|---|
| TypeScript | models.capabilities(modelId) | models.checkParameters(modelId, values, { endpoint, provider }) | models.preflight(request, { endpoint, provider }) | models.validate(modelId) は { ok, info, reason } を返します。models.getDeprecationInfo(modelId) |
| Python | models.capabilities(model_id) | models.check_parameters(model_id, values, endpoint=..., provider=...) | models.preflight(request, endpoint=..., provider=...) | models.validate(model_id)、models.get_deprecation_info(model_id) |
| Go(次のリリース) | GetModelEndpointCapabilities | CheckModelParameters | PreflightRequest | ValidateModel、GetModelDeprecationInfo(公開済み) |
| C#(次のリリース) | GetModelEndpointCapabilities(modelId) | CheckModelParameters(modelId, values) | PreflightRequest | ValidateModel、GetModelDeprecationInfo(公開済み) |
| PHP(次のリリース) | getModelEndpointCapabilities | checkModelParameters(...) | preflightRequest | validateModel、getModelDeprecationInfo(公開済み) |
| Ruby(次のリリース) | model_endpoint_capabilities | check_model_parameters(model_id, values) | preflight_request | validate_model、get_model_deprecation_info(公開済み) |
| Java(ソースビルド) | getModelEndpointCapabilities(modelId, query) | checkModelParameters(modelId, values, options) | preflightRequest(request, options) | validateModel、getModelDeprecationInfo |
Rust(0.2.0 にはありません) | Phaseo::model_endpoint_capabilities(...) | Phaseo::check_model_parameters(...) | なし | なし |
active、deprecated、retired)、非推奨日と廃止日、後継モデルの ID を返します。
レスポンス
ModelListResponse:
{
"ok": true,
"limit": 50,
"offset": 0,
"total": 123,
"models": [
{
"model_id": "openai/gpt-4o-mini",
"name": "GPT-4o Mini",
"release_date": "2024-07-18",
"status": "active",
"organisation_id": "openai",
"aliases": ["gpt-4o-mini"],
"endpoints": ["chat/completions", "responses"],
"input_types": ["text"],
"output_types": ["text"],
"providers": [
{
"api_provider_id": "openai",
"params": ["temperature", "max_tokens"]
}
]
}
]
}