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:
# Skip rate limit and direct model fetch
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}"
)
original_count
=
len
(
models
)
models
=
[
m
for
m
in
models
if
model_filter
.
lower
()
in
m
.
id
.
lower
()]
...
...
@@ -1421,8 +1421,8 @@ class RequestHandler:
# Try to find model config in provider config
model_config
=
None
if
provider_config
.
models
:
for
m
in
provider_config
.
models
:
if
getattr
(
provider_config
,
"models"
,
[])
:
for
m
in
getattr
(
provider_config
,
"models"
,
[])
:
if
m
.
name
==
model_name
:
model_config
=
m
break
...
...
@@ -1497,7 +1497,7 @@ class RequestHandler:
# Apply model filter if configured and no models are manually specified
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
logger
=
logging
.
getLogger
(
__name__
)
logger
.
info
(
f
"Applying model filter '{model_filter}' to provider {provider_id}"
)
...
...
@@ -1521,8 +1521,8 @@ class RequestHandler:
# Try to find model config in provider config
model_config
=
None
if
provider_config
.
models
:
for
m
in
provider_config
.
models
:
if
getattr
(
provider_config
,
"models"
,
[])
:
for
m
in
getattr
(
provider_config
,
"models"
,
[])
:
if
m
.
name
==
model_name
:
model_config
=
m
break
...
...
@@ -2059,8 +2059,8 @@ class RotationHandler:
model
[
field
]
=
provider_default
else
:
# Auto-derive from first model in provider config if available
if
provider_config
and
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
first_model
=
provider_config
.
models
[
0
]
if
provider_config
and
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
first_model
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
# For context_size, check multiple field names (from dynamic fetch)
if
field
==
'context_size'
:
model_field
=
getattr
(
first_model
,
'context_size'
,
None
)
...
...
@@ -2137,8 +2137,8 @@ class RotationHandler:
provider_id
=
first_provider
.
get
(
'provider_id'
)
provider_config
=
self
.
config
.
get_provider
(
provider_id
)
if
provider_config
and
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
first_model
=
provider_config
.
models
[
0
]
if
provider_config
and
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
first_model
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
# Check for context_size, context_window, or context_length
if
field
==
'context_size'
:
model_field
=
getattr
(
first_model
,
'context_size'
,
None
)
...
...
@@ -2441,10 +2441,10 @@ class RotationHandler:
logger
.
info
(
f
" Will use models from provider configuration"
)
# Get models from provider config
if
provider_config
.
models
:
if
getattr
(
provider_config
,
"models"
,
[])
:
# Use models from provider config with provider-level weight
rotation_models
=
[]
for
provider_model
in
provider_config
.
models
:
for
provider_model
in
getattr
(
provider_config
,
"models"
,
[])
:
model_dict
=
{
'name'
:
provider_model
.
name
,
'weight'
:
provider_weight
,
# Use provider-level weight
...
...
@@ -3745,15 +3745,15 @@ class RotationHandler:
elif
provider_config
:
# Try to find in provider config
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
:
model_dict
[
'context_window'
]
=
pm
.
context_size
found_in_provider
=
True
break
if
not
found_in_provider
:
# Auto-derive from first model in provider (which has context_size from dynamic fetch)
if
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
first_model
=
provider_config
.
models
[
0
]
if
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
first_model
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
if
hasattr
(
first_model
,
'context_size'
)
and
first_model
.
context_size
:
model_dict
[
'context_window'
]
=
first_model
.
context_size
elif
hasattr
(
first_model
,
'context_window'
)
and
first_model
.
context_window
:
...
...
@@ -3770,7 +3770,7 @@ class RotationHandler:
model_dict
[
'capabilities'
]
=
model
[
'capabilities'
]
elif
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'
):
model_dict
[
'capabilities'
]
=
pm
.
capabilities
break
...
...
@@ -4225,8 +4225,8 @@ class AutoselectHandler:
provider_config
=
self
.
config
.
get_provider
(
selection_model
)
# Get first available model from provider
if
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
model_name
=
provider_config
.
models
[
0
]
.
name
if
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
model_name
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
.
name
logger
.
info
(
f
" Using model: {model_name}"
)
request_handler
=
RequestHandler
()
...
...
@@ -4633,8 +4633,8 @@ class AutoselectHandler:
provider_config
=
self
.
config
.
get_provider
(
selected_model_id
)
# Get first available model from provider
if
provider_config
.
models
and
len
(
provider_config
.
models
)
>
0
:
model_name
=
provider_config
.
models
[
0
]
.
name
if
getattr
(
provider_config
,
"models"
,
[])
and
len
(
getattr
(
provider_config
,
"models"
,
[])
)
>
0
:
model_name
=
getattr
(
provider_config
,
"models"
,
[])
[
0
]
.
name
logger
.
info
(
f
" Using model: {model_name}"
)
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