summaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/models.go14
-rw-r--r--models/openrouter.go13
2 files changed, 27 insertions, 0 deletions
diff --git a/models/models.go b/models/models.go
index 973eb3d..97d0272 100644
--- a/models/models.go
+++ b/models/models.go
@@ -608,6 +608,20 @@ func (lcp *LCPModels) ListModels() []string {
return resp
}
+func (lcp *LCPModels) HasVision(modelID string) bool {
+ for _, m := range lcp.Data {
+ if m.ID == modelID {
+ args := m.Status.Args
+ for i := 0; i < len(args)-1; i++ {
+ if args[i] == "--mmproj" {
+ return true
+ }
+ }
+ }
+ }
+ return false
+}
+
type ResponseStats struct {
Tokens int
Duration float64
diff --git a/models/openrouter.go b/models/openrouter.go
index 62709a1..2dd49cc 100644
--- a/models/openrouter.go
+++ b/models/openrouter.go
@@ -172,3 +172,16 @@ func (orm *ORModels) ListModels(free bool) []string {
}
return resp
}
+
+func (orm *ORModels) HasVision(modelID string) bool {
+ for i := range orm.Data {
+ if orm.Data[i].ID == modelID {
+ for _, mod := range orm.Data[i].Architecture.InputModalities {
+ if mod == "image" {
+ return true
+ }
+ }
+ }
+ }
+ return false
+}