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
bfe00db8
Commit
bfe00db8
authored
Jun 23, 2023
by
John Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add recreate command
parent
654d4a89
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
3 deletions
+29
-3
commands.py
api/commands.py
+26
-0
index.py
api/core/index/index.py
+3
-3
No files found.
api/commands.py
View file @
bfe00db8
import
datetime
import
logging
import
random
import
string
import
click
from
flask
import
current_app
from
core.index.index
import
IndexBuilder
from
libs.password
import
password_pattern
,
valid_password
,
hash_password
from
libs.helper
import
email
as
email_validate
from
extensions.ext_database
import
db
from
libs.rsa
import
generate_key_pair
from
models.account
import
InvitationCode
,
Tenant
from
models.dataset
import
Dataset
from
models.model
import
Account
import
secrets
import
base64
...
...
@@ -159,8 +162,31 @@ def generate_upper_string():
return
result
@
click
.
command
(
'recreate-all-dataset-indexes'
,
help
=
'Recreate all dataset indexes.'
)
def
recreate_all_dataset_indexes
():
click
.
echo
(
click
.
style
(
'Start recreate all dataset indexes.'
,
fg
=
'green'
))
recreate_count
=
0
datasets
=
db
.
session
.
query
(
Dataset
)
.
filter
(
Dataset
.
indexing_technique
==
'high_quality'
)
.
all
()
for
dataset
in
datasets
:
try
:
click
.
echo
(
'Recreating dataset index: {}'
.
format
(
dataset
.
id
))
index
=
IndexBuilder
.
get_index
(
dataset
,
'high_quality'
)
if
index
and
index
.
_is_origin
():
index
.
recreate_dataset
(
dataset
)
recreate_count
+=
1
else
:
click
.
echo
(
'passed.'
)
except
Exception
as
e
:
click
.
echo
(
click
.
style
(
'Recreate dataset index error: {} {}'
.
format
(
e
.
__class__
.
__name__
,
str
(
e
)),
fg
=
'red'
))
continue
click
.
echo
(
click
.
style
(
'Congratulations! Recreate {} dataset indexes.'
.
format
(
recreate_count
),
fg
=
'green'
))
def
register_commands
(
app
):
app
.
cli
.
add_command
(
reset_password
)
app
.
cli
.
add_command
(
reset_email
)
app
.
cli
.
add_command
(
generate_invitation_codes
)
app
.
cli
.
add_command
(
reset_encrypt_key_pair
)
app
.
cli
.
add_command
(
recreate_all_dataset_indexes
)
api/core/index/index.py
View file @
bfe00db8
...
...
@@ -10,8 +10,8 @@ from models.dataset import Dataset
class
IndexBuilder
:
@
classmethod
def
get_index
(
cls
,
dataset
:
Dataset
,
high_quality
:
str
):
if
high_quality
==
"high_quality"
:
def
get_index
(
cls
,
dataset
:
Dataset
,
indexing_technique
:
str
):
if
indexing_technique
==
"high_quality"
:
if
dataset
.
indexing_technique
!=
'high_quality'
:
return
None
...
...
@@ -30,7 +30,7 @@ class IndexBuilder:
config
=
current_app
.
config
,
embeddings
=
embeddings
)
elif
high_quality
==
"economy"
:
elif
indexing_technique
==
"economy"
:
return
KeywordTableIndex
(
dataset
=
dataset
,
config
=
KeywordTableConfig
(
...
...
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