Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewModelManager ¶ added in v0.0.53
func NewModelManager(runtime *runtimestate.State, tokenizer ollamatokenizer.Tokenizer, config ModelManagerConfig) (*modelManager, error)
Types ¶
type EmbedRequest ¶ added in v0.0.53
type EmbedRequest struct {
ModelName string
ProviderType string
Tracker activitytracker.ActivityTracker
}
type ModelConfig ¶ added in v0.0.53
type ModelManagerConfig ¶ added in v0.0.53
type ModelManagerConfig struct {
DefaultPromptModel ModelConfig
DefaultEmbeddingModel ModelConfig
DefaultChatModel ModelConfig
}
type ModelRepo ¶
type ModelRepo interface {
Tokenize(ctx context.Context, modelName string, prompt string) ([]int, error)
CountTokens(ctx context.Context, modelName string, prompt string) (int, error)
PromptExecute(
ctx context.Context,
req Request,
systeminstruction string, temperature float32, prompt string,
) (string, Meta, error)
Chat(
ctx context.Context,
req Request,
Messages []libmodelprovider.Message, opts ...libmodelprovider.ChatOption,
) (libmodelprovider.Message, Meta, error)
Embed(
ctx context.Context,
embedReq EmbedRequest,
prompt string,
) ([]float64, Meta, error)
Stream(
ctx context.Context,
req Request,
prompt string,
) (<-chan *libmodelprovider.StreamParcel, Meta, error)
}
type Request ¶ added in v0.0.53
type Request struct {
ProviderTypes []string // Optional: if empty, uses all default providers
ModelNames []string // Optional: if empty, any model is considered
ContextLength int // Minimum required context length
Tracker activitytracker.ActivityTracker
}
Unified Request type for all operations
Click to show internal directories.
Click to hide internal directories.