Documentation
¶
Index ¶
- Variables
- func DeleteOllamaModel(baseURL, apiKey, modelName string) error
- func FetchOllamaVersion(baseURL, apiKey string) (string, error)
- func PullOllamaModel(baseURL, apiKey, modelName string) error
- func PullOllamaModelStream(baseURL, apiKey, modelName string, progressCallback func(OllamaPullResponse)) error
- type Adaptor
- func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.AudioRequest) (io.Reader, error)
- func (a *Adaptor) ConvertClaudeRequest(c *gin.Context, info *relaycommon.RelayInfo, request *dto.ClaudeRequest) (any, error)
- func (a *Adaptor) ConvertEmbeddingRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.EmbeddingRequest) (any, error)
- func (a *Adaptor) ConvertGeminiRequest(*gin.Context, *relaycommon.RelayInfo, *dto.GeminiChatRequest) (any, error)
- func (a *Adaptor) ConvertImageRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.ImageRequest) (any, error)
- func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayInfo, request *dto.GeneralOpenAIRequest) (any, error)
- func (a *Adaptor) ConvertOpenAIResponsesRequest(c *gin.Context, info *relaycommon.RelayInfo, ...) (any, error)
- func (a *Adaptor) ConvertRerankRequest(c *gin.Context, relayMode int, request dto.RerankRequest) (any, error)
- func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, requestBody io.Reader) (any, error)
- func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage any, err *types.MaxAPIError)
- func (a *Adaptor) GetChannelName() string
- func (a *Adaptor) GetModelList() []string
- func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error)
- func (a *Adaptor) Init(info *relaycommon.RelayInfo)
- func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Header, info *relaycommon.RelayInfo) error
- type OllamaChatMessage
- type OllamaChatRequest
- type OllamaDeleteRequest
- type OllamaEmbeddingRequest
- type OllamaEmbeddingResponse
- type OllamaGenerateRequest
- type OllamaModel
- type OllamaModelDetail
- type OllamaPullRequest
- type OllamaPullResponse
- type OllamaTagsResponse
- type OllamaTool
- type OllamaToolCall
- type OllamaToolFunction
Constants ¶
This section is empty.
Variables ¶
View Source
var ChannelName = "ollama"
View Source
var ModelList = []string{
"llama3-7b",
}
Functions ¶
func DeleteOllamaModel ¶
删除 Ollama 模型
func FetchOllamaVersion ¶
func PullOllamaModel ¶
拉取 Ollama 模型 (非流式)
func PullOllamaModelStream ¶
func PullOllamaModelStream(baseURL, apiKey, modelName string, progressCallback func(OllamaPullResponse)) error
流式拉取 Ollama 模型 (支持进度回调)
Types ¶
type Adaptor ¶
type Adaptor struct {
}
func (*Adaptor) ConvertAudioRequest ¶
func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.AudioRequest) (io.Reader, error)
func (*Adaptor) ConvertClaudeRequest ¶
func (a *Adaptor) ConvertClaudeRequest(c *gin.Context, info *relaycommon.RelayInfo, request *dto.ClaudeRequest) (any, error)
func (*Adaptor) ConvertEmbeddingRequest ¶
func (a *Adaptor) ConvertEmbeddingRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.EmbeddingRequest) (any, error)
func (*Adaptor) ConvertGeminiRequest ¶
func (a *Adaptor) ConvertGeminiRequest(*gin.Context, *relaycommon.RelayInfo, *dto.GeminiChatRequest) (any, error)
func (*Adaptor) ConvertImageRequest ¶
func (a *Adaptor) ConvertImageRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.ImageRequest) (any, error)
func (*Adaptor) ConvertOpenAIRequest ¶
func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayInfo, request *dto.GeneralOpenAIRequest) (any, error)
func (*Adaptor) ConvertOpenAIResponsesRequest ¶
func (a *Adaptor) ConvertOpenAIResponsesRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.OpenAIResponsesRequest) (any, error)
func (*Adaptor) ConvertRerankRequest ¶
func (*Adaptor) DoResponse ¶
func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage any, err *types.MaxAPIError)
func (*Adaptor) GetChannelName ¶
func (*Adaptor) GetModelList ¶
func (*Adaptor) GetRequestURL ¶
func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error)
func (*Adaptor) Init ¶
func (a *Adaptor) Init(info *relaycommon.RelayInfo)
func (*Adaptor) SetupRequestHeader ¶
type OllamaChatMessage ¶
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 OllamaChatRequest ¶
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 OllamaDeleteRequest ¶
type OllamaDeleteRequest struct {
Name string `json:"name"`
}
type OllamaEmbeddingRequest ¶
type OllamaEmbeddingResponse ¶
type OllamaGenerateRequest ¶
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 OllamaModel ¶
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"`
}
func FetchOllamaModels ¶
func FetchOllamaModels(baseURL, apiKey string) ([]OllamaModel, error)
type OllamaModelDetail ¶
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 ¶
type OllamaPullResponse ¶
type OllamaTagsResponse ¶
type OllamaTagsResponse struct {
Models []OllamaModel `json:"models"`
}
type OllamaTool ¶
type OllamaTool struct {
Type string `json:"type"`
Function OllamaToolFunction `json:"function"`
}
type OllamaToolCall ¶
type OllamaToolCall struct {
Function struct {
Name string `json:"name"`
Arguments interface{} `json:"arguments"`
} `json:"function"`
}
type OllamaToolFunction ¶
Click to show internal directories.
Click to hide internal directories.