feat: 新增AI聊天服务,重构任务提示词相关逻辑
1. 新增AI聊天服务接口、实现、控制器及相关DTO、配置类 2. 调整JournalPageTaskTypeEnum枚举值修正 3. 合并任务的基础Prompt和自定义Prompt为单个Prompt字段 4. 精简任务输出DTO冗余属性
This commit is contained in:
23
QYZH.InteractiveMagazine.Models/Dto/Ai/AiChatDto.cs
Normal file
23
QYZH.InteractiveMagazine.Models/Dto/Ai/AiChatDto.cs
Normal file
@ -0,0 +1,23 @@
|
||||
namespace QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// AI聊天输入
|
||||
/// </summary>
|
||||
public class AiChatInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户需求文本
|
||||
/// </summary>
|
||||
public string Message { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// AI聊天输出
|
||||
/// </summary>
|
||||
public class AiChatOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// AI返回的内容(Markdown格式提示词)
|
||||
/// </summary>
|
||||
public string Content { get; set; } = string.Empty;
|
||||
}
|
||||
@ -19,11 +19,6 @@ namespace QYZH.InteractiveMagazine.Models.Dto.Journal
|
||||
/// </summary>
|
||||
public long JournalPageId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 学科Id
|
||||
/// </summary>
|
||||
public long SubjectId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 题号
|
||||
/// </summary>
|
||||
@ -36,33 +31,10 @@ namespace QYZH.InteractiveMagazine.Models.Dto.Journal
|
||||
|
||||
public string ShowType => Type.GetDescription();
|
||||
|
||||
private string _task;
|
||||
/// <summary>
|
||||
/// 问题
|
||||
/// </summary>
|
||||
public string Task
|
||||
{
|
||||
get { return _task.AddDomain(DomainHelper.OssDomain); }
|
||||
set { _task = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 答案列表
|
||||
/// </summary>
|
||||
public List<JournalTaskAnswerOutput> Answers { get; set; }
|
||||
|
||||
private string _imageUrl;
|
||||
/// <summary>
|
||||
/// 图片地址
|
||||
/// </summary>
|
||||
public string ImageUrl
|
||||
{
|
||||
get { return DomainHelper.OssFullUrl(_imageUrl); }
|
||||
set { _imageUrl = value; }
|
||||
}
|
||||
|
||||
public List<string> ImageUrls { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 积分
|
||||
/// </summary>
|
||||
@ -98,55 +70,10 @@ namespace QYZH.InteractiveMagazine.Models.Dto.Journal
|
||||
/// </summary>
|
||||
public int AnswerTime { get; set; }
|
||||
|
||||
private string _audioUrl;
|
||||
/// <summary>
|
||||
/// 音频地址
|
||||
/// Prompt配置
|
||||
/// </summary>
|
||||
public string AudioUrl
|
||||
{
|
||||
get { return DomainHelper.OssFullUrl(_audioUrl); }
|
||||
set { _audioUrl = value; }
|
||||
}
|
||||
|
||||
private string _videoUrl;
|
||||
/// <summary>
|
||||
/// 视频地址
|
||||
/// </summary>
|
||||
public string VideoUrl
|
||||
{
|
||||
get { return DomainHelper.OssFullUrl(_videoUrl); }
|
||||
set { _videoUrl = value; }
|
||||
}
|
||||
|
||||
private string _pointsUrl;
|
||||
/// <summary>
|
||||
/// 点位数据地址
|
||||
/// </summary>
|
||||
public string PointsUrl
|
||||
{
|
||||
get { return DomainHelper.OssFullUrl(_pointsUrl); }
|
||||
set { _pointsUrl = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 音频开始时间
|
||||
/// </summary>
|
||||
public long AudioStartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 音频结束时间
|
||||
/// </summary>
|
||||
public long AudioEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 知识点
|
||||
/// </summary>
|
||||
public string KnowledgePointIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 年级
|
||||
/// </summary>
|
||||
public int Grade { get; set; }
|
||||
public string Prompt { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
using QYZH.InteractiveMagazine.Models.Enum;
|
||||
using QYZH.InteractiveMagazine.Models.Enum;
|
||||
using QYZH.InteractiveMagazine.Models.Enum;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -67,18 +67,9 @@ namespace QYZH.InteractiveMagazine.Models.Dto.Journal
|
||||
/// </summary>
|
||||
public int AnswerTime { get; set; }
|
||||
/// <summary>
|
||||
/// Desc:基础Prompt配置ID(为空则使用IsDefault=1的模板)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string BasePrompt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:个性化Prompt(追加到基础Prompt后面,可为空)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string CustomPrompt { get; set; }
|
||||
/// Prompt配置
|
||||
/// </summary>
|
||||
public string Prompt { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user