Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
aisbf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexlab
aisbf
Commits
9e298171
Commit
9e298171
authored
Apr 21, 2026
by
Your Name
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix all dict config .models access in handlers.py with getattr
parent
d85a8367
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
20 deletions
+20
-20
handlers.py
aisbf/handlers.py
+20
-20
No files found.
aisbf/handlers.py
View file @
9e298171
...
@@ -1401,7 +1401,7 @@ class RequestHandler:
...
@@ -1401,7 +1401,7 @@ class RequestHandler:
# Skip rate limit and direct model fetch
# Skip rate limit and direct model fetch
model_filter
=
getattr
(
provider_config
,
'model_filter'
,
None
)
model_filter
=
getattr
(
provider_config
,
'model_filter'
,
None
)
if
model_filter
and
(
not
provider_config
.
models
or
len
(
provider_config
.
models
)
==
0
):
if
model_filter
and
(
not
getattr
(
provider_config
,
"models"
,
[])
or
len
(
getattr
(
provider_config
,
"models"
,
[])
)
==
0
):
logger
.
info
(
f
"Applying model filter '{model_filter}' to provider {provider_id}"
)
logger
.
info
(
f
"Applying model filter '{model_filter}' to provider {provider_id}"
)
original_count
=
len
(
models
)
original_count
=
len
(
models
)
models
=
[
m
for
m
in
models
if
model_filter
.
lower
()
in
m
.
id
.
lower
()]
models
=
[
m
for
m
in
models
if
model_filter
.
lower
()
in
m
.
id
.
lower
()]
...
@@ -1421,8 +1421,8 @@ class RequestHandler:
...
@@ -1421,8 +1421,8 @@ class RequestHandler:
# Try to find model config in provider config
# Try to find model config in provider config
model_config
=
None
model_config
=
None
if
provider_config
.
models
:
if
getattr
(
provider_config
,
"models"
,
[])
:
for
m
in
provider_config
.
models
:
for
m
in
getattr
(
provider_config
,
"models"
,
[])
:
if
m
.
name
==
model_name
:
if
m
.
name
==
model_name
:
model_config
=
m
model_config
=
m
break
break
...
@@ -1497,7 +1497,7 @@ class RequestHandler:
...
@@ -1497,7 +1497,7 @@ class RequestHandler:
# Apply model filter if configured and no models are manually specified
# Apply model filter if configured and no models are manually specified
model_filter
=
getattr
(
provider_config
,
'model_filter'
,
None
)
model_filter
=
getattr
(
provider_config
,
'model_filter'
,
None
)
if
model_filter
and
(
not
provider_config
.
models
or
len
(
provider_config
.
models
)
==
0
):
if
model_filter
and
(
not
getattr
(
provider_config
,
"models"
,
[])
or
len
(
getattr
(
provider_config
,
"models"
,
[])
)
==
0
):
import
logging
import
logging
logger
=
logging
.
getLogger
(
__name__
)
logger
=
logging
.
getLogger
(
__name__
)
logger
.
info
(
f
"Applying model filter '{model_filter}' to provider {provider_id}"
)
logger
.
info
(
f
"Applying model filter '{model_filter}' to provider {provider_id}"
)
...
@@ -1521,8 +1521,8 @@ class RequestHandler:
...
@@ -1521,8 +1521,8 @@ class RequestHandler:
# Try to find model config in provider config
# Try to find model config in provider config
model_config
=
None
model_config
=
None
if
provider_config
.
models
:
if
getattr
(
provider_config
,
"models"
,
[])
:
for
m
in
provider_config
.
models
:
for
m
in
getattr
(
provider_config
,
"models"
,
[])
:
if
m
.
name
==
model_name
:
if
m
.
name
==
model_name
:
model_config
=
m
model_config
=
m
break
break
...
@@ -2059,8 +2059,8 @@ class RotationHandler:
...
@@ -2059,8 +2059,8 @@ class RotationHandler:
model
[
field
]
=
provider_default
model
[
field
]
=
provider_default
else
:
else
:
# Auto-derive from first model in provider config if available
# Auto-derive from first model in provider config if available
if
provider_config
and
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
if
provider_config
and
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
first_model
=
provider_config
.
models
[
0
]
first_model
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
# For context_size, check multiple field names (from dynamic fetch)
# For context_size, check multiple field names (from dynamic fetch)
if
field
==
'context_size'
:
if
field
==
'context_size'
:
model_field
=
getattr
(
first_model
,
'context_size'
,
None
)
model_field
=
getattr
(
first_model
,
'context_size'
,
None
)
...
@@ -2137,8 +2137,8 @@ class RotationHandler:
...
@@ -2137,8 +2137,8 @@ class RotationHandler:
provider_id
=
first_provider
.
get
(
'provider_id'
)
provider_id
=
first_provider
.
get
(
'provider_id'
)
provider_config
=
self
.
config
.
get_provider
(
provider_id
)
provider_config
=
self
.
config
.
get_provider
(
provider_id
)
if
provider_config
and
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
if
provider_config
and
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
first_model
=
provider_config
.
models
[
0
]
first_model
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
# Check for context_size, context_window, or context_length
# Check for context_size, context_window, or context_length
if
field
==
'context_size'
:
if
field
==
'context_size'
:
model_field
=
getattr
(
first_model
,
'context_size'
,
None
)
model_field
=
getattr
(
first_model
,
'context_size'
,
None
)
...
@@ -2441,10 +2441,10 @@ class RotationHandler:
...
@@ -2441,10 +2441,10 @@ class RotationHandler:
logger
.
info
(
f
" Will use models from provider configuration"
)
logger
.
info
(
f
" Will use models from provider configuration"
)
# Get models from provider config
# Get models from provider config
if
provider_config
.
models
:
if
getattr
(
provider_config
,
"models"
,
[])
:
# Use models from provider config with provider-level weight
# Use models from provider config with provider-level weight
rotation_models
=
[]
rotation_models
=
[]
for
provider_model
in
provider_config
.
models
:
for
provider_model
in
getattr
(
provider_config
,
"models"
,
[])
:
model_dict
=
{
model_dict
=
{
'name'
:
provider_model
.
name
,
'name'
:
provider_model
.
name
,
'weight'
:
provider_weight
,
# Use provider-level weight
'weight'
:
provider_weight
,
# Use provider-level weight
...
@@ -3745,15 +3745,15 @@ class RotationHandler:
...
@@ -3745,15 +3745,15 @@ class RotationHandler:
elif
provider_config
:
elif
provider_config
:
# Try to find in provider config
# Try to find in provider config
found_in_provider
=
False
found_in_provider
=
False
for
pm
in
provider_config
.
models
or
[]:
for
pm
in
getattr
(
provider_config
,
"models"
,
[])
or
[]:
if
pm
.
name
==
model_name
and
hasattr
(
pm
,
'context_size'
)
and
pm
.
context_size
:
if
pm
.
name
==
model_name
and
hasattr
(
pm
,
'context_size'
)
and
pm
.
context_size
:
model_dict
[
'context_window'
]
=
pm
.
context_size
model_dict
[
'context_window'
]
=
pm
.
context_size
found_in_provider
=
True
found_in_provider
=
True
break
break
if
not
found_in_provider
:
if
not
found_in_provider
:
# Auto-derive from first model in provider (which has context_size from dynamic fetch)
# Auto-derive from first model in provider (which has context_size from dynamic fetch)
if
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
if
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
first_model
=
provider_config
.
models
[
0
]
first_model
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
if
hasattr
(
first_model
,
'context_size'
)
and
first_model
.
context_size
:
if
hasattr
(
first_model
,
'context_size'
)
and
first_model
.
context_size
:
model_dict
[
'context_window'
]
=
first_model
.
context_size
model_dict
[
'context_window'
]
=
first_model
.
context_size
elif
hasattr
(
first_model
,
'context_window'
)
and
first_model
.
context_window
:
elif
hasattr
(
first_model
,
'context_window'
)
and
first_model
.
context_window
:
...
@@ -3770,7 +3770,7 @@ class RotationHandler:
...
@@ -3770,7 +3770,7 @@ class RotationHandler:
model_dict
[
'capabilities'
]
=
model
[
'capabilities'
]
model_dict
[
'capabilities'
]
=
model
[
'capabilities'
]
elif
provider_config
:
elif
provider_config
:
# Try to find in provider config
# Try to find in provider config
for
pm
in
provider_config
.
models
or
[]:
for
pm
in
getattr
(
provider_config
,
"models"
,
[])
or
[]:
if
pm
.
name
==
model_name
and
hasattr
(
pm
,
'capabilities'
):
if
pm
.
name
==
model_name
and
hasattr
(
pm
,
'capabilities'
):
model_dict
[
'capabilities'
]
=
pm
.
capabilities
model_dict
[
'capabilities'
]
=
pm
.
capabilities
break
break
...
@@ -4225,8 +4225,8 @@ class AutoselectHandler:
...
@@ -4225,8 +4225,8 @@ class AutoselectHandler:
provider_config
=
self
.
config
.
get_provider
(
selection_model
)
provider_config
=
self
.
config
.
get_provider
(
selection_model
)
# Get first available model from provider
# Get first available model from provider
if
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
if
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
model_name
=
provider_config
.
models
[
0
]
.
name
model_name
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
.
name
logger
.
info
(
f
" Using model: {model_name}"
)
logger
.
info
(
f
" Using model: {model_name}"
)
request_handler
=
RequestHandler
()
request_handler
=
RequestHandler
()
...
@@ -4633,8 +4633,8 @@ class AutoselectHandler:
...
@@ -4633,8 +4633,8 @@ class AutoselectHandler:
provider_config
=
self
.
config
.
get_provider
(
selected_model_id
)
provider_config
=
self
.
config
.
get_provider
(
selected_model_id
)
# Get first available model from provider
# Get first available model from provider
if
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
if
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
model_name
=
provider_config
.
models
[
0
]
.
name
model_name
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
.
name
logger
.
info
(
f
" Using model: {model_name}"
)
logger
.
info
(
f
" Using model: {model_name}"
)
request_handler
=
RequestHandler
()
request_handler
=
RequestHandler
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment