/
kewerborliert
/
AIStorage
Обзор
Документация
Войти
/
kewerborliert
/
AIStorage
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Controllers/LuaController.cs
74 строки
2 KB
kewerborliert
Добавьте файлы проекта.
08 авг 2026, 13:12
08 авг 2026, 13:12
6ba0536
Код
Авторство
О чём код?
using AIStorage.Services; using Microsoft.AspNetCore.Mvc; namespace AIStorage.Controllers; [ApiController] [Route("[controller]")] public class LuaController : ControllerBase { [HttpPost("execute")] public async Task<IActionResult> ExecuteScript([FromBody] LuaScriptRequest request) { if (string.IsNullOrWhiteSpace(request.Script)) { return BadRequest("Script cannot be empty"); } var result = await LuaService.Execute(service => { return service.ExecuteUserScript(request.Script, request.Service); }); if (result == null) { return Ok(new { result = (string?)null }); } // Определяем, является ли результат XML или обычной строкой if (result.TrimStart().StartsWith("<")) { return Content(result, "application/xml"); } return Content(result, "text/plain"); } [HttpGet("info")] public IActionResult GetInfo() { var xml = @"<?xml version=""1.0"" encoding=""utf-8""?> <dsl> <internal_space> <function name=""http_request""> <param name=""endpoint"" type=""string""/> <param name=""data"" type=""table"" nullable=""true""/> <return type=""table""/> </function> </internal_space> <external_space> <function name=""tllm_request""> <param name=""model"" type=""string""/> <param name=""prompt"" type=""string""/> <param name=""std_params"" type=""table"" nullable=""true""> <param name=""temp"" type=""float"" nullable=""true""/> <param name=""top_p"" type=""float"" nullable=""true""/> <param name=""top_k"" type=""int"" nullable=""true""/> <param name=""rep_pen"" type=""float"" nullable=""true""/> <param name=""max_length"" type=""int"" nullable=""true""/> </param> <param name=""cst_params"" type=""table"" nullable=""true""/> <return type=""string""/> </function> </external_space> </dsl>"; return Content(xml, "application/xml"); } } public class LuaScriptRequest { public string Script { get; set; } = string.Empty; public string? Service { get; set; } }