Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dify
Project
Project
Details
Activity
Releases
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
ai-tech
dify
Commits
8e15ba6c
Unverified
Commit
8e15ba6c
authored
Aug 13, 2023
by
takatost
Committed by
GitHub
Aug 13, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix/no trial provider (#823)
parent
7898937e
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
4 deletions
+36
-4
model_provider_factory.py
api/core/model_providers/model_provider_factory.py
+28
-4
provider_service.py
api/services/provider_service.py
+8
-0
No files found.
api/core/model_providers/model_provider_factory.py
View file @
8e15ba6c
...
@@ -168,11 +168,35 @@ class ModelProviderFactory:
...
@@ -168,11 +168,35 @@ class ModelProviderFactory:
model_provider_rules
=
ModelProviderFactory
.
get_provider_rule
(
model_provider_name
)
model_provider_rules
=
ModelProviderFactory
.
get_provider_rule
(
model_provider_name
)
for
quota_type_enum
in
ProviderQuotaType
:
for
quota_type_enum
in
ProviderQuotaType
:
quota_type
=
quota_type_enum
.
value
quota_type
=
quota_type_enum
.
value
if
quota_type
in
model_provider_rules
[
'system_config'
][
'supported_quota_types'
]
\
if
quota_type
in
model_provider_rules
[
'system_config'
][
'supported_quota_types'
]
:
and
quota_type
in
quota_type_to_provider_dict
.
keys
():
if
quota_type
in
quota_type_to_provider_dict
.
keys
():
provider
=
quota_type_to_provider_dict
[
quota_type
]
provider
=
quota_type_to_provider_dict
[
quota_type
]
if
provider
.
is_valid
and
provider
.
quota_limit
>
provider
.
quota_used
:
if
provider
.
is_valid
and
provider
.
quota_limit
>
provider
.
quota_used
:
return
provider
return
provider
elif
quota_type
==
ProviderQuotaType
.
TRIAL
.
value
:
try
:
provider
=
Provider
(
tenant_id
=
tenant_id
,
provider_name
=
model_provider_name
,
provider_type
=
ProviderType
.
SYSTEM
.
value
,
is_valid
=
True
,
quota_type
=
ProviderQuotaType
.
TRIAL
.
value
,
quota_limit
=
model_provider_rules
[
'system_config'
][
'quota_limit'
],
quota_used
=
0
)
db
.
session
.
add
(
provider
)
db
.
session
.
commit
()
except
IntegrityError
:
db
.
session
.
rollback
()
provider
=
db
.
session
.
query
(
Provider
)
\
.
filter
(
Provider
.
tenant_id
==
tenant_id
,
Provider
.
provider_name
==
model_provider_name
,
Provider
.
provider_type
==
ProviderType
.
SYSTEM
.
value
,
Provider
.
quota_type
==
ProviderQuotaType
.
TRIAL
.
value
)
.
first
()
return
provider
no_system_provider
=
True
no_system_provider
=
True
...
...
api/services/provider_service.py
View file @
8e15ba6c
...
@@ -23,6 +23,14 @@ class ProviderService:
...
@@ -23,6 +23,14 @@ class ProviderService:
# get rules for all providers
# get rules for all providers
model_provider_rules
=
ModelProviderFactory
.
get_provider_rules
()
model_provider_rules
=
ModelProviderFactory
.
get_provider_rules
()
model_provider_names
=
[
model_provider_name
for
model_provider_name
,
_
in
model_provider_rules
.
items
()]
model_provider_names
=
[
model_provider_name
for
model_provider_name
,
_
in
model_provider_rules
.
items
()]
for
model_provider_name
,
model_provider_rule
in
model_provider_rules
.
items
():
if
ProviderType
.
SYSTEM
.
value
in
model_provider_rule
[
'support_provider_types'
]
\
and
'system_config'
in
model_provider_rule
and
model_provider_rule
[
'system_config'
]
\
and
'supported_quota_types'
in
model_provider_rule
[
'system_config'
]
\
and
'trial'
in
model_provider_rule
[
'system_config'
][
'supported_quota_types'
]:
ModelProviderFactory
.
get_preferred_model_provider
(
tenant_id
,
model_provider_name
)
configurable_model_provider_names
=
[
configurable_model_provider_names
=
[
model_provider_name
model_provider_name
for
model_provider_name
,
model_provider_rules
in
model_provider_rules
.
items
()
for
model_provider_name
,
model_provider_rules
in
model_provider_rules
.
items
()
...
...
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