238 lines
7.0 KiB
JSON
238 lines
7.0 KiB
JSON
{
|
|
"type": "object",
|
|
"properties": {
|
|
"model": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "anthropic",
|
|
"description": "Use Anthropic model"
|
|
},
|
|
"modelName": {
|
|
"type": "string",
|
|
"description": "The name of the model"
|
|
},
|
|
"secrets": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basePath": {
|
|
"type": "string",
|
|
"default": "https://api.anthropic.com",
|
|
"description": "The Anthropic base API url"
|
|
},
|
|
"apiKey": {
|
|
"type": "string",
|
|
"description": "The Anthropic API key"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The Anthropic API secrets config"
|
|
},
|
|
"temperature": {
|
|
"type": "number",
|
|
"description": "The temperature for the Anthropic model"
|
|
},
|
|
"maxTokens": {
|
|
"type": "number",
|
|
"description": "The maximum number of tokens for the Anthropic model"
|
|
},
|
|
"topP": {
|
|
"type": "number",
|
|
"description": "The top P value for the Anthropic model"
|
|
},
|
|
"topK": {
|
|
"type": "number",
|
|
"description": "The top K value for the Anthropic model"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "huggingFace",
|
|
"description": "Use Open AI model"
|
|
},
|
|
"modelName": {
|
|
"$ref": "#/properties/model/anyOf/0/properties/modelName"
|
|
},
|
|
"secrets": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basePath": {
|
|
"type": "string",
|
|
"description": "The base API url"
|
|
},
|
|
"apiKey": {
|
|
"type": "string",
|
|
"description": "The HuggingFace API key"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The HuggingFace API secrets config"
|
|
},
|
|
"temperature": {
|
|
"type": "number",
|
|
"description": "The temperature for the HuggingFace model"
|
|
},
|
|
"maxTokens": {
|
|
"type": "number",
|
|
"description": "The maximum number of tokens for the HuggingFace model"
|
|
},
|
|
"topP": {
|
|
"type": "number",
|
|
"description": "The top P value for the HuggingFace model"
|
|
},
|
|
"topK": {
|
|
"type": "number",
|
|
"description": "The top K value for the HuggingFace model"
|
|
},
|
|
"frequencyPenalty": {
|
|
"type": "number",
|
|
"description": "The frequency penalty for the HuggingFace model"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "openai",
|
|
"description": "Use OpenAI model"
|
|
},
|
|
"modelName": {
|
|
"$ref": "#/properties/model/anyOf/0/properties/modelName"
|
|
},
|
|
"secrets": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basePath": {
|
|
"type": "string",
|
|
"default": "https://api.openai.com/v1",
|
|
"description": "The OpenAI base API path"
|
|
},
|
|
"apiKey": {
|
|
"type": "string",
|
|
"description": "The OpenAI API key"
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The OpenAI organization"
|
|
},
|
|
"accessToken": {
|
|
"type": "string",
|
|
"description": "The OpenAI access token"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "The OpenAI API secrets config"
|
|
},
|
|
"temperature": {
|
|
"type": "number",
|
|
"description": "The temperature for the OpenAI model"
|
|
},
|
|
"maxTokens": {
|
|
"type": "number",
|
|
"description": "The maximum number of tokens for the OpenAI model"
|
|
},
|
|
"topP": {
|
|
"type": "number",
|
|
"description": "The top P value for the OpenAI model"
|
|
},
|
|
"frequencyPenalty": {
|
|
"type": "number",
|
|
"description": "The frequency penalty for the OpenAI model"
|
|
},
|
|
"presencePenalty": {
|
|
"type": "number",
|
|
"description": "The presence penalty for the OpenAI model"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
],
|
|
"description": "The LLM model configuration"
|
|
},
|
|
"includes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "string"
|
|
},
|
|
{},
|
|
{},
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The include patterns for filtering files"
|
|
},
|
|
"excludes": {
|
|
"$ref": "#/properties/includes",
|
|
"default": null,
|
|
"description": "The exclude patterns for filtering files"
|
|
},
|
|
"respectGitIgnore": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether to respect .gitignore rules"
|
|
},
|
|
"urlConfig": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"modelNames": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The model name that will be displayed in the model selector"
|
|
},
|
|
"httpRequestHeader": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"description": "Additional request headers are required"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"default": {},
|
|
"description": "Custom http request headers and models names for specific urls"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
} |