30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using System.Collections.Generic;
|
||
|
||
namespace VisionAsist.SDK;
|
||
|
||
public interface IModule
|
||
{
|
||
string Name { get; }
|
||
string Description { get; }
|
||
void Settings(object[] args);
|
||
// Возвращает список инструментов.
|
||
// Каждый инструмент описывает себя через JSON Schema.
|
||
List<ToolDefinition> GetTools();
|
||
|
||
// Выполняет инструмент.
|
||
// argumentsJson — это JSON объект с параметрами, который сгенерирeовал ИИ.
|
||
string Execute(string toolName, string argumentsJson);
|
||
}
|
||
|
||
public class ToolDefinition
|
||
{
|
||
// Имя функции (например, "get_weather")
|
||
public string Name { get; set; } = string.Empty;
|
||
|
||
// Описание для ИИ (что делает эта функция)
|
||
public string Description { get; set; } = string.Empty;
|
||
|
||
// Схема параметров в формате JSON Schema.
|
||
// Именно это поле мы будем скармливать нейросети.
|
||
public string ParametersSchema { get; set; } = "{\"type\": \"object\", \"properties\": {}}";
|
||
} |