Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 20 additions & 6 deletions pkg/adapter/cozecn_v3_openai.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,27 @@ func CozecnV3ReponseToOpenAIResponse(resp *chat_message_list.MessageListResponse
func CozecnV3ReponseToOpenAIResponseStream(resp *streammode.EventData) *myopenai.OpenAIStreamResponse {
var choices []myopenai.OpenAIStreamResponseChoice

role := resp.Role
if resp.Content == "" {
role = "assistant"
}

// 构建 delta:content 保持不变,reasoning_content 独立字段
delta := myopenai.ResponseDelta{
Role: role,
Content: resp.Content,
}

// 如果存在思考内容,添加到 ReasoningContent 字段
if resp.ReasoningContent != "" {
delta.ReasoningContent = resp.ReasoningContent
} else if resp.Thinking != "" {
delta.ReasoningContent = resp.Thinking
}

choices = append(choices, myopenai.OpenAIStreamResponseChoice{
Index: 0,
Delta: myopenai.ResponseDelta{
Role: resp.Role,
Content: resp.Content,
},
Delta: delta,
})
usage := myopenai.Usage{
PromptTokens: resp.Usage.InputCount,
Expand All @@ -153,8 +168,7 @@ func CozecnV3ReponseToOpenAIResponseStream(resp *streammode.EventData) *myopenai
Object: "chat.completion.chunk",
Created: time.Now().Unix(),
Choices: choices,
//Error: errorDetail,
Usage: &usage,
Usage: &usage,
}
return nil
}
2 changes: 2 additions & 0 deletions pkg/llm/devplatform/cozecn_v3/streammode/response.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,6 @@ type EventData struct {
OutputCount int `json:"output_count"`
InputCount int `json:"input_count"`
} `json:"usage"`
ReasoningContent string `json:"reasoning_content,omitempty"` // 工作流模式的思考过程(Coze字段)
Thinking string `json:"thinking,omitempty"` // 兼容字段(某些版本可能使用)
}
7 changes: 4 additions & 3 deletions pkg/openai/openai_response.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,10 @@ type ResponseMessage struct {

// ResponseDelta Delta 定义了对话中的消息结构
type ResponseDelta struct {
Role string `json:"role"`
Content string `json:"content"`
ToolCalls []ToolCall `json:"tool_calls,omitempty"`
Role string `json:"role"`
Content string `json:"content,omitempty"`
ReasoningContent string `json:"reasoning_content,omitempty"` // 思考内容(兼容Coze工作流)
ToolCalls []ToolCall `json:"tool_calls,omitempty"`
}

// Usage 定义了使用统计的结构
Expand Down