| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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"`
- }
|