32 lines
771 B
Go
32 lines
771 B
Go
package models
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.cin.su/m/Assistant/contracts/capability"
|
|
"git.cin.su/m/Assistant/contracts/cognitive"
|
|
)
|
|
|
|
type ProviderProbe struct {
|
|
Health capability.HealthState
|
|
Version string
|
|
Failure cognitive.FinishReason
|
|
}
|
|
|
|
type DiscoveredModel struct {
|
|
ProviderModelID capability.ProviderModelID
|
|
Fingerprint capability.ModelFingerprint
|
|
MaxContextBytes int64
|
|
Modalities []capability.ModelModality
|
|
Capabilities []capability.ModelCapability
|
|
SizeBytes int64
|
|
Runtime string
|
|
Quantization string
|
|
}
|
|
|
|
type LocalProvider interface {
|
|
Probe(context.Context) ProviderProbe
|
|
Discover(context.Context) ([]DiscoveredModel, ProviderProbe)
|
|
Advise(context.Context, cognitive.AdvisoryRequest) (cognitive.AdvisoryResponse, error)
|
|
}
|