Simplified custom model flow with canonical models (#6934)
This commit is contained in:
@@ -1259,6 +1259,78 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/config/provider-catalog": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"super::routes::config_management"
|
||||
],
|
||||
"operationId": "get_provider_catalog",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "format",
|
||||
"in": "query",
|
||||
"description": "Filter by provider format (openai, anthropic, ollama)",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Provider catalog retrieved successfully",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ProviderCatalogEntry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Invalid format parameter"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/config/provider-catalog/{id}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"super::routes::config_management"
|
||||
],
|
||||
"operationId": "get_provider_catalog_template",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "Provider ID from models.dev",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Provider template retrieved successfully",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ProviderTemplate"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Provider not found in catalog"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/config/providers": {
|
||||
"get": {
|
||||
"tags": [
|
||||
@@ -4107,6 +4179,10 @@
|
||||
"base_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"catalog_provider_id": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
@@ -5702,6 +5778,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ModelCapabilities": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"tool_call",
|
||||
"reasoning",
|
||||
"attachment",
|
||||
"temperature"
|
||||
],
|
||||
"properties": {
|
||||
"attachment": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reasoning": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"temperature": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"tool_call": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ModelConfig": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
@@ -6003,6 +6102,34 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ModelTemplate": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"name",
|
||||
"context_limit",
|
||||
"capabilities",
|
||||
"deprecated"
|
||||
],
|
||||
"properties": {
|
||||
"capabilities": {
|
||||
"$ref": "#/components/schemas/ModelCapabilities"
|
||||
},
|
||||
"context_limit": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"deprecated": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ParseRecipeRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
@@ -6110,6 +6237,42 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ProviderCatalogEntry": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"name",
|
||||
"format",
|
||||
"api_url",
|
||||
"model_count",
|
||||
"doc_url",
|
||||
"env_var"
|
||||
],
|
||||
"properties": {
|
||||
"api_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"doc_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"env_var": {
|
||||
"type": "string"
|
||||
},
|
||||
"format": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"model_count": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ProviderDetails": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
@@ -6190,6 +6353,48 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ProviderTemplate": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"name",
|
||||
"format",
|
||||
"api_url",
|
||||
"models",
|
||||
"supports_streaming",
|
||||
"env_var",
|
||||
"doc_url"
|
||||
],
|
||||
"properties": {
|
||||
"api_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"doc_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"env_var": {
|
||||
"type": "string"
|
||||
},
|
||||
"format": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"models": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ModelTemplate"
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"supports_streaming": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ProviderType": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
@@ -7952,6 +8157,10 @@
|
||||
"api_url": {
|
||||
"type": "string"
|
||||
},
|
||||
"catalog_provider_id": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user