You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
3.2 KiB
Go
61 lines
3.2 KiB
Go
/*
|
|
* Copyright 2025 CloudWeGo Authors
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package model
|
|
|
|
import (
|
|
"github.com/cloudwego/eino/schema"
|
|
)
|
|
|
|
type ChatRequest struct {
|
|
Messages []*schema.Message `json:"messages,omitempty" form:"messages"`
|
|
Debug bool `json:"debug,omitempty" form:"debug"`
|
|
ThreadID string `json:"thread_id,omitempty" form:"thread_id"`
|
|
MaxPlanIterations int `json:"max_plan_iterations,omitempty" form:"max_plan_iterations"`
|
|
MaxStepNum int `json:"max_step_num,omitempty" form:"max_step_num"`
|
|
AutoAcceptedPlan bool `json:"auto_accepted_plan,omitempty" form:"auto_accepted_plan"`
|
|
InterruptFeedback string `json:"interrupt_feedback,omitempty" form:"interrupt_feedback"`
|
|
MCPSettings map[string]interface{} `json:"mcp_settings,omitempty" form:"mcp_settings"`
|
|
EnableBackgroundInvestigation bool `json:"enable_background_investigation,omitempty" form:"enable_background_investigation"`
|
|
}
|
|
|
|
type ToolResp struct {
|
|
ID string `json:"id,omitempty" form:"id,omitempty"`
|
|
Type string `json:"type,omitempty" form:"type,omitempty"`
|
|
Name string `json:"name,omitempty" form:"name,omitempty"`
|
|
Args map[string]any `json:"args,omitempty" form:"args,omitempty"`
|
|
}
|
|
type ToolChunkResp struct {
|
|
ID string `json:"id,omitempty" form:"id,omitempty"`
|
|
Type string `json:"type,omitempty" form:"type,omitempty"`
|
|
Name string `json:"name,omitempty" form:"name,omitempty"`
|
|
Args string `json:"args,omitempty" form:"args,omitempty"`
|
|
}
|
|
|
|
type ChatResp struct {
|
|
ThreadID string `json:"thread_id,omitempty" form:"thread_id"`
|
|
Agent string `json:"agent,omitempty" form:"agent"`
|
|
ID string `json:"id,omitempty" form:"id"`
|
|
Role string `json:"role,omitempty" form:"role"`
|
|
Content string `json:"content,omitempty" form:"content"`
|
|
FinishReason string `json:"finish_reason,omitempty" form:"finish_reason"`
|
|
Options []map[string]interface{} `json:"options,omitempty" form:"options"`
|
|
ToolCallID string `json:"tool_call_id,omitempty" form:"tool_call_id"`
|
|
ToolCalls []ToolResp `json:"tool_calls,omitempty" form:"tool_calls"`
|
|
ToolCallChunks []ToolChunkResp `json:"tool_call_chunks,omitempty" form:"tool_call_chunks"`
|
|
MessageChunks any `json:"message_chunks,omitempty" form:"message_chunks"`
|
|
}
|