You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
7.3 KiB
121 lines
7.3 KiB
syntax = "proto3";
|
|
option go_package = ".;pb";
|
|
|
|
// 注:原「转写服务类型」枚举 TranscribeService 已删除——服务商不再是固定四家,
|
|
// 改为后台编排(echomeet_orch)+ 服务池(svc_config)动态配置,记录里存三段各自的服务id。
|
|
|
|
enum DBEchoMeetRecordState{
|
|
Unknow = 0; //@go_tags(`gorm:"DBEchoMeetRecordState_Unknow"`) 未知状态
|
|
AwaitTranscribing = 1; //@go_tags(`gorm:"DBEchoMeetRecordState_AwaitingTranscribing"`) 等待转写中
|
|
Transcribing = 2; //@go_tags(`gorm:"DBEchoMeetRecordState_Transcribing"`) 听写中
|
|
AwaitSummarizing = 3; //@go_tags(`gorm:"DBEchoMeetRecordState_AwaitingSummarizing"`) 等待总结中
|
|
Summarizing = 4; //@go_tags(`gorm:"DBEchoMeetRecordState_Summarizing"`) 总结中
|
|
Completed = 5; //@go_tags(`gorm:"DBEchoMeetRecordState_Completed"`) 已完成
|
|
Readed = 6; //@go_tags(`gorm:"DBEchoMeetRecordState_Readed"`) 已阅
|
|
|
|
TranscribeFail = 10002; //@go_tags(`gorm:"DBEchoMeetRecordState_TranscribeFail"`) 转写失败
|
|
SummarizFail = 10001; //@go_tags(`gorm:"DBEchoMeetRecordState_SummarizFail"`) 总结失败
|
|
}
|
|
|
|
//会议记录模板
|
|
message DBEchoMeetTemplate{
|
|
uint64 id = 1; //@go_tags(`gorm:"id;primaryKey;autoIncrement json:"id"`) id
|
|
string tid =2; //@go_tags(`gorm:"tid;index"`) 模板id
|
|
string source = 3; //@go_tags(`gorm:"source;index"`) 来源
|
|
string title = 4; //@go_tags(`gorm:"title"`) 标题
|
|
string description = 5; //@go_tags(`gorm:"description"`) 描述
|
|
string language = 6; //@go_tags(`gorm:"language;index"`) 语言
|
|
string ttype = 7; //@go_tags(`gorm:"ttype;index"`) 类型
|
|
string tags = 8; //@go_tags(`gorm:"tags"`) 标签
|
|
string icon = 9; //@go_tags(`gorm:"icon"`) 图标
|
|
string outline = 10; //@go_tags(`gorm:"outline"`) 大纲
|
|
string template = 11; //@go_tags(`gorm:"template"`) 模板
|
|
int32 sort = 12; //@go_tags(`gorm:"sort;index"`) 显示优先级,数值越大越靠前
|
|
}
|
|
|
|
|
|
//会议记录数据结构
|
|
message DBEchoMeetRecord {
|
|
uint64 id = 1; //@go_tags(`gorm:"id:50;primaryKey;autoIncrement json:"id"`) 索引id
|
|
string uid = 2; //@go_tags(`gorm:"uid;index" json:"uid"`) 用户ID
|
|
DBEchoMeetRecordState state = 3; //@go_tags(`gorm:"state;index" json:"state"`) 状态
|
|
int64 creationtime = 4; //@go_tags(`gorm:"creationtime;index" json:"creationtime"`) 時間
|
|
string rtype = 5; //@go_tags(`gorm:"rtype;index" json:"rtype"`) 类型
|
|
string filepath = 6; //@go_tags(`gorm:"filepath" json:"filepath"`) 本地音频文件路径
|
|
string audiourl = 7; //@go_tags(`gorm:"audiourl" json:"audiourl"`) 音频url
|
|
string title = 8; //@go_tags(`gorm:"title" json:"title"`) 标题
|
|
string address = 9; //@go_tags(`gorm:"address" json:"address"`) 地址
|
|
string personnel = 10; //@go_tags(`gorm:"personnel" json:"personnel"`) 成员
|
|
int32 tasktype = 11; //@go_tags(`gorm:"tasktype" json:"tasktype"`) 任务类型
|
|
string taskid = 12; //@go_tags(`gorm:"taskid" json:"taskid"`) 任务id
|
|
string logid = 13; //@go_tags(`gorm:"logid" json:"logid"`) 日志id
|
|
bool isdistinguishspeaker = 14; //@go_tags(`gorm:"isdistinguishspeaker" json:"isdistinguishspeaker"`) 是否区分说话人
|
|
uint64 templateid = 15; //@go_tags(`gorm:"templateid" json:"templateid"`) 模板id
|
|
string formlanguage = 16; //@go_tags(`gorm:"formlanguage" json:"formlanguage"`) 语言
|
|
string tolanguage = 17; //@go_tags(`gorm:"tolanguage" json:"tolanguage"`) 目标语言
|
|
int32 seconds = 18; //@go_tags(`gorm:"seconds" json:"seconds"`) 时长
|
|
int64 size = 19; //@go_tags(`gorm:"column:size;type:bigint" json:"size"`) 文件大小
|
|
string original = 20; //@go_tags(`gorm:"original" json:"original"`) 听写内容
|
|
string translate = 21; //@go_tags(`gorm:"translate" json:"translate"`) 翻译
|
|
string overview = 22; //@go_tags(`gorm:"overview" json:"overview"`) 短总结
|
|
string summary = 23; //@go_tags(`gorm:"summary" json:"summary"`) 总结
|
|
string asr_svc_id = 30; //@go_tags(`gorm:"asr_svc_id" json:"asr_svc_id"`) 识别服务id(后台编排选路结果)
|
|
string mt_svc_id = 31; //@go_tags(`gorm:"mt_svc_id" json:"mt_svc_id"`) 翻译服务id(后台编排选路结果)
|
|
string llm_svc_id = 32; //@go_tags(`gorm:"llm_svc_id" json:"llm_svc_id"`) 总结大模型服务id(默认或客户端指定)
|
|
int64 starttime = 25; //@go_tags(`gorm:"starttime" json:"starttime"`) 处理开始时间 unix 秒
|
|
int64 processduration = 26; //@go_tags(`gorm:"processduration" json:"processduration"`) 处理耗时 秒
|
|
int64 lastquerytime = 27; //@go_tags(`gorm:"lastquerytime" json:"lastquerytime"`) 上一次主动查询第三方服务的 unix 秒,用于限制查询频率
|
|
string remark = 28; //@go_tags(`gorm:"remark" json:"remark"`) 用户备注(创建记录时填写,参与AI总结)
|
|
// 本次开始任务实际扣的算力明细,失败时按它原路退回(退完清零,保证只退一次)。只在服务端用,不下发。
|
|
int64 computeuser = 33; //@go_tags(`gorm:"computeuser" json:"-"`) 从用户余额扣的算力
|
|
string computedevices = 34; //@go_tags(`gorm:"computedevices" json:"-"`) 从设备赠送额度扣的明细 code:n,code:n
|
|
string imageurls = 29; //@go_tags(`gorm:"imageurls" json:"imageurls"`) 注释图片url列表(JSON数组字符串,编码方式同original),作为多模态内容参与AI总结
|
|
}
|
|
|
|
message ContextStruct{
|
|
uint64 Meetingid = 1; //@go_tags(`json:"meetingid"`) 会议id
|
|
string Content = 2; //@go_tags(`json:"content"`) 内容
|
|
int64 Starttime = 3; //@go_tags(`json:"starttime"`) 开始时间
|
|
int64 Endtime = 4; //@go_tags(`json:"endtime"`) 结束时间
|
|
string Speaker = 5; //@go_tags(`json:"speaker"`) 说话人
|
|
}
|
|
|
|
// 单个字词的识别结果
|
|
message Word {
|
|
float confidence = 1; // 置信度
|
|
string text = 2; // 字词文本
|
|
int64 start_time = 3; // 开始时间(ms)
|
|
int64 end_time = 4; // 结束时间(ms)
|
|
}
|
|
|
|
// 分句的附加信息(声道、说话人)
|
|
message UtteranceAdditions {
|
|
string channel_id = 1; // 声道ID
|
|
string speaker = 2; // 说话人ID
|
|
}
|
|
|
|
// 分句识别结果
|
|
message Utterance {
|
|
repeated Word words = 1; // 分句下的字词列表
|
|
UtteranceAdditions additions = 2; // 附加信息
|
|
string text = 3; // 分句文本
|
|
int64 start_time = 4; // 分句开始时间(ms)
|
|
int64 end_time = 5; // 分句结束时间(ms)
|
|
}
|
|
|
|
// 识别结果的附加信息(总时长)
|
|
message ResultAdditions {
|
|
string duration = 1; // 音频总时长(ms)
|
|
}
|
|
|
|
// 核心识别结果
|
|
message RecognitionResult {
|
|
string text = 1; // 完整识别文本
|
|
repeated Utterance utterances = 2; // 分句列表
|
|
ResultAdditions additions = 3; // 结果附加信息
|
|
}
|
|
|
|
// 音频基础信息
|
|
message AudioInfo {
|
|
int64 duration = 1; // 音频时长(ms)
|
|
}
|
|
|