Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
db_gpt
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
linyangyang
db_gpt
Commits
93229785
Commit
93229785
authored
Aug 13, 2024
by
于飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
铭感词
parent
789d86ac
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
152 additions
and
2 deletions
+152
-2
crud.py
dbgpt/app/apps/vadmin/word/crud.py
+25
-0
sensitive.py
dbgpt/app/apps/vadmin/word/models/sensitive.py
+19
-0
sensitive.py
dbgpt/app/apps/vadmin/word/params/sensitive.py
+26
-0
__init__.py
dbgpt/app/apps/vadmin/word/schemas/__init__.py
+2
-0
sensitive.py
dbgpt/app/apps/vadmin/word/schemas/sensitive.py
+47
-0
views.py
dbgpt/app/apps/vadmin/word/views.py
+33
-2
No files found.
dbgpt/app/apps/vadmin/word/crud.py
View file @
93229785
...
...
@@ -28,6 +28,8 @@ from dbgpt.app.apps.utils.tools import test_password
from
.
import
models
,
schemas
from
.params.similar
import
SimilarParams
from
.schemas.similar
import
SimilarIn
from
.schemas.sensitive
import
SensitiveIn
from
.models
import
sensitive
from
dbgpt.app.apps.config
import
settings
from
dbgpt.app.apps.utils.excel.excel_manage
import
ExcelManage
...
...
@@ -56,6 +58,9 @@ class SimilarDal(DalBase):
return
list
(
queryset
.
all
())
async
def
get_similar_byid
(
self
,
qid
):
"""
根据ID查询,近义词
"""
sql1
=
select
(
models
.
similar
.
VadminWordSimilar
)
.
where
(
models
.
similar
.
VadminWordSimilar
.
id
==
qid
)
queryset1
=
await
self
.
db
.
scalars
(
sql1
)
similar1
=
queryset1
.
unique
()
.
first
()
...
...
@@ -64,6 +69,18 @@ class SimilarDal(DalBase):
else
:
print
(
f
"编号:{similar1.id} 词条:{similar1.word_name} 近义词:{similar1.similar_name} "
)
async
def
delete_similar_byid
(
self
,
qid
):
"""
根据ID删除一个近义词
"""
sql1
=
self
.
delete_datas
(
qid
)
queryset1
=
await
self
.
db
.
scalars
(
sql1
)
similar1
=
queryset1
.
unique
()
.
first
()
if
similar1
is
None
:
print
(
'similar1 is None'
)
else
:
print
(
f
"编号:{similar1.id} 词条:{similar1.word_name} 近义词:{similar1.similar_name} "
)
async
def
create_similar_data
(
self
,
data
:
SimilarIn
,
...
...
@@ -96,4 +113,12 @@ class SimilarDal(DalBase):
await
self
.
db
.
commit
()
return
None
class
SensitiveDal
(
DalBase
):
def
__init__
(
self
,
db
:
AsyncSession
):
super
(
SensitiveDal
,
self
)
.
__init__
()
self
.
db
=
db
self
.
model
=
models
.
sensitive
.
VadminWordSensitive
self
.
schema
=
schemas
.
sensitive
.
SensitiveSchemas
dbgpt/app/apps/vadmin/word/models/sensitive.py
0 → 100644
View file @
93229785
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Create Time : 2022/7/7 13:41
# @File : user.py
# @IDE : PyCharm
# @desc : 敏感词模型
from
datetime
import
datetime
from
sqlalchemy.orm
import
relationship
,
Mapped
,
mapped_column
from
sqlalchemy
import
Column
,
DateTime
,
Integer
,
String
,
Text
,
func
from
dbgpt.app.apps.db.db_base
import
BaseModel
class
VadminWordSensitive
(
BaseModel
):
__tablename__
=
"vadmin_word_sensitive"
__table_args__
=
({
'comment'
:
'敏感词表'
})
word_name
:
Mapped
[
str
]
=
mapped_column
(
String
(
100
),
index
=
True
,
nullable
=
False
,
comment
=
"词条"
)
\ No newline at end of file
dbgpt/app/apps/vadmin/word/params/sensitive.py
0 → 100644
View file @
93229785
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Create Time : 2021/10/18 22:19
# @File : user.py
# @IDE : PyCharm
# @desc : 查询参数-类依赖项
"""
类依赖项-官方文档:https://fastapi.tiangolo.com/zh/tutorial/dependencies/classes-as-dependencies/
"""
from
fastapi
import
Depends
,
Query
from
dbgpt.app.apps.core.dependencies
import
Paging
,
QueryParams
class
SensitiveParams
(
QueryParams
):
"""
列表分页
"""
def
__init__
(
self
,
word_name
:
str
|
None
=
Query
(
None
,
title
=
"词条"
),
):
self
.
word_name
=
(
"like"
,
word_name
)
dbgpt/app/apps/vadmin/word/schemas/__init__.py
View file @
93229785
from
.sensitive
import
SensitiveIn
from
.similar
import
SimilarIn
\ No newline at end of file
dbgpt/app/apps/vadmin/word/schemas/sensitive.py
0 → 100644
View file @
93229785
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Create Time : 2021/10/18 22:19
# @File : user.py
# @IDE : PyCharm
# @desc : pydantic 模型,用于数据库序列化操作
from
datetime
import
datetime
from
pydantic
import
BaseModel
,
ConfigDict
,
field_validator
from
pydantic_core.core_schema
import
FieldValidationInfo
class
SensitiveSchemas
(
BaseModel
):
word_name
:
str
|
None
=
""
is_delete
:
int
|
None
=
0
create_datetime
:
datetime
|
None
=
None
update_datetime
:
datetime
|
None
=
None
delete_datetime
:
datetime
|
None
=
None
class
SensitiveIn
(
SensitiveSchemas
):
"""
创建近义词
"""
word_name
:
str
|
None
=
""
is_delete
:
int
|
None
=
0
create_datetime
:
datetime
|
None
=
None
update_datetime
:
datetime
|
None
=
None
delete_datetime
:
datetime
|
None
=
None
class
SensitiveOut
(
SensitiveSchemas
):
word_name
:
str
|
None
=
""
is_delete
:
int
|
None
=
0
create_datetime
:
datetime
|
None
=
None
update_datetime
:
datetime
|
None
=
None
delete_datetime
:
datetime
|
None
=
None
class
SensitiveUpdate
(
BaseModel
):
"""
更新近义词信息
"""
word_name
:
str
|
None
=
""
is_delete
:
int
|
None
=
0
create_datetime
:
datetime
|
None
=
None
update_datetime
:
datetime
|
None
=
None
delete_datetime
:
datetime
|
None
=
None
dbgpt/app/apps/vadmin/word/views.py
View file @
93229785
from
redis.asyncio
import
Redis
from
fastapi
import
APIRouter
,
Depends
,
Body
,
UploadFile
,
Request
from
dbgpt.app.apps.utils.response
import
SuccessResponse
from
dbgpt.app.apps.utils.response
import
SuccessResponse
,
ErrorResponse
from
dbgpt.app.apps.vadmin.auth.utils.current
import
AllUserAuth
,
FullAdminAuth
,
OpenAuth
from
dbgpt.app.apps.vadmin.auth.utils.validation.auth
import
Auth
from
.
import
schemas
,
crud
,
models
from
dbgpt.app.apps.vadmin.word.models.similar
import
VadminWordSimilar
from
dbgpt.app.apps.vadmin.word.params.similar
import
SimilarParams
from
dbgpt.app.apps.vadmin.word.schemas.similar
import
SimilarSchemas
,
SimilarIn
...
...
@@ -51,3 +52,33 @@ async def create_similar(data: Request, auth: Auth = Depends(OpenAuth())):
datas
=
[]
return
SuccessResponse
(
datas
,
count
=
1
)
@
router
.
post
(
"/delete_similars"
,
summary
=
"根据id删除同义词"
)
async
def
delete_similars
(
data
:
Request
,
auth
:
Auth
=
Depends
(
OpenAuth
())):
if
data
is
None
:
print
(
'SimilarIn is None'
)
return
ErrorResponse
(
"不能删除当前近义词"
)
"""
else:
print(f"req词条:{data.query_params['word_name']} req近义词:{data.query_params['similar_name']} ")
"""
similarids
=
[
7
]
await
crud
.
SimilarDal
(
auth
.
db
)
.
delete_datas
(
ids
=
similarids
,
v_soft
=
True
)
return
SuccessResponse
(
"删除成功"
)
@
router
.
get
(
"/update_similar_byid"
,
summary
=
"根据id修改同义词"
)
async
def
update_similar_byid
(
auth
:
Auth
=
Depends
(
OpenAuth
())):
model
=
VadminWordSimilar
print
(
f
"编号:{model.id} 近义词:{model.word_name}"
)
datas
=
await
crud
.
SimilarDal
(
auth
.
db
)
.
get_similars
()
jsondatas
=
jsonable_encoder
(
datas
)
for
row
in
datas
:
print
(
f
"编号:{row.id} 词条:{row.word_name} 近义词:{row.similar_name} "
)
return
SuccessResponse
(
jsondatas
,
count
=
1
)
@
router
.
post
(
"/create_sensitive"
,
summary
=
"创建敏感词"
)
async
def
create_user
(
data
:
schemas
.
SensitiveIn
,
auth
:
Auth
=
Depends
(
OpenAuth
())):
return
SuccessResponse
(
await
crud
.
SensitiveDal
(
auth
.
db
)
.
create_data
(
data
=
data
))
\ No newline at end of file
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