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
090bd7ca
Commit
090bd7ca
authored
Jun 20, 2023
by
John Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: hit test npe
parent
e14ffcca
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
0 deletions
+29
-0
multi_dataset_router_chain.py
api/core/chain/multi_dataset_router_chain.py
+3
-0
dataset.py
api/models/dataset.py
+17
-0
hit_testing_service.py
api/services/hit_testing_service.py
+9
-0
No files found.
api/core/chain/multi_dataset_router_chain.py
View file @
090bd7ca
...
...
@@ -106,6 +106,9 @@ class MultiDatasetRouterChain(Chain):
dataset_tools
=
{}
for
dataset
in
datasets
:
# fulfill description when it is empty
if
dataset
.
available_document_count
==
0
or
dataset
.
available_document_count
==
0
:
continue
description
=
dataset
.
description
if
not
description
:
description
=
'useful for when you want to answer queries about the '
+
dataset
.
name
...
...
api/models/dataset.py
View file @
090bd7ca
...
...
@@ -66,6 +66,23 @@ class Dataset(db.Model):
def
document_count
(
self
):
return
db
.
session
.
query
(
func
.
count
(
Document
.
id
))
.
filter
(
Document
.
dataset_id
==
self
.
id
)
.
scalar
()
@
property
def
available_document_count
(
self
):
return
db
.
session
.
query
(
func
.
count
(
Document
.
id
))
.
filter
(
Document
.
dataset_id
==
self
.
id
,
Document
.
indexing_status
==
'completed'
,
Document
.
enabled
==
True
,
Document
.
archived
==
False
)
.
scalar
()
@
property
def
available_segment_count
(
self
):
return
db
.
session
.
query
(
func
.
count
(
DocumentSegment
.
id
))
.
filter
(
DocumentSegment
.
dataset_id
==
self
.
id
,
DocumentSegment
.
status
==
'completed'
,
DocumentSegment
.
enabled
==
True
)
.
scalar
()
@
property
def
word_count
(
self
):
return
Document
.
query
.
with_entities
(
func
.
coalesce
(
func
.
sum
(
Document
.
word_count
)))
\
...
...
api/services/hit_testing_service.py
View file @
090bd7ca
...
...
@@ -20,6 +20,15 @@ from models.dataset import Dataset, DocumentSegment, DatasetQuery
class
HitTestingService
:
@
classmethod
def
retrieve
(
cls
,
dataset
:
Dataset
,
query
:
str
,
account
:
Account
,
limit
:
int
=
10
)
->
dict
:
if
dataset
.
available_document_count
==
0
or
dataset
.
available_document_count
==
0
:
return
{
"query"
:
{
"content"
:
query
,
"tsne_position"
:
{
'x'
:
0
,
'y'
:
0
},
},
"records"
:
[]
}
model_credentials
=
LLMBuilder
.
get_model_credentials
(
tenant_id
=
dataset
.
tenant_id
,
model_provider
=
LLMBuilder
.
get_default_provider
(
dataset
.
tenant_id
),
...
...
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