Files
ai_proxy/server/model/app/response/ai_proxy.go
2026-03-03 20:33:46 +08:00

67 lines
2.3 KiB
Go

package response
// ChatCompletionResponse OpenAI兼容的聊天响应
type ChatCompletionResponse struct {
ID string `json:"id"`
Object string `json:"object"`
Created int64 `json:"created"`
Model string `json:"model"`
Choices []ChatCompletionChoice `json:"choices"`
Usage ChatCompletionUsage `json:"usage"`
// 扩展字段:正则脚本执行日志
RegexLogs *RegexExecutionLogs `json:"regex_logs,omitempty"`
}
type ChatCompletionChoice struct {
Index int `json:"index"`
Message ChatMessage `json:"message"`
FinishReason string `json:"finish_reason"`
}
type ChatMessage struct {
Role string `json:"role"`
Content string `json:"content"`
}
type ChatCompletionUsage struct {
PromptTokens int `json:"prompt_tokens"`
CompletionTokens int `json:"completion_tokens"`
TotalTokens int `json:"total_tokens"`
}
// ChatCompletionStreamResponse 流式响应
type ChatCompletionStreamResponse struct {
ID string `json:"id"`
Object string `json:"object"`
Created int64 `json:"created"`
Model string `json:"model"`
Choices []ChatCompletionStreamChoice `json:"choices"`
}
type ChatCompletionStreamChoice struct {
Index int `json:"index"`
Delta ChatMessageDelta `json:"delta"`
FinishReason *string `json:"finish_reason"`
}
type ChatMessageDelta struct {
Role string `json:"role,omitempty"`
Content string `json:"content,omitempty"`
}
// RegexExecutionLogs 正则脚本执行日志
type RegexExecutionLogs struct {
InputScripts []RegexScriptLog `json:"input_scripts,omitempty"` // 输入前执行的脚本
OutputScripts []RegexScriptLog `json:"output_scripts,omitempty"` // 输出后执行的脚本
TotalMatches int `json:"total_matches"` // 总匹配次数
}
// RegexScriptLog 单个正则脚本的执行日志
type RegexScriptLog struct {
ScriptName string `json:"script_name"` // 脚本名称
ScriptID string `json:"script_id"` // 脚本ID
Executed bool `json:"executed"` // 是否执行
MatchCount int `json:"match_count"` // 匹配次数
ErrorMessage string `json:"error_message,omitempty"` // 错误信息
}