Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
赵月辉
/
fastgpt-migrated
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Unverified
Commit
f52f514f
authored
May 09, 2023
by
archer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: callback training data
parent
fac53923
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
32 additions
and
9 deletions
+32
-9
src/api/model.ts
+4
-1
src/pages/api/model/data/getTrainingData.ts
+18
-2
src/pages/api/model/data/splitData.ts
+2
-2
src/pages/model/components/detail/components/ModelDataCard.tsx
+8
-4
No files found.
src/api/model.ts
View file @
f52f514f
...
...
@@ -52,7 +52,10 @@ export const getExportDataList = (modelId: string) =>
* 获取模型正在拆分数据的数量
*/
export
const
getModelSplitDataListLen
=
(
modelId
:
string
)
=>
GET
<
number
>
(
`/model/data/getSplitData?modelId=
${
modelId
}
`
);
GET
<
{
splitDataQueue
:
number
;
embeddingQueue
:
number
;
}
>
(
`/model/data/getTrainingData?modelId=
${
modelId
}
`
);
/**
* 获取 web 页面内容
...
...
src/pages/api/model/data/get
Split
Data.ts
→
src/pages/api/model/data/get
Training
Data.ts
View file @
f52f514f
...
...
@@ -2,6 +2,8 @@ import type { NextApiRequest, NextApiResponse } from 'next';
import
{
jsonRes
}
from
'@/service/response'
;
import
{
connectToDatabase
,
SplitData
,
Model
}
from
'@/service/mongo'
;
import
{
authToken
}
from
'@/service/utils/auth'
;
import
{
ModelDataStatusEnum
}
from
'@/constants/model'
;
import
{
PgClient
}
from
'@/service/pg'
;
/* 拆分数据成QA */
export
default
async
function
handler
(
req
:
NextApiRequest
,
res
:
NextApiResponse
)
{
...
...
@@ -14,15 +16,29 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const
userId
=
await
authToken
(
req
);
//
找到长度大于0的数据
//
split queue data
const
data
=
await
SplitData
.
find
({
userId
,
modelId
,
textList
:
{
$exists
:
true
,
$not
:
{
$size
:
0
}
}
});
// embedding queue data
const
where
:
any
=
[
[
'user_id'
,
userId
],
'AND'
,
[
'model_id'
,
modelId
],
'AND'
,
[
'status'
,
ModelDataStatusEnum
.
waiting
]
];
jsonRes
(
res
,
{
data
:
data
.
map
((
item
)
=>
item
.
textList
).
flat
().
length
data
:
{
splitDataQueue
:
data
.
map
((
item
)
=>
item
.
textList
).
flat
().
length
,
embeddingQueue
:
await
PgClient
.
count
(
'modelData'
,
{
where
})
}
});
}
catch
(
err
)
{
jsonRes
(
res
,
{
...
...
src/pages/api/model/data/splitData.ts
View file @
f52f514f
import
type
{
NextApiRequest
,
NextApiResponse
}
from
'next'
;
import
{
jsonRes
}
from
'@/service/response'
;
import
{
connectToDatabase
,
SplitData
,
Model
}
from
'@/service/mongo'
;
import
{
connectToDatabase
,
SplitData
}
from
'@/service/mongo'
;
import
{
authModel
,
authToken
}
from
'@/service/utils/auth'
;
import
{
generateVector
}
from
'@/service/events/generateVector'
;
import
{
generateQA
}
from
'@/service/events/generateQA'
;
...
...
@@ -65,7 +65,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
export
const
config
=
{
api
:
{
bodyParser
:
{
sizeLimit
:
'10mb'
sizeLimit
:
'10
0
mb'
}
}
};
src/pages/model/components/detail/components/ModelDataCard.tsx
View file @
f52f514f
...
...
@@ -88,7 +88,7 @@ const ModelDataCard = ({ modelId, isOwner }: { modelId: string; isOwner: boolean
onClose
:
onCloseSelectCsvModal
}
=
useDisclosure
();
const
{
data
:
splitDataLen
=
0
,
refetch
}
=
useQuery
(
const
{
data
:
{
splitDataQueue
=
0
,
embeddingQueue
=
0
}
=
{}
,
refetch
}
=
useQuery
(
[
'getModelSplitDataList'
],
()
=>
getModelSplitDataListLen
(
modelId
),
{
...
...
@@ -109,7 +109,7 @@ const ModelDataCard = ({ modelId, isOwner }: { modelId: string; isOwner: boolean
useQuery
([
'refetchData'
],
()
=>
refetchData
(
pageNum
),
{
refetchInterval
:
5000
,
enabled
:
splitData
Len
>
0
enabled
:
splitData
Queue
>
0
||
embeddingQueue
>
0
});
// 获取所有的数据,并导出 json
...
...
@@ -186,8 +186,12 @@ const ModelDataCard = ({ modelId, isOwner }: { modelId: string; isOwner: boolean
)
}
</
Flex
>
<
Flex
mt=
{
4
}
>
{
isOwner
&&
splitDataLen
>
0
&&
(
<
Box
fontSize=
{
'xs'
}
>
{
splitDataLen
}
条数据正在拆分,请耐心等待...
</
Box
>
{
isOwner
&&
(
splitDataQueue
>
0
||
embeddingQueue
>
0
)
&&
(
<
Box
fontSize=
{
'xs'
}
>
{
splitDataQueue
>
0
?
`${splitDataQueue}条数据正在拆分,`
:
''
}
{
embeddingQueue
>
0
?
`${embeddingQueue}条数据正在生成索引,`
:
''
}
请耐心等待...
</
Box
>
)
}
<
Box
flex=
{
1
}
/>
<
Input
...
...
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