* wip ionet integrate * wip ionet integrate * wip ionet integrate * ollama wip * wip * feat: ionet integration & ollama manage * fix merge conflict * wip * fix: test conn cors * wip * fix ionet * fix ionet * wip * fix model select * refactor: Remove `pkg/ionet` test files and update related Go source and web UI model deployment components. * feat: Enhance model deployment UI with styling improvements, updated text, and a new description component. * Revert "feat: Enhance model deployment UI with styling improvements, updated text, and a new description component." This reverts commit 8b75cb5bf0d1a534b339df8c033be9a6c7df7964.
107 lines
3.4 KiB
Go
107 lines
3.4 KiB
Go
package ollama
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
type OllamaChatMessage struct {
|
|
Role string `json:"role"`
|
|
Content string `json:"content,omitempty"`
|
|
Images []string `json:"images,omitempty"`
|
|
ToolCalls []OllamaToolCall `json:"tool_calls,omitempty"`
|
|
ToolName string `json:"tool_name,omitempty"`
|
|
Thinking json.RawMessage `json:"thinking,omitempty"`
|
|
}
|
|
|
|
type OllamaToolFunction struct {
|
|
Name string `json:"name"`
|
|
Description string `json:"description,omitempty"`
|
|
Parameters interface{} `json:"parameters,omitempty"`
|
|
}
|
|
|
|
type OllamaTool struct {
|
|
Type string `json:"type"`
|
|
Function OllamaToolFunction `json:"function"`
|
|
}
|
|
|
|
type OllamaToolCall struct {
|
|
Function struct {
|
|
Name string `json:"name"`
|
|
Arguments interface{} `json:"arguments"`
|
|
} `json:"function"`
|
|
}
|
|
|
|
type OllamaChatRequest struct {
|
|
Model string `json:"model"`
|
|
Messages []OllamaChatMessage `json:"messages"`
|
|
Tools interface{} `json:"tools,omitempty"`
|
|
Format interface{} `json:"format,omitempty"`
|
|
Stream bool `json:"stream,omitempty"`
|
|
Options map[string]any `json:"options,omitempty"`
|
|
KeepAlive interface{} `json:"keep_alive,omitempty"`
|
|
Think json.RawMessage `json:"think,omitempty"`
|
|
}
|
|
|
|
type OllamaGenerateRequest struct {
|
|
Model string `json:"model"`
|
|
Prompt string `json:"prompt,omitempty"`
|
|
Suffix string `json:"suffix,omitempty"`
|
|
Images []string `json:"images,omitempty"`
|
|
Format interface{} `json:"format,omitempty"`
|
|
Stream bool `json:"stream,omitempty"`
|
|
Options map[string]any `json:"options,omitempty"`
|
|
KeepAlive interface{} `json:"keep_alive,omitempty"`
|
|
Think json.RawMessage `json:"think,omitempty"`
|
|
}
|
|
|
|
type OllamaEmbeddingRequest struct {
|
|
Model string `json:"model"`
|
|
Input interface{} `json:"input"`
|
|
Options map[string]any `json:"options,omitempty"`
|
|
Dimensions int `json:"dimensions,omitempty"`
|
|
}
|
|
|
|
type OllamaEmbeddingResponse struct {
|
|
Error string `json:"error,omitempty"`
|
|
Model string `json:"model"`
|
|
Embeddings [][]float64 `json:"embeddings"`
|
|
PromptEvalCount int `json:"prompt_eval_count,omitempty"`
|
|
}
|
|
|
|
type OllamaTagsResponse struct {
|
|
Models []OllamaModel `json:"models"`
|
|
}
|
|
|
|
type OllamaModel struct {
|
|
Name string `json:"name"`
|
|
Size int64 `json:"size"`
|
|
Digest string `json:"digest,omitempty"`
|
|
ModifiedAt string `json:"modified_at"`
|
|
Details OllamaModelDetail `json:"details,omitempty"`
|
|
}
|
|
|
|
type OllamaModelDetail struct {
|
|
ParentModel string `json:"parent_model,omitempty"`
|
|
Format string `json:"format,omitempty"`
|
|
Family string `json:"family,omitempty"`
|
|
Families []string `json:"families,omitempty"`
|
|
ParameterSize string `json:"parameter_size,omitempty"`
|
|
QuantizationLevel string `json:"quantization_level,omitempty"`
|
|
}
|
|
|
|
type OllamaPullRequest struct {
|
|
Name string `json:"name"`
|
|
Stream bool `json:"stream,omitempty"`
|
|
}
|
|
|
|
type OllamaPullResponse struct {
|
|
Status string `json:"status"`
|
|
Digest string `json:"digest,omitempty"`
|
|
Total int64 `json:"total,omitempty"`
|
|
Completed int64 `json:"completed,omitempty"`
|
|
}
|
|
|
|
type OllamaDeleteRequest struct {
|
|
Name string `json:"name"`
|
|
}
|