Files
ChatBot/ChatBot/Models/Dto/Tool.cs
2025-10-15 18:25:26 +03:00

51 lines
1.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace ChatBot.Models.Dto
{
/// <summary>
/// Инструмент, который может вызывать модель.
/// </summary>
[DataContract]
public class Tool
{
/// <summary>
/// Тип инструмента. В настоящее время поддерживается только функция.
/// </summary>
[DataMember(Name = "type")]
public required string Type { get; set; }
/// <summary>
/// Определение функции.
/// </summary>
[DataMember(Name = "function")]
public required ToolFunction Function { get; set; }
}
/// <summary>
/// Определение функции.
/// </summary>
[DataContract]
public class ToolFunction
{
/// <summary>
/// Имя функции для вызова. Должно содержать a-z, A-Z, 0-9 или подчеркивания и тире, с максимальной длиной 64 символа.
/// </summary>
[DataMember(Name = "name")]
public required string Name { get; set; }
/// <summary>
/// Описание того, что делает функция, используется моделью для выбора, когда и как вызывать функцию.
/// </summary>
[DataMember(Name = "description")]
public required string Description { get; set; }
/// <summary>
/// Параметры, которые принимает функция, описанные как объект JSON Schema.
/// </summary>
[DataMember(Name = "parameters")]
public required object Parameters { get; set; }
}
}