add regional converter

This commit is contained in:
2026-04-10 18:10:38 +04:00
parent dec08d5809
commit de3b5854c8
7 changed files with 628 additions and 181 deletions

168
www/app_openapi.json Normal file
View File

@@ -0,0 +1,168 @@
{
"openapi": "3.1.0",
"info": { "title": "Product Matcher UI", "version": "1.0.0" },
"servers": [{ "url": "/app" }],
"paths": {
"/health": {
"get": {
"summary": "Health",
"operationId": "health_health_get",
"responses": {
"200": {
"description": "Successful Response",
"content": { "application/json": { "schema": {} } }
}
}
}
},
"/": {
"get": {
"summary": "Home",
"operationId": "home__get",
"responses": {
"200": {
"description": "Successful Response",
"content": { "text/html": { "schema": { "type": "string" } } }
}
}
}
},
"/search": {
"post": {
"summary": "Search Form",
"operationId": "search_form_search_post",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Body_search_form_search_post"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": { "text/html": { "schema": { "type": "string" } } }
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/HTTPValidationError" }
}
}
}
}
}
},
"/api/search": {
"post": {
"summary": "Search Api",
"operationId": "search_api_api_search_post",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SearchRequest" }
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": { "application/json": { "schema": {} } }
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/HTTPValidationError" }
}
}
}
}
}
}
},
"components": {
"schemas": {
"Body_search_form_search_post": {
"properties": {
"query_text": {
"type": "string",
"title": "Query Text",
"default": "песчано-гравийная смесь фракция 0-40"
},
"top_k": { "type": "integer", "title": "Top K", "default": 20 },
"use_rerank": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "Use Rerank"
},
"rerank_strategy": {
"type": "string",
"title": "Rerank Strategy",
"default": "lexical"
}
},
"type": "object",
"title": "Body_search_form_search_post"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": { "$ref": "#/components/schemas/ValidationError" },
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"SearchRequest": {
"properties": {
"query_text": {
"type": "string",
"title": "Query Text",
"default": "песчано-гравийная смесь фракция 0-40"
},
"top_k": {
"type": "integer",
"maximum": 1000.0,
"minimum": 1.0,
"title": "Top K",
"default": 20
},
"use_rerank": {
"type": "boolean",
"title": "Use Rerank",
"default": false
},
"rerank_strategy": {
"type": "string",
"title": "Rerank Strategy",
"default": "lexical"
}
},
"type": "object",
"title": "SearchRequest"
},
"ValidationError": {
"properties": {
"loc": {
"items": { "anyOf": [{ "type": "string" }, { "type": "integer" }] },
"type": "array",
"title": "Location"
},
"msg": { "type": "string", "title": "Message" },
"type": { "type": "string", "title": "Error Type" },
"input": { "title": "Input" },
"ctx": { "type": "object", "title": "Context" }
},
"type": "object",
"required": ["loc", "msg", "type"],
"title": "ValidationError"
}
}
}
}