67 lines
2.0 KiB
Go
67 lines
2.0 KiB
Go
package httpadapter
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gitea.maximumdirect.net/eric/scriptorium/internal/domain"
|
|
)
|
|
|
|
type runRequestDTO struct {
|
|
ProfileID string `json:"profile_id"`
|
|
ProfileVersion string `json:"profile_version,omitempty"`
|
|
Inputs map[string]inputRefDTO `json:"inputs"`
|
|
Vars map[string]string `json:"vars,omitempty"`
|
|
Model *modelOverrideRequestDTO `json:"model,omitempty"`
|
|
}
|
|
|
|
type inputRefDTO struct {
|
|
Type string `json:"type"`
|
|
URI string `json:"uri,omitempty"`
|
|
Body string `json:"body,omitempty"`
|
|
}
|
|
|
|
type modelOverrideRequestDTO struct {
|
|
Endpoint string `json:"endpoint,omitempty"`
|
|
Model string `json:"model,omitempty"`
|
|
Temperature float64 `json:"temperature,omitempty"`
|
|
MaxTokens int `json:"max_tokens,omitempty"`
|
|
TopP float64 `json:"top_p,omitempty"`
|
|
}
|
|
|
|
type runResponseDTO struct {
|
|
Artifact artifactDTO `json:"artifact"`
|
|
Validation domain.ValidationResult `json:"validation"`
|
|
Metadata metadataDTO `json:"metadata"`
|
|
RawModelOutput string `json:"raw_model_output"`
|
|
}
|
|
|
|
type artifactDTO struct {
|
|
Name string `json:"name"`
|
|
ContentType string `json:"content_type"`
|
|
Body string `json:"body"`
|
|
URI string `json:"uri,omitempty"`
|
|
Size int64 `json:"size"`
|
|
Hash string `json:"hash"`
|
|
}
|
|
|
|
type metadataDTO struct {
|
|
ProfileID string `json:"profile_id"`
|
|
ProfileVersion string `json:"profile_version"`
|
|
ModelName string `json:"model_name"`
|
|
Endpoint string `json:"endpoint"`
|
|
InputHashes map[string]string `json:"input_hashes"`
|
|
PromptHash string `json:"prompt_hash"`
|
|
Usage domain.TokenUsage `json:"usage"`
|
|
StartTime time.Time `json:"start_time"`
|
|
EndTime time.Time `json:"end_time"`
|
|
}
|
|
|
|
type errorResponse struct {
|
|
Error errorBody `json:"error"`
|
|
}
|
|
|
|
type errorBody struct {
|
|
Code string `json:"code"`
|
|
Message string `json:"message"`
|
|
}
|