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.
 
 
 
 
 
 

118 lines
7.0 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总结)
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)
}