Files
2026-02-07 15:48:27 +08:00

221 lines
10 KiB
C#
Raw Permalink 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.
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
namespace TencentCloud.Aai.V20180522
{
using Newtonsoft.Json;
using System.Threading.Tasks;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Aai.V20180522.Models;
public class AaiClient : AbstractClient{
private const string endpoint = "aai.tencentcloudapi.com";
private const string version = "2018-05-22";
/// <summary>
/// Client constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
public AaiClient(Credential credential, string region)
: this(credential, region, new ClientProfile())
{
}
/// <summary>
/// Client Constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
/// <param name="profile">Client profiles.</param>
public AaiClient(Credential credential, string region, ClientProfile profile)
: base(endpoint, version, credential, region, profile)
{
}
/// <summary>
/// 提供基于文本的基础聊天能力,可以让您的应用快速拥有具备深度语义理解的机器聊天功能。
/// </summary>
/// <param name="req"><see cref="ChatRequest"/></param>
/// <returns><see cref="ChatResponse"/></returns>
public async Task<ChatResponse> Chat(ChatRequest req)
{
JsonResponseModel<ChatResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "Chat");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ChatResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 提供基于文本的基础聊天能力,可以让您的应用快速拥有具备深度语义理解的机器聊天功能。
/// </summary>
/// <param name="req"><see cref="ChatRequest"/></param>
/// <returns><see cref="ChatResponse"/></returns>
public ChatResponse ChatSync(ChatRequest req)
{
JsonResponseModel<ChatResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "Chat");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ChatResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 识别60s内的短语音当音频放在请求body中传输时整个请求大小不能超过600KB当音频以url方式传输时音频时长不可超过60s。所有请求参数放在post的body中采用x-www-form-urlencoded数据转换成一个字符串name1=value1&name2=value2…进行urlencode后编码传输。现暂只支持中文普通话识别支持识别8k(16k)的16bit的mp3或者wav音频。
/// </summary>
/// <param name="req"><see cref="SentenceRecognitionRequest"/></param>
/// <returns><see cref="SentenceRecognitionResponse"/></returns>
public async Task<SentenceRecognitionResponse> SentenceRecognition(SentenceRecognitionRequest req)
{
JsonResponseModel<SentenceRecognitionResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "SentenceRecognition");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<SentenceRecognitionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 识别60s内的短语音当音频放在请求body中传输时整个请求大小不能超过600KB当音频以url方式传输时音频时长不可超过60s。所有请求参数放在post的body中采用x-www-form-urlencoded数据转换成一个字符串name1=value1&name2=value2…进行urlencode后编码传输。现暂只支持中文普通话识别支持识别8k(16k)的16bit的mp3或者wav音频。
/// </summary>
/// <param name="req"><see cref="SentenceRecognitionRequest"/></param>
/// <returns><see cref="SentenceRecognitionResponse"/></returns>
public SentenceRecognitionResponse SentenceRecognitionSync(SentenceRecognitionRequest req)
{
JsonResponseModel<SentenceRecognitionResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "SentenceRecognition");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<SentenceRecognitionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口是实时流式识别可同时返回语音识别文本及翻译文本当前仅支持中文和英文。该接口可配合同传windows客户端提供会议现场同传服务。
/// </summary>
/// <param name="req"><see cref="SimultaneousInterpretingRequest"/></param>
/// <returns><see cref="SimultaneousInterpretingResponse"/></returns>
public async Task<SimultaneousInterpretingResponse> SimultaneousInterpreting(SimultaneousInterpretingRequest req)
{
JsonResponseModel<SimultaneousInterpretingResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "SimultaneousInterpreting");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<SimultaneousInterpretingResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 该接口是实时流式识别可同时返回语音识别文本及翻译文本当前仅支持中文和英文。该接口可配合同传windows客户端提供会议现场同传服务。
/// </summary>
/// <param name="req"><see cref="SimultaneousInterpretingRequest"/></param>
/// <returns><see cref="SimultaneousInterpretingResponse"/></returns>
public SimultaneousInterpretingResponse SimultaneousInterpretingSync(SimultaneousInterpretingRequest req)
{
JsonResponseModel<SimultaneousInterpretingResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "SimultaneousInterpreting");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<SimultaneousInterpretingResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 腾讯云语音合成技术TTS可以将任意文本转化为语音实现让机器和应用张口说话。
/// 腾讯TTS技术可以应用到很多场景比如移动APP语音播报新闻智能设备语音提醒依靠网上现有节目或少量录音快速合成明星语音降低邀约成本支持车载导航语音合成的个性化语音播报。
/// 内测期间免费使用。
/// </summary>
/// <param name="req"><see cref="TextToVoiceRequest"/></param>
/// <returns><see cref="TextToVoiceResponse"/></returns>
public async Task<TextToVoiceResponse> TextToVoice(TextToVoiceRequest req)
{
JsonResponseModel<TextToVoiceResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "TextToVoice");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<TextToVoiceResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 腾讯云语音合成技术TTS可以将任意文本转化为语音实现让机器和应用张口说话。
/// 腾讯TTS技术可以应用到很多场景比如移动APP语音播报新闻智能设备语音提醒依靠网上现有节目或少量录音快速合成明星语音降低邀约成本支持车载导航语音合成的个性化语音播报。
/// 内测期间免费使用。
/// </summary>
/// <param name="req"><see cref="TextToVoiceRequest"/></param>
/// <returns><see cref="TextToVoiceResponse"/></returns>
public TextToVoiceResponse TextToVoiceSync(TextToVoiceRequest req)
{
JsonResponseModel<TextToVoiceResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "TextToVoice");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<TextToVoiceResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
}
}