mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-12-29 18:04:42 +08:00
feat(openai): 新增意图相关接口
This commit is contained in:
@@ -0,0 +1,209 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Flurl;
|
||||
using Flurl.Http;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI
|
||||
{
|
||||
public static class WechatOpenAIClientExecuteIntentExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/save 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/batch_save.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentSaveResponse> ExecuteIntentSaveAsync(this WechatOpenAIClient client, Models.IntentSaveRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "save");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentSaveResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/search 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/search .html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentSearchResponse> ExecuteIntentSearchAsync(this WechatOpenAIClient client, Models.IntentSearchRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "search");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentSearchResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/get_detail 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/get_detail .html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentGetDetailResponse> ExecuteIntentGetDetailAsync(this WechatOpenAIClient client, Models.IntentGetDetailRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "get_detail");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentGetDetailResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/name_exist 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/name_exist .html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentNameExistResponse> ExecuteIntentNameExistAsync(this WechatOpenAIClient client, Models.IntentNameExistRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "name_exist");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentNameExistResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/delete 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/batch_delete.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentDeleteResponse> ExecuteIntentDeleteAsync(this WechatOpenAIClient client, Models.IntentDeleteRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "delete");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentDeleteResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v1/intent/switch/batch 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/batch_delete.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentSwitchBatchResponse> ExecuteIntentSwitchBatchAsync(this WechatOpenAIClient client, Models.IntentSwitchBatchRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v1", "intent", "switch", "batch");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentSwitchBatchResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
#region Config
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/config/save 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/save_config.html </para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/save_config_normal_answer_config.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentConfigSaveResponse> ExecuteIntentConfigSaveAsync(this WechatOpenAIClient client, Models.IntentConfigSaveRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "config", "save");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentConfigSaveResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/config/get 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/get_config.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentConfigGetResponse> ExecuteIntentConfigGetAsync(this WechatOpenAIClient client, Models.IntentConfigGetRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "config", "get");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentConfigGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Question
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/question/save 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/batch_save_question.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentQuestionSaveResponse> ExecuteIntentQuestionSaveAsync(this WechatOpenAIClient client, Models.IntentQuestionSaveRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "question", "save");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentQuestionSaveResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /v2/intent/question/delete 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/intent/batch_delete_question.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.IntentQuestionDeleteResponse> ExecuteIntentQuestionDeleteAsync(this WechatOpenAIClient client, Models.IntentQuestionDeleteRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||
|
||||
IFlurlRequest flurlReq = client
|
||||
.CreateRequest(request, HttpMethod.Post, "v2", "intent", "question", "delete");
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.IntentQuestionDeleteResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/config/get 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentConfigGetRequest : WechatOpenAIRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_id")]
|
||||
public long SkillId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,447 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/config/get 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentConfigGetResponse : WechatOpenAIResponse<IntentConfigGetResponse.Types.Data>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Data
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Slot
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置词典名称列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("dicts")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("dicts")]
|
||||
public string[] DictionaryNameList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否追问。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("keep_ask")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("keep_ask")]
|
||||
public bool IsKeepAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置追问话术列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_content")]
|
||||
public string[]? AskContentList { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class Previous
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent")]
|
||||
public string IntentName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill")]
|
||||
public string SkillName { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class Next : Previous
|
||||
{
|
||||
}
|
||||
|
||||
public class NormalAnswerConfig
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Answer
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
public object Content { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否合并。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merge_answer")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merge_answer")]
|
||||
public bool RequireMergeAnswer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer")]
|
||||
public Types.Answer[] AnswerList { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class ApiAnswerConfig
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Argument
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Item
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置参数名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否必填。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("input")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("input")]
|
||||
public bool IsRequired { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置参数含义。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("desc")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("desc")]
|
||||
public string Description { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置对应语义槽。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("slot")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("slot")]
|
||||
public string Slot { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置默认值。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("default_value")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("default_value")]
|
||||
public string DefaultValue { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置追问话术列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_content")]
|
||||
public string[]? AskContentList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置入参列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("input")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("input")]
|
||||
public Types.Item[]? InputArgumentList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置出参列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("output")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("output")]
|
||||
public Types.Item[]? OutArgumentList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务接口调用 API。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api")]
|
||||
public string Api { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 API 类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("http_method")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("http_method")]
|
||||
public string HttpMethod { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 API 地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("http_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("http_url")]
|
||||
public string HttpUrl { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否征求用户意见。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("need_confirm")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("need_confirm")]
|
||||
public bool RequireConfirm { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置征求语句。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("need_confirm_response")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("need_confirm_response")]
|
||||
public string? ConfirmResponse { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置参数信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("arguments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("arguments")]
|
||||
public Types.Argument Argument { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结果列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("result")]
|
||||
public Result[] ResultList { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class AskSlotAnswerConfig
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Argument
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置参数名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置对应语义槽。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("slot")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("slot")]
|
||||
public string Slot { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置追问话术列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_content")]
|
||||
public string[]? AskContentList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽信息追问 API。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api")]
|
||||
public string Api { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置参数列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("arguments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("arguments")]
|
||||
public Types.Argument[]? ArgumentList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结果列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("result")]
|
||||
public Result[] ResultList { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class AskAnswerConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置机器人提问 API。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api")]
|
||||
public string Api { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置问题。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("question")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("question")]
|
||||
public string Question { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结果列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("result")]
|
||||
public Result[] ResultList { get; set; } = default!;
|
||||
}
|
||||
|
||||
public class Result
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置错误码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string ErrorCode { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置错误描述。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("desc")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("desc")]
|
||||
public string ErrorDescription { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答配置类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer_config_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer_config_type")]
|
||||
public int AnswerConfigType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer")]
|
||||
public string Answer { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置普通技能信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("normal_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("normal_answer_config")]
|
||||
public NormalAnswerConfig? AnswerConfigForNormal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务接口调用信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api_answer_config")]
|
||||
public ApiAnswerConfig? AnswerConfigForApi { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽追问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_slot_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_slot_answer_config")]
|
||||
public AskSlotAnswerConfig? AnswerConfigForAskSlot { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_answer_config")]
|
||||
public AskAnswerConfig? AnswerConfigForAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人动态提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("dynamic_ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("dynamic_ask_answer_config")]
|
||||
public AskAnswerConfig? AnswerConfigForAskDynamic { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("slots")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("slots")]
|
||||
public Types.Slot[] IntentQuestionList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置前置对话列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("pre")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("pre")]
|
||||
public Types.Previous[] PreviousList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置后续对话列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("next")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("next")]
|
||||
public Types.Next[] NextList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否追问。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("keep_ask")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("keep_ask")]
|
||||
public bool IsKeepAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最大追问次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("keep_ask_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("keep_ask_num")]
|
||||
public int KeepAskCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答配置类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer_config_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer_config_type")]
|
||||
public int AnswerConfigType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置普通技能信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("normal_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("normal_answer_config")]
|
||||
public Types.NormalAnswerConfig? AnswerConfigForNormal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务接口调用信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api_answer_config")]
|
||||
public Types.ApiAnswerConfig? AnswerConfigForApi { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽追问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_slot_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_slot_answer_config")]
|
||||
public Types.AskSlotAnswerConfig? AnswerConfigForAskSlot { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_answer_config")]
|
||||
public Types.AskAnswerConfig? AnswerConfigForAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人动态提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("dynamic_ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("dynamic_ask_answer_config")]
|
||||
public Types.AskAnswerConfig? AnswerConfigForAskDynamic { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,455 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/config/save 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentConfigSaveRequest : WechatOpenAIRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Slot
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置词典名称列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("dicts")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("dicts")]
|
||||
public IList<string> DictionaryNameList { get; set; } = new List<string>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否追问。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("keep_ask")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("keep_ask")]
|
||||
public bool IsKeepAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置追问话术列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_content")]
|
||||
public IList<string>? AskContentList { get; set; }
|
||||
}
|
||||
|
||||
public class Previous
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent")]
|
||||
public string IntentName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill")]
|
||||
public string SkillName { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class Next : Previous
|
||||
{
|
||||
}
|
||||
|
||||
public class NormalAnswerConfig
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Answer
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
public string Content { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否合并。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("merge_answer")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("merge_answer")]
|
||||
public bool RequireMergeAnswer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer")]
|
||||
public IList<Types.Answer> AnswerList { get; set; } = new List<Types.Answer>();
|
||||
}
|
||||
|
||||
public class ApiAnswerConfig
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Argument
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Item
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置参数名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否必填。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("input")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("input")]
|
||||
public bool IsRequired { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置参数含义。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("desc")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("desc")]
|
||||
public string Description { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置对应语义槽。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("slot")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("slot")]
|
||||
public string Slot { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置默认值。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("default_value")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("default_value")]
|
||||
public string DefaultValue { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置追问话术列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_content")]
|
||||
public IList<string>? AskContentList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置入参列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("input")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("input")]
|
||||
public IList<Types.Item>? InputArgumentList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置出参列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("output")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("output")]
|
||||
public IList<Types.Item>? OutArgumentList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务接口调用 API。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api")]
|
||||
public string Api { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 API 类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("http_method")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("http_method")]
|
||||
public string HttpMethod { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置 API 地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("http_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("http_url")]
|
||||
public string HttpUrl { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否征求用户意见。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("need_confirm")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("need_confirm")]
|
||||
public bool RequireConfirm { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置征求语句。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("need_confirm_response")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("need_confirm_response")]
|
||||
public string? ConfirmResponse { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置参数信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("arguments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("arguments")]
|
||||
public Types.Argument Argument { get; set; } = new Types.Argument();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结果列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("result")]
|
||||
public IList<Result> ResultList { get; set; } = new List<Result>();
|
||||
}
|
||||
|
||||
public class AskSlotAnswerConfig
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Argument
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置参数名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置对应语义槽。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("slot")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("slot")]
|
||||
public string Slot { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置追问话术列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_content")]
|
||||
public IList<string>? AskContentList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽信息追问 API。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api")]
|
||||
public string Api { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置参数信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("arguments")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("arguments")]
|
||||
public IList<Types.Argument> Argument { get; set; } = new List<Types.Argument>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结果列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("result")]
|
||||
public IList<Result> ResultList { get; set; } = new List<Result>();
|
||||
}
|
||||
|
||||
public class AskAnswerConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置机器人提问 API。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api")]
|
||||
public string Api { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置问题。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("question")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("question")]
|
||||
public string Question { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结果列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("result")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("result")]
|
||||
public IList<Result> ResultList { get; set; } = new List<Result>();
|
||||
}
|
||||
|
||||
public class Result
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置错误码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("code")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("code")]
|
||||
public string ErrorCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置错误描述。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("desc")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("desc")]
|
||||
public string ErrorDescription { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答配置类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer_config_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer_config_type")]
|
||||
public int AnswerConfigType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer")]
|
||||
public string Answer { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置普通技能信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("normal_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("normal_answer_config")]
|
||||
public NormalAnswerConfig? AnswerConfigForNormal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务接口调用信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api_answer_config")]
|
||||
public ApiAnswerConfig? AnswerConfigForApi { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽追问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_slot_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_slot_answer_config")]
|
||||
public AskSlotAnswerConfig? AnswerConfigForAskSlot { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_answer_config")]
|
||||
public AskAnswerConfig? AnswerConfigForAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人动态提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("dynamic_ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("dynamic_ask_answer_config")]
|
||||
public AskAnswerConfig? AnswerConfigForAskDynamic { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_id")]
|
||||
public long SkillId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("slots")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("slots")]
|
||||
public IList<Types.Slot> IntentQuestionList { get; set; } = new List<Types.Slot>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置前置对话列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("pre")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("pre")]
|
||||
public IList<Types.Previous> PreviousList { get; set; } = new List<Types.Previous>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置后续对话列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("next")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("next")]
|
||||
public IList<Types.Next> NextList { get; set; } = new List<Types.Next>();
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否追问。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("keep_ask")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("keep_ask")]
|
||||
public bool IsKeepAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置最大追问次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("keep_ask_num")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("keep_ask_num")]
|
||||
public int KeepAskCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置回答配置类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("answer_config_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("answer_config_type")]
|
||||
public int AnswerConfigType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置普通技能信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("normal_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("normal_answer_config")]
|
||||
public Types.NormalAnswerConfig? AnswerConfigForNormal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置服务接口调用信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("api_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("api_answer_config")]
|
||||
public Types.ApiAnswerConfig? AnswerConfigForApi { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置语义槽追问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_slot_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_slot_answer_config")]
|
||||
public Types.AskSlotAnswerConfig? AnswerConfigForAskSlot { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("ask_answer_config")]
|
||||
public Types.AskAnswerConfig? AnswerConfigForAsk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置机器人动态提问信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("dynamic_ask_answer_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("dynamic_ask_answer_config")]
|
||||
public Types.AskAnswerConfig? AnswerConfigForAskDynamic { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/config/save 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentConfigSaveResponse : WechatOpenAIResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/delete 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentDeleteRequest : WechatOpenAIRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id_list")]
|
||||
public IList<long> IntentIdList { get; set; } = new List<long>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/delete 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentDeleteResponse : WechatOpenAIResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/get_detail 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentGetDetailRequest : WechatOpenAIRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id")]
|
||||
public long IntentId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/get_detail 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentGetDetailResponse : WechatOpenAIResponse<IntentGetDetailResponse.Types.Data>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Data
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Question
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置问题 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id")]
|
||||
public long QuestionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置问题内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("question")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("question")]
|
||||
public string Content { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优先级。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("rank_level")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("rank_level")]
|
||||
public double RankLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置相似度。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("threshold")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("threshold")]
|
||||
public double Threshold { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否为反例。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("counter_example")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("counter_example")]
|
||||
public bool IsCounterExample { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_id")]
|
||||
public long SkillId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优先级。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("rank_level")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("rank_level")]
|
||||
public double RankLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置相似度。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("threshold")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("threshold")]
|
||||
public double Threshold { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图开关。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("switch")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("switch")]
|
||||
public bool Switch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置命中次数。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("frequency")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("frequency")]
|
||||
public int Frequency { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图问题列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("questions")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("questions")]
|
||||
public Types.Question[] QuestionList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置更新时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("updated_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("updated_time")]
|
||||
public long UpdateTimestamp { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/name_exist 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentNameExistRequest : WechatOpenAIRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置技能 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_id")]
|
||||
public long SkillId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_name")]
|
||||
public string IntentName { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/name_exist 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentNameExistResponse : WechatOpenAIResponse<IntentNameExistResponse.Types.Data>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Data
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置是否已存在。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("exist")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("exist")]
|
||||
public bool IsExisted { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/save 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentSaveRequest : WechatOpenAIRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Intent
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_id")]
|
||||
public long SkillId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("name")]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优先级。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("rank_level")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("rank_level")]
|
||||
public double RankLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置相似度。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("threshold")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("threshold")]
|
||||
public double Threshold { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图开关。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("switch")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("switch")]
|
||||
public bool Switch { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_list")]
|
||||
public IList<Types.Intent> IntentList { get; set; } = new List<Types.Intent>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/save 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentSaveResponse : WechatOpenAIResponse<IntentSaveResponse.Types.Data>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Data
|
||||
{
|
||||
|
||||
public static class Types
|
||||
{
|
||||
public class Intent
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_name")]
|
||||
public string Name { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("list")]
|
||||
public Types.Intent[] IntentList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("count")]
|
||||
public int Count { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/search 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentSearchRequest : WechatOpenAIRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置关键字。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("keyword")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("keyword")]
|
||||
public string? Keyword { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页页数。
|
||||
/// <para>默认值:1</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("page")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("page")]
|
||||
public int Page { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页每页数量。
|
||||
/// <para>默认值:10</para>
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("size")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("size")]
|
||||
public int Limit { get; set; } = 10;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/search 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentSearchResponse : WechatOpenAIResponse<IntentSearchResponse.Types.Data>
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Data
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Intent
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_name")]
|
||||
public string IntentName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_id")]
|
||||
public long SkillId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_name")]
|
||||
public string SkillName { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("list")]
|
||||
public Types.Intent[] IntentList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("count")]
|
||||
public int TotalCount { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v1/intent/switch/batch 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentSwitchBatchRequest : WechatOpenAIRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Intent
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图开关。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("switch")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("switch")]
|
||||
public bool Switch { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("switch_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("switch_list")]
|
||||
public IList<Types.Intent> IntentList { get; set; } = new List<Types.Intent>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v1/intent/switch/batch 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentSwitchBatchResponse : WechatOpenAIResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/question/delete 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentQuestionDeleteRequest : WechatOpenAIRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置意图问题 ID 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id_list")]
|
||||
public IList<long> IntentQuestionIdList { get; set; } = new List<long>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/question/delete 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentQuestionDeleteResponse : WechatOpenAIResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/question/save 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class IntentQuestionSaveRequest : WechatOpenAIRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Question
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置问题 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("id")]
|
||||
public long QuestionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置问题内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("question")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("question")]
|
||||
public string Content { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置优先级。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("rank_level")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("rank_level")]
|
||||
public double RankLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置相似度。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("threshold")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("threshold")]
|
||||
public double Threshold { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否为反例。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("counter_example")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("counter_example")]
|
||||
public bool IsCounterExample { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置保存模式。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mode")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mode")]
|
||||
public int Mode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_id")]
|
||||
public long IntentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("intent_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("intent_name")]
|
||||
public string? IntentName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_id")]
|
||||
public long SkillId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置技能名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("skill_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("skill_name")]
|
||||
public string? SkillName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置意图问题列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("data")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("data")]
|
||||
public IList<Types.Question> IntentQuestionList { get; set; } = new List<Types.Question>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /v2/intent/question/save 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class IntentQuestionSaveResponse : WechatOpenAIResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user