Tool.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. namespace OASystem.API.OAMethodLib.TokenHubAI.Models;
  2. /// <summary>
  3. /// 工具定义(Function Calling)
  4. /// </summary>
  5. public class Tool
  6. {
  7. /// <summary>
  8. /// 工具类型
  9. /// </summary>
  10. public string Type { get; set; } = "function";
  11. /// <summary>
  12. /// 函数定义
  13. /// </summary>
  14. public FunctionDefinition? Function { get; set; }
  15. }
  16. /// <summary>
  17. /// 函数定义
  18. /// </summary>
  19. public class FunctionDefinition
  20. {
  21. /// <summary>
  22. /// 函数名称
  23. /// </summary>
  24. public string Name { get; set; } = string.Empty;
  25. /// <summary>
  26. /// 函数描述
  27. /// </summary>
  28. public string? Description { get; set; }
  29. /// <summary>
  30. /// 参数定义(JSON Schema 格式)
  31. /// </summary>
  32. public object? Parameters { get; set; }
  33. }
  34. /// <summary>
  35. /// 工具调用
  36. /// </summary>
  37. public class ToolCall
  38. {
  39. /// <summary>
  40. /// 工具调用 ID
  41. /// </summary>
  42. public string Id { get; set; } = string.Empty;
  43. /// <summary>
  44. /// 工具类型
  45. /// </summary>
  46. public string Type { get; set; } = "function";
  47. /// <summary>
  48. /// 函数调用
  49. /// </summary>
  50. public FunctionCall? Function { get; set; }
  51. }
  52. /// <summary>
  53. /// 函数调用
  54. /// </summary>
  55. public class FunctionCall
  56. {
  57. /// <summary>
  58. /// 函数名称
  59. /// </summary>
  60. public string Name { get; set; } = string.Empty;
  61. /// <summary>
  62. /// 函数参数(JSON 字符串)
  63. /// </summary>
  64. public string Arguments { get; set; } = string.Empty;
  65. }