前言
本文继续使用ASP.NET Core 8 MVC框架搭建,使用腾讯云AI基础产品里的NLP服务,做一个智能文本处理的示例。可实现文案创作(小说、论文等编写),文案自动纠错并给出修改建议。有想做自媒体辅助工具的可参考本示例。同时巩固一下MVC中的常用技术点。
开发环境
1.开发工具VS2022
2.运行框架.NET8
3.NuGet包:TencentCloudSDK
代码说明
- 在配置文件添加腾讯云API密钥和KEY,并配置启动端口。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"TencentCloud": { //腾讯云API接口密钥与KEY
"SecretId": "",
"SecretKey": ""
},
"AllowedHosts": "*",
"Kestrel": { //启动端口配置
"EndPoints": {
"Http": {
"Url": "http://*:5209"
}
}
}
}
- 添加一个Demo控制器,并添加一个视图页面。
public class DemoController : Controller
{
/// <summary>
/// 用于读取配置文件
/// </summary>
private readonly IConfiguration Configuration;
public DemoController(IConfiguration configuration)
{
Configuration = configuration;
}
/// <summary>
/// 添加一个视图
/// </summary>
public IActionResult Couplet()
{
return View();
}
}
- 编辑视图页面html代码,使用创建项目的自带的bootstrap即可。
@model ComposeCoupletResponse
@{
ViewData["Title"] = "智能文本生成与处理";
}
<h1>@ViewData["Title"]</h1>
<br />
<partial name="/Views/Shared/_Tabs.cshtml" />
<br />
<form action="/demo/SaveCouplet" method="post" id="f">
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">关键词</label>
<input type="text" class="form-control" name="Txt" value="">
</div>
<button type="button" class="btn btn-primary btn-lg" id="sub">
<span class="spinner-border spinner-border-sm" role="status" id="statues" style="display:none;"></span>
生成
</button>
</form>
<br />
@{
if (Model != null)
{
<p>横批:<span>@Model?.TopScroll</span></p>
<p>上联:<span>@Model?.Content[0]</span></p>
<p>下联:<span>@Model?.Content[1]</span></p>
}
}
@section Scripts {
<script>
$('#sub').on('click', function () {
$("#statues").attr("style", "")
$('#f').submit();
});
</script>
}
- 添加分部视图,把页面共用部分抽离出来。
<ul class="nav nav-pills">
@{
var dic = new Dictionary<string, string>()
{
{ "/Demo/Couplet","对联生成"},
{ "/Demo/Poetry","诗词生成"},
{ "/Demo/Sentence","句子生成"},
{ "/Demo/ErrorCorrection","句子纠错"},
{ "/Demo/Completion","文本续写"},
{ "/Demo/Optimization","文本优化"}
};
foreach (var item in dic)
{
if (item.Key == Context.Request.Path)
{
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="@item.Key">@item.Value</a>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link" href="@item.Key">@item.Value</a>
</li>
}
}
}
</ul>
运行效果
NLP示例
源码下载
下载本示例完整源代码:立即下载
源代码仅为Demo参考,请勿在项目中直接使用。更多高级操作及免费额度情况,请自行前往腾讯云官网进行查看。