zhichyu commited on
Commit
fe9b6b3
·
1 Parent(s): 0404a52

Added static check at PR CI (#3921)

Browse files

### What problem does this PR solve?

Added static check at PR CI

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
- [x] Refactoring

.github/workflows/tests.yml CHANGED
@@ -49,6 +49,12 @@ jobs:
49
  fetch-depth: 0
50
  fetch-tags: true
51
 
 
 
 
 
 
 
52
  - name: Build ragflow:dev-slim
53
  run: |
54
  RUNNER_WORKSPACE_PREFIX=${RUNNER_WORKSPACE_PREFIX:-$HOME}
 
49
  fetch-depth: 0
50
  fetch-tags: true
51
 
52
+ # https://github.com/astral-sh/ruff-action
53
+ - name: Static check with Ruff
54
+ uses: astral-sh/ruff-action@v2
55
+ with:
56
+ version: ">=0.8.2"
57
+
58
  - name: Build ragflow:dev-slim
59
  run: |
60
  RUNNER_WORKSPACE_PREFIX=${RUNNER_WORKSPACE_PREFIX:-$HOME}
api/apps/api_app.py CHANGED
@@ -45,7 +45,7 @@ from agent.canvas import Canvas
45
  from functools import partial
46
 
47
 
48
- @manager.route('/new_token', methods=['POST'])
49
  @login_required
50
  def new_token():
51
  req = request.json
@@ -75,7 +75,7 @@ def new_token():
75
  return server_error_response(e)
76
 
77
 
78
- @manager.route('/token_list', methods=['GET'])
79
  @login_required
80
  def token_list():
81
  try:
@@ -90,7 +90,7 @@ def token_list():
90
  return server_error_response(e)
91
 
92
 
93
- @manager.route('/rm', methods=['POST'])
94
  @validate_request("tokens", "tenant_id")
95
  @login_required
96
  def rm():
@@ -104,7 +104,7 @@ def rm():
104
  return server_error_response(e)
105
 
106
 
107
- @manager.route('/stats', methods=['GET'])
108
  @login_required
109
  def stats():
110
  try:
@@ -135,7 +135,7 @@ def stats():
135
  return server_error_response(e)
136
 
137
 
138
- @manager.route('/new_conversation', methods=['GET'])
139
  def set_conversation():
140
  token = request.headers.get('Authorization').split()[1]
141
  objs = APIToken.query(token=token)
@@ -175,7 +175,7 @@ def set_conversation():
175
  return server_error_response(e)
176
 
177
 
178
- @manager.route('/completion', methods=['POST'])
179
  @validate_request("conversation_id", "messages")
180
  def completion():
181
  token = request.headers.get('Authorization').split()[1]
@@ -341,7 +341,7 @@ def completion():
341
  return server_error_response(e)
342
 
343
 
344
- @manager.route('/conversation/<conversation_id>', methods=['GET'])
345
  # @login_required
346
  def get(conversation_id):
347
  token = request.headers.get('Authorization').split()[1]
@@ -372,7 +372,7 @@ def get(conversation_id):
372
  return server_error_response(e)
373
 
374
 
375
- @manager.route('/document/upload', methods=['POST'])
376
  @validate_request("kb_name")
377
  def upload():
378
  token = request.headers.get('Authorization').split()[1]
@@ -484,7 +484,7 @@ def upload():
484
  return get_json_result(data=doc_result.to_json())
485
 
486
 
487
- @manager.route('/document/upload_and_parse', methods=['POST'])
488
  @validate_request("conversation_id")
489
  def upload_parse():
490
  token = request.headers.get('Authorization').split()[1]
@@ -507,7 +507,7 @@ def upload_parse():
507
  return get_json_result(data=doc_ids)
508
 
509
 
510
- @manager.route('/list_chunks', methods=['POST'])
511
  # @login_required
512
  def list_chunks():
513
  token = request.headers.get('Authorization').split()[1]
@@ -547,7 +547,7 @@ def list_chunks():
547
  return get_json_result(data=res)
548
 
549
 
550
- @manager.route('/list_kb_docs', methods=['POST'])
551
  # @login_required
552
  def list_kb_docs():
553
  token = request.headers.get('Authorization').split()[1]
@@ -587,7 +587,7 @@ def list_kb_docs():
587
  return server_error_response(e)
588
 
589
 
590
- @manager.route('/document/infos', methods=['POST'])
591
  @validate_request("doc_ids")
592
  def docinfos():
593
  token = request.headers.get('Authorization').split()[1]
@@ -601,7 +601,7 @@ def docinfos():
601
  return get_json_result(data=list(docs.dicts()))
602
 
603
 
604
- @manager.route('/document', methods=['DELETE'])
605
  # @login_required
606
  def document_rm():
607
  token = request.headers.get('Authorization').split()[1]
@@ -660,7 +660,7 @@ def document_rm():
660
  return get_json_result(data=True)
661
 
662
 
663
- @manager.route('/completion_aibotk', methods=['POST'])
664
  @validate_request("Authorization", "conversation_id", "word")
665
  def completion_faq():
666
  import base64
@@ -802,7 +802,7 @@ def completion_faq():
802
  return server_error_response(e)
803
 
804
 
805
- @manager.route('/retrieval', methods=['POST'])
806
  @validate_request("kb_id", "question")
807
  def retrieval():
808
  token = request.headers.get('Authorization').split()[1]
 
45
  from functools import partial
46
 
47
 
48
+ @manager.route('/new_token', methods=['POST']) # noqa: F821
49
  @login_required
50
  def new_token():
51
  req = request.json
 
75
  return server_error_response(e)
76
 
77
 
78
+ @manager.route('/token_list', methods=['GET']) # noqa: F821
79
  @login_required
80
  def token_list():
81
  try:
 
90
  return server_error_response(e)
91
 
92
 
93
+ @manager.route('/rm', methods=['POST']) # noqa: F821
94
  @validate_request("tokens", "tenant_id")
95
  @login_required
96
  def rm():
 
104
  return server_error_response(e)
105
 
106
 
107
+ @manager.route('/stats', methods=['GET']) # noqa: F821
108
  @login_required
109
  def stats():
110
  try:
 
135
  return server_error_response(e)
136
 
137
 
138
+ @manager.route('/new_conversation', methods=['GET']) # noqa: F821
139
  def set_conversation():
140
  token = request.headers.get('Authorization').split()[1]
141
  objs = APIToken.query(token=token)
 
175
  return server_error_response(e)
176
 
177
 
178
+ @manager.route('/completion', methods=['POST']) # noqa: F821
179
  @validate_request("conversation_id", "messages")
180
  def completion():
181
  token = request.headers.get('Authorization').split()[1]
 
341
  return server_error_response(e)
342
 
343
 
344
+ @manager.route('/conversation/<conversation_id>', methods=['GET']) # noqa: F821
345
  # @login_required
346
  def get(conversation_id):
347
  token = request.headers.get('Authorization').split()[1]
 
372
  return server_error_response(e)
373
 
374
 
375
+ @manager.route('/document/upload', methods=['POST']) # noqa: F821
376
  @validate_request("kb_name")
377
  def upload():
378
  token = request.headers.get('Authorization').split()[1]
 
484
  return get_json_result(data=doc_result.to_json())
485
 
486
 
487
+ @manager.route('/document/upload_and_parse', methods=['POST']) # noqa: F821
488
  @validate_request("conversation_id")
489
  def upload_parse():
490
  token = request.headers.get('Authorization').split()[1]
 
507
  return get_json_result(data=doc_ids)
508
 
509
 
510
+ @manager.route('/list_chunks', methods=['POST']) # noqa: F821
511
  # @login_required
512
  def list_chunks():
513
  token = request.headers.get('Authorization').split()[1]
 
547
  return get_json_result(data=res)
548
 
549
 
550
+ @manager.route('/list_kb_docs', methods=['POST']) # noqa: F821
551
  # @login_required
552
  def list_kb_docs():
553
  token = request.headers.get('Authorization').split()[1]
 
587
  return server_error_response(e)
588
 
589
 
590
+ @manager.route('/document/infos', methods=['POST']) # noqa: F821
591
  @validate_request("doc_ids")
592
  def docinfos():
593
  token = request.headers.get('Authorization').split()[1]
 
601
  return get_json_result(data=list(docs.dicts()))
602
 
603
 
604
+ @manager.route('/document', methods=['DELETE']) # noqa: F821
605
  # @login_required
606
  def document_rm():
607
  token = request.headers.get('Authorization').split()[1]
 
660
  return get_json_result(data=True)
661
 
662
 
663
+ @manager.route('/completion_aibotk', methods=['POST']) # noqa: F821
664
  @validate_request("Authorization", "conversation_id", "word")
665
  def completion_faq():
666
  import base64
 
802
  return server_error_response(e)
803
 
804
 
805
+ @manager.route('/retrieval', methods=['POST']) # noqa: F821
806
  @validate_request("kb_id", "question")
807
  def retrieval():
808
  token = request.headers.get('Authorization').split()[1]
api/apps/canvas_app.py CHANGED
@@ -25,13 +25,13 @@ from agent.canvas import Canvas
25
  from peewee import MySQLDatabase, PostgresqlDatabase
26
 
27
 
28
- @manager.route('/templates', methods=['GET'])
29
  @login_required
30
  def templates():
31
  return get_json_result(data=[c.to_dict() for c in CanvasTemplateService.get_all()])
32
 
33
 
34
- @manager.route('/list', methods=['GET'])
35
  @login_required
36
  def canvas_list():
37
  return get_json_result(data=sorted([c.to_dict() for c in \
@@ -39,7 +39,7 @@ def canvas_list():
39
  )
40
 
41
 
42
- @manager.route('/rm', methods=['POST'])
43
  @validate_request("canvas_ids")
44
  @login_required
45
  def rm():
@@ -52,7 +52,7 @@ def rm():
52
  return get_json_result(data=True)
53
 
54
 
55
- @manager.route('/set', methods=['POST'])
56
  @validate_request("dsl", "title")
57
  @login_required
58
  def save():
@@ -77,7 +77,7 @@ def save():
77
  return get_json_result(data=req)
78
 
79
 
80
- @manager.route('/get/<canvas_id>', methods=['GET'])
81
  @login_required
82
  def get(canvas_id):
83
  e, c = UserCanvasService.get_by_id(canvas_id)
@@ -86,7 +86,7 @@ def get(canvas_id):
86
  return get_json_result(data=c.to_dict())
87
 
88
 
89
- @manager.route('/completion', methods=['POST'])
90
  @validate_request("id")
91
  @login_required
92
  def run():
@@ -163,7 +163,7 @@ def run():
163
  return get_json_result(data={"answer": final_ans["content"], "reference": final_ans.get("reference", [])})
164
 
165
 
166
- @manager.route('/reset', methods=['POST'])
167
  @validate_request("id")
168
  @login_required
169
  def reset():
@@ -186,7 +186,7 @@ def reset():
186
  return server_error_response(e)
187
 
188
 
189
- @manager.route('/test_db_connect', methods=['POST'])
190
  @validate_request("db_type", "database", "username", "host", "port", "password")
191
  @login_required
192
  def test_db_connect():
 
25
  from peewee import MySQLDatabase, PostgresqlDatabase
26
 
27
 
28
+ @manager.route('/templates', methods=['GET']) # noqa: F821
29
  @login_required
30
  def templates():
31
  return get_json_result(data=[c.to_dict() for c in CanvasTemplateService.get_all()])
32
 
33
 
34
+ @manager.route('/list', methods=['GET']) # noqa: F821
35
  @login_required
36
  def canvas_list():
37
  return get_json_result(data=sorted([c.to_dict() for c in \
 
39
  )
40
 
41
 
42
+ @manager.route('/rm', methods=['POST']) # noqa: F821
43
  @validate_request("canvas_ids")
44
  @login_required
45
  def rm():
 
52
  return get_json_result(data=True)
53
 
54
 
55
+ @manager.route('/set', methods=['POST']) # noqa: F821
56
  @validate_request("dsl", "title")
57
  @login_required
58
  def save():
 
77
  return get_json_result(data=req)
78
 
79
 
80
+ @manager.route('/get/<canvas_id>', methods=['GET']) # noqa: F821
81
  @login_required
82
  def get(canvas_id):
83
  e, c = UserCanvasService.get_by_id(canvas_id)
 
86
  return get_json_result(data=c.to_dict())
87
 
88
 
89
+ @manager.route('/completion', methods=['POST']) # noqa: F821
90
  @validate_request("id")
91
  @login_required
92
  def run():
 
163
  return get_json_result(data={"answer": final_ans["content"], "reference": final_ans.get("reference", [])})
164
 
165
 
166
+ @manager.route('/reset', methods=['POST']) # noqa: F821
167
  @validate_request("id")
168
  @login_required
169
  def reset():
 
186
  return server_error_response(e)
187
 
188
 
189
+ @manager.route('/test_db_connect', methods=['POST']) # noqa: F821
190
  @validate_request("db_type", "database", "username", "host", "port", "password")
191
  @login_required
192
  def test_db_connect():
api/apps/chunk_app.py CHANGED
@@ -35,7 +35,7 @@ import hashlib
35
  import re
36
 
37
 
38
- @manager.route('/list', methods=['POST'])
39
  @login_required
40
  @validate_request("doc_id")
41
  def list_chunk():
@@ -84,7 +84,7 @@ def list_chunk():
84
  return server_error_response(e)
85
 
86
 
87
- @manager.route('/get', methods=['GET'])
88
  @login_required
89
  def get():
90
  chunk_id = request.args["chunk_id"]
@@ -113,7 +113,7 @@ def get():
113
  return server_error_response(e)
114
 
115
 
116
- @manager.route('/set', methods=['POST'])
117
  @login_required
118
  @validate_request("doc_id", "chunk_id", "content_with_weight",
119
  "important_kwd", "question_kwd")
@@ -164,7 +164,7 @@ def set():
164
  return server_error_response(e)
165
 
166
 
167
- @manager.route('/switch', methods=['POST'])
168
  @login_required
169
  @validate_request("chunk_ids", "available_int", "doc_id")
170
  def switch():
@@ -184,7 +184,7 @@ def switch():
184
  return server_error_response(e)
185
 
186
 
187
- @manager.route('/rm', methods=['POST'])
188
  @login_required
189
  @validate_request("chunk_ids", "doc_id")
190
  def rm():
@@ -203,7 +203,7 @@ def rm():
203
  return server_error_response(e)
204
 
205
 
206
- @manager.route('/create', methods=['POST'])
207
  @login_required
208
  @validate_request("doc_id", "content_with_weight")
209
  def create():
@@ -255,7 +255,7 @@ def create():
255
  return server_error_response(e)
256
 
257
 
258
- @manager.route('/retrieval_test', methods=['POST'])
259
  @login_required
260
  @validate_request("kb_id", "question")
261
  def retrieval_test():
@@ -314,7 +314,7 @@ def retrieval_test():
314
  return server_error_response(e)
315
 
316
 
317
- @manager.route('/knowledge_graph', methods=['GET'])
318
  @login_required
319
  def knowledge_graph():
320
  doc_id = request.args["doc_id"]
 
35
  import re
36
 
37
 
38
+ @manager.route('/list', methods=['POST']) # noqa: F821
39
  @login_required
40
  @validate_request("doc_id")
41
  def list_chunk():
 
84
  return server_error_response(e)
85
 
86
 
87
+ @manager.route('/get', methods=['GET']) # noqa: F821
88
  @login_required
89
  def get():
90
  chunk_id = request.args["chunk_id"]
 
113
  return server_error_response(e)
114
 
115
 
116
+ @manager.route('/set', methods=['POST']) # noqa: F821
117
  @login_required
118
  @validate_request("doc_id", "chunk_id", "content_with_weight",
119
  "important_kwd", "question_kwd")
 
164
  return server_error_response(e)
165
 
166
 
167
+ @manager.route('/switch', methods=['POST']) # noqa: F821
168
  @login_required
169
  @validate_request("chunk_ids", "available_int", "doc_id")
170
  def switch():
 
184
  return server_error_response(e)
185
 
186
 
187
+ @manager.route('/rm', methods=['POST']) # noqa: F821
188
  @login_required
189
  @validate_request("chunk_ids", "doc_id")
190
  def rm():
 
203
  return server_error_response(e)
204
 
205
 
206
+ @manager.route('/create', methods=['POST']) # noqa: F821
207
  @login_required
208
  @validate_request("doc_id", "content_with_weight")
209
  def create():
 
255
  return server_error_response(e)
256
 
257
 
258
+ @manager.route('/retrieval_test', methods=['POST']) # noqa: F821
259
  @login_required
260
  @validate_request("kb_id", "question")
261
  def retrieval_test():
 
314
  return server_error_response(e)
315
 
316
 
317
+ @manager.route('/knowledge_graph', methods=['GET']) # noqa: F821
318
  @login_required
319
  def knowledge_graph():
320
  doc_id = request.args["doc_id"]
api/apps/conversation_app.py CHANGED
@@ -31,7 +31,7 @@ from api.utils.api_utils import server_error_response, get_data_error_result, va
31
  from graphrag.mind_map_extractor import MindMapExtractor
32
 
33
 
34
- @manager.route('/set', methods=['POST'])
35
  @login_required
36
  def set_conversation():
37
  req = request.json
@@ -72,7 +72,7 @@ def set_conversation():
72
  return server_error_response(e)
73
 
74
 
75
- @manager.route('/get', methods=['GET'])
76
  @login_required
77
  def get():
78
  conv_id = request.args["conversation_id"]
@@ -94,7 +94,7 @@ def get():
94
  return server_error_response(e)
95
 
96
 
97
- @manager.route('/rm', methods=['POST'])
98
  @login_required
99
  def rm():
100
  conv_ids = request.json["conversation_ids"]
@@ -117,7 +117,7 @@ def rm():
117
  return server_error_response(e)
118
 
119
 
120
- @manager.route('/list', methods=['GET'])
121
  @login_required
122
  def list_convsersation():
123
  dialog_id = request.args["dialog_id"]
@@ -136,7 +136,7 @@ def list_convsersation():
136
  return server_error_response(e)
137
 
138
 
139
- @manager.route('/completion', methods=['POST'])
140
  @login_required
141
  @validate_request("conversation_id", "messages")
142
  def completion():
@@ -209,7 +209,7 @@ def completion():
209
  return server_error_response(e)
210
 
211
 
212
- @manager.route('/tts', methods=['POST'])
213
  @login_required
214
  def tts():
215
  req = request.json
@@ -243,7 +243,7 @@ def tts():
243
  return resp
244
 
245
 
246
- @manager.route('/delete_msg', methods=['POST'])
247
  @login_required
248
  @validate_request("conversation_id", "message_id")
249
  def delete_msg():
@@ -266,7 +266,7 @@ def delete_msg():
266
  return get_json_result(data=conv)
267
 
268
 
269
- @manager.route('/thumbup', methods=['POST'])
270
  @login_required
271
  @validate_request("conversation_id", "message_id")
272
  def thumbup():
@@ -293,7 +293,7 @@ def thumbup():
293
  return get_json_result(data=conv)
294
 
295
 
296
- @manager.route('/ask', methods=['POST'])
297
  @login_required
298
  @validate_request("question", "kb_ids")
299
  def ask_about():
@@ -319,7 +319,7 @@ def ask_about():
319
  return resp
320
 
321
 
322
- @manager.route('/mindmap', methods=['POST'])
323
  @login_required
324
  @validate_request("question", "kb_ids")
325
  def mindmap():
@@ -341,7 +341,7 @@ def mindmap():
341
  return get_json_result(data=mind_map)
342
 
343
 
344
- @manager.route('/related_questions', methods=['POST'])
345
  @login_required
346
  @validate_request("question")
347
  def related_questions():
 
31
  from graphrag.mind_map_extractor import MindMapExtractor
32
 
33
 
34
+ @manager.route('/set', methods=['POST']) # noqa: F821
35
  @login_required
36
  def set_conversation():
37
  req = request.json
 
72
  return server_error_response(e)
73
 
74
 
75
+ @manager.route('/get', methods=['GET']) # noqa: F821
76
  @login_required
77
  def get():
78
  conv_id = request.args["conversation_id"]
 
94
  return server_error_response(e)
95
 
96
 
97
+ @manager.route('/rm', methods=['POST']) # noqa: F821
98
  @login_required
99
  def rm():
100
  conv_ids = request.json["conversation_ids"]
 
117
  return server_error_response(e)
118
 
119
 
120
+ @manager.route('/list', methods=['GET']) # noqa: F821
121
  @login_required
122
  def list_convsersation():
123
  dialog_id = request.args["dialog_id"]
 
136
  return server_error_response(e)
137
 
138
 
139
+ @manager.route('/completion', methods=['POST']) # noqa: F821
140
  @login_required
141
  @validate_request("conversation_id", "messages")
142
  def completion():
 
209
  return server_error_response(e)
210
 
211
 
212
+ @manager.route('/tts', methods=['POST']) # noqa: F821
213
  @login_required
214
  def tts():
215
  req = request.json
 
243
  return resp
244
 
245
 
246
+ @manager.route('/delete_msg', methods=['POST']) # noqa: F821
247
  @login_required
248
  @validate_request("conversation_id", "message_id")
249
  def delete_msg():
 
266
  return get_json_result(data=conv)
267
 
268
 
269
+ @manager.route('/thumbup', methods=['POST']) # noqa: F821
270
  @login_required
271
  @validate_request("conversation_id", "message_id")
272
  def thumbup():
 
293
  return get_json_result(data=conv)
294
 
295
 
296
+ @manager.route('/ask', methods=['POST']) # noqa: F821
297
  @login_required
298
  @validate_request("question", "kb_ids")
299
  def ask_about():
 
319
  return resp
320
 
321
 
322
+ @manager.route('/mindmap', methods=['POST']) # noqa: F821
323
  @login_required
324
  @validate_request("question", "kb_ids")
325
  def mindmap():
 
341
  return get_json_result(data=mind_map)
342
 
343
 
344
+ @manager.route('/related_questions', methods=['POST']) # noqa: F821
345
  @login_required
346
  @validate_request("question")
347
  def related_questions():
api/apps/dialog_app.py CHANGED
@@ -26,7 +26,7 @@ from api.utils import get_uuid
26
  from api.utils.api_utils import get_json_result
27
 
28
 
29
- @manager.route('/set', methods=['POST'])
30
  @login_required
31
  def set_dialog():
32
  req = request.json
@@ -125,7 +125,7 @@ def set_dialog():
125
  return server_error_response(e)
126
 
127
 
128
- @manager.route('/get', methods=['GET'])
129
  @login_required
130
  def get():
131
  dialog_id = request.args["dialog_id"]
@@ -151,7 +151,7 @@ def get_kb_names(kb_ids):
151
  return ids, nms
152
 
153
 
154
- @manager.route('/list', methods=['GET'])
155
  @login_required
156
  def list_dialogs():
157
  try:
@@ -168,7 +168,7 @@ def list_dialogs():
168
  return server_error_response(e)
169
 
170
 
171
- @manager.route('/rm', methods=['POST'])
172
  @login_required
173
  @validate_request("dialog_ids")
174
  def rm():
 
26
  from api.utils.api_utils import get_json_result
27
 
28
 
29
+ @manager.route('/set', methods=['POST']) # noqa: F821
30
  @login_required
31
  def set_dialog():
32
  req = request.json
 
125
  return server_error_response(e)
126
 
127
 
128
+ @manager.route('/get', methods=['GET']) # noqa: F821
129
  @login_required
130
  def get():
131
  dialog_id = request.args["dialog_id"]
 
151
  return ids, nms
152
 
153
 
154
+ @manager.route('/list', methods=['GET']) # noqa: F821
155
  @login_required
156
  def list_dialogs():
157
  try:
 
168
  return server_error_response(e)
169
 
170
 
171
+ @manager.route('/rm', methods=['POST']) # noqa: F821
172
  @login_required
173
  @validate_request("dialog_ids")
174
  def rm():
api/apps/document_app.py CHANGED
@@ -42,7 +42,7 @@ from api.utils.web_utils import html2pdf, is_valid_url
42
  from api.constants import IMG_BASE64_PREFIX
43
 
44
 
45
- @manager.route('/upload', methods=['POST'])
46
  @login_required
47
  @validate_request("kb_id")
48
  def upload():
@@ -71,7 +71,7 @@ def upload():
71
  return get_json_result(data=True)
72
 
73
 
74
- @manager.route('/web_crawl', methods=['POST'])
75
  @login_required
76
  @validate_request("kb_id", "name", "url")
77
  def web_crawl():
@@ -138,7 +138,7 @@ def web_crawl():
138
  return get_json_result(data=True)
139
 
140
 
141
- @manager.route('/create', methods=['POST'])
142
  @login_required
143
  @validate_request("name", "kb_id")
144
  def create():
@@ -174,7 +174,7 @@ def create():
174
  return server_error_response(e)
175
 
176
 
177
- @manager.route('/list', methods=['GET'])
178
  @login_required
179
  def list_docs():
180
  kb_id = request.args.get("kb_id")
@@ -209,7 +209,7 @@ def list_docs():
209
  return server_error_response(e)
210
 
211
 
212
- @manager.route('/infos', methods=['POST'])
213
  @login_required
214
  def docinfos():
215
  req = request.json
@@ -225,7 +225,7 @@ def docinfos():
225
  return get_json_result(data=list(docs.dicts()))
226
 
227
 
228
- @manager.route('/thumbnails', methods=['GET'])
229
  # @login_required
230
  def thumbnails():
231
  doc_ids = request.args.get("doc_ids").split(",")
@@ -245,7 +245,7 @@ def thumbnails():
245
  return server_error_response(e)
246
 
247
 
248
- @manager.route('/change_status', methods=['POST'])
249
  @login_required
250
  @validate_request("doc_id", "status")
251
  def change_status():
@@ -284,7 +284,7 @@ def change_status():
284
  return server_error_response(e)
285
 
286
 
287
- @manager.route('/rm', methods=['POST'])
288
  @login_required
289
  @validate_request("doc_id")
290
  def rm():
@@ -334,7 +334,7 @@ def rm():
334
  return get_json_result(data=True)
335
 
336
 
337
- @manager.route('/run', methods=['POST'])
338
  @login_required
339
  @validate_request("doc_ids", "run")
340
  def run():
@@ -377,7 +377,7 @@ def run():
377
  return server_error_response(e)
378
 
379
 
380
- @manager.route('/rename', methods=['POST'])
381
  @login_required
382
  @validate_request("doc_id", "name")
383
  def rename():
@@ -418,7 +418,7 @@ def rename():
418
  return server_error_response(e)
419
 
420
 
421
- @manager.route('/get/<doc_id>', methods=['GET'])
422
  # @login_required
423
  def get(doc_id):
424
  try:
@@ -443,7 +443,7 @@ def get(doc_id):
443
  return server_error_response(e)
444
 
445
 
446
- @manager.route('/change_parser', methods=['POST'])
447
  @login_required
448
  @validate_request("doc_id", "parser_id")
449
  def change_parser():
@@ -494,7 +494,7 @@ def change_parser():
494
  return server_error_response(e)
495
 
496
 
497
- @manager.route('/image/<image_id>', methods=['GET'])
498
  # @login_required
499
  def get_image(image_id):
500
  try:
@@ -506,7 +506,7 @@ def get_image(image_id):
506
  return server_error_response(e)
507
 
508
 
509
- @manager.route('/upload_and_parse', methods=['POST'])
510
  @login_required
511
  @validate_request("conversation_id")
512
  def upload_and_parse():
@@ -525,7 +525,7 @@ def upload_and_parse():
525
  return get_json_result(data=doc_ids)
526
 
527
 
528
- @manager.route('/parse', methods=['POST'])
529
  @login_required
530
  def parse():
531
  url = request.json.get("url") if request.json else ""
 
42
  from api.constants import IMG_BASE64_PREFIX
43
 
44
 
45
+ @manager.route('/upload', methods=['POST']) # noqa: F821
46
  @login_required
47
  @validate_request("kb_id")
48
  def upload():
 
71
  return get_json_result(data=True)
72
 
73
 
74
+ @manager.route('/web_crawl', methods=['POST']) # noqa: F821
75
  @login_required
76
  @validate_request("kb_id", "name", "url")
77
  def web_crawl():
 
138
  return get_json_result(data=True)
139
 
140
 
141
+ @manager.route('/create', methods=['POST']) # noqa: F821
142
  @login_required
143
  @validate_request("name", "kb_id")
144
  def create():
 
174
  return server_error_response(e)
175
 
176
 
177
+ @manager.route('/list', methods=['GET']) # noqa: F821
178
  @login_required
179
  def list_docs():
180
  kb_id = request.args.get("kb_id")
 
209
  return server_error_response(e)
210
 
211
 
212
+ @manager.route('/infos', methods=['POST']) # noqa: F821
213
  @login_required
214
  def docinfos():
215
  req = request.json
 
225
  return get_json_result(data=list(docs.dicts()))
226
 
227
 
228
+ @manager.route('/thumbnails', methods=['GET']) # noqa: F821
229
  # @login_required
230
  def thumbnails():
231
  doc_ids = request.args.get("doc_ids").split(",")
 
245
  return server_error_response(e)
246
 
247
 
248
+ @manager.route('/change_status', methods=['POST']) # noqa: F821
249
  @login_required
250
  @validate_request("doc_id", "status")
251
  def change_status():
 
284
  return server_error_response(e)
285
 
286
 
287
+ @manager.route('/rm', methods=['POST']) # noqa: F821
288
  @login_required
289
  @validate_request("doc_id")
290
  def rm():
 
334
  return get_json_result(data=True)
335
 
336
 
337
+ @manager.route('/run', methods=['POST']) # noqa: F821
338
  @login_required
339
  @validate_request("doc_ids", "run")
340
  def run():
 
377
  return server_error_response(e)
378
 
379
 
380
+ @manager.route('/rename', methods=['POST']) # noqa: F821
381
  @login_required
382
  @validate_request("doc_id", "name")
383
  def rename():
 
418
  return server_error_response(e)
419
 
420
 
421
+ @manager.route('/get/<doc_id>', methods=['GET']) # noqa: F821
422
  # @login_required
423
  def get(doc_id):
424
  try:
 
443
  return server_error_response(e)
444
 
445
 
446
+ @manager.route('/change_parser', methods=['POST']) # noqa: F821
447
  @login_required
448
  @validate_request("doc_id", "parser_id")
449
  def change_parser():
 
494
  return server_error_response(e)
495
 
496
 
497
+ @manager.route('/image/<image_id>', methods=['GET']) # noqa: F821
498
  # @login_required
499
  def get_image(image_id):
500
  try:
 
506
  return server_error_response(e)
507
 
508
 
509
+ @manager.route('/upload_and_parse', methods=['POST']) # noqa: F821
510
  @login_required
511
  @validate_request("conversation_id")
512
  def upload_and_parse():
 
525
  return get_json_result(data=doc_ids)
526
 
527
 
528
+ @manager.route('/parse', methods=['POST']) # noqa: F821
529
  @login_required
530
  def parse():
531
  url = request.json.get("url") if request.json else ""
api/apps/file2document_app.py CHANGED
@@ -28,7 +28,7 @@ from api import settings
28
  from api.utils.api_utils import get_json_result
29
 
30
 
31
- @manager.route('/convert', methods=['POST'])
32
  @login_required
33
  @validate_request("file_ids", "kb_ids")
34
  def convert():
@@ -92,7 +92,7 @@ def convert():
92
  return server_error_response(e)
93
 
94
 
95
- @manager.route('/rm', methods=['POST'])
96
  @login_required
97
  @validate_request("file_ids")
98
  def rm():
 
28
  from api.utils.api_utils import get_json_result
29
 
30
 
31
+ @manager.route('/convert', methods=['POST']) # noqa: F821
32
  @login_required
33
  @validate_request("file_ids", "kb_ids")
34
  def convert():
 
92
  return server_error_response(e)
93
 
94
 
95
+ @manager.route('/rm', methods=['POST']) # noqa: F821
96
  @login_required
97
  @validate_request("file_ids")
98
  def rm():
api/apps/file_app.py CHANGED
@@ -34,7 +34,7 @@ from api.utils.file_utils import filename_type
34
  from rag.utils.storage_factory import STORAGE_IMPL
35
 
36
 
37
- @manager.route('/upload', methods=['POST'])
38
  @login_required
39
  # @validate_request("parent_id")
40
  def upload():
@@ -120,7 +120,7 @@ def upload():
120
  return server_error_response(e)
121
 
122
 
123
- @manager.route('/create', methods=['POST'])
124
  @login_required
125
  @validate_request("name")
126
  def create():
@@ -160,7 +160,7 @@ def create():
160
  return server_error_response(e)
161
 
162
 
163
- @manager.route('/list', methods=['GET'])
164
  @login_required
165
  def list_files():
166
  pf_id = request.args.get("parent_id")
@@ -192,7 +192,7 @@ def list_files():
192
  return server_error_response(e)
193
 
194
 
195
- @manager.route('/root_folder', methods=['GET'])
196
  @login_required
197
  def get_root_folder():
198
  try:
@@ -202,7 +202,7 @@ def get_root_folder():
202
  return server_error_response(e)
203
 
204
 
205
- @manager.route('/parent_folder', methods=['GET'])
206
  @login_required
207
  def get_parent_folder():
208
  file_id = request.args.get("file_id")
@@ -217,7 +217,7 @@ def get_parent_folder():
217
  return server_error_response(e)
218
 
219
 
220
- @manager.route('/all_parent_folder', methods=['GET'])
221
  @login_required
222
  def get_all_parent_folders():
223
  file_id = request.args.get("file_id")
@@ -235,7 +235,7 @@ def get_all_parent_folders():
235
  return server_error_response(e)
236
 
237
 
238
- @manager.route('/rm', methods=['POST'])
239
  @login_required
240
  @validate_request("file_ids")
241
  def rm():
@@ -284,7 +284,7 @@ def rm():
284
  return server_error_response(e)
285
 
286
 
287
- @manager.route('/rename', methods=['POST'])
288
  @login_required
289
  @validate_request("file_id", "name")
290
  def rename():
@@ -322,7 +322,7 @@ def rename():
322
  return server_error_response(e)
323
 
324
 
325
- @manager.route('/get/<file_id>', methods=['GET'])
326
  @login_required
327
  def get(file_id):
328
  try:
@@ -350,7 +350,7 @@ def get(file_id):
350
  return server_error_response(e)
351
 
352
 
353
- @manager.route('/mv', methods=['POST'])
354
  @login_required
355
  @validate_request("src_file_ids", "dest_file_id")
356
  def move():
 
34
  from rag.utils.storage_factory import STORAGE_IMPL
35
 
36
 
37
+ @manager.route('/upload', methods=['POST']) # noqa: F821
38
  @login_required
39
  # @validate_request("parent_id")
40
  def upload():
 
120
  return server_error_response(e)
121
 
122
 
123
+ @manager.route('/create', methods=['POST']) # noqa: F821
124
  @login_required
125
  @validate_request("name")
126
  def create():
 
160
  return server_error_response(e)
161
 
162
 
163
+ @manager.route('/list', methods=['GET']) # noqa: F821
164
  @login_required
165
  def list_files():
166
  pf_id = request.args.get("parent_id")
 
192
  return server_error_response(e)
193
 
194
 
195
+ @manager.route('/root_folder', methods=['GET']) # noqa: F821
196
  @login_required
197
  def get_root_folder():
198
  try:
 
202
  return server_error_response(e)
203
 
204
 
205
+ @manager.route('/parent_folder', methods=['GET']) # noqa: F821
206
  @login_required
207
  def get_parent_folder():
208
  file_id = request.args.get("file_id")
 
217
  return server_error_response(e)
218
 
219
 
220
+ @manager.route('/all_parent_folder', methods=['GET']) # noqa: F821
221
  @login_required
222
  def get_all_parent_folders():
223
  file_id = request.args.get("file_id")
 
235
  return server_error_response(e)
236
 
237
 
238
+ @manager.route('/rm', methods=['POST']) # noqa: F821
239
  @login_required
240
  @validate_request("file_ids")
241
  def rm():
 
284
  return server_error_response(e)
285
 
286
 
287
+ @manager.route('/rename', methods=['POST']) # noqa: F821
288
  @login_required
289
  @validate_request("file_id", "name")
290
  def rename():
 
322
  return server_error_response(e)
323
 
324
 
325
+ @manager.route('/get/<file_id>', methods=['GET']) # noqa: F821
326
  @login_required
327
  def get(file_id):
328
  try:
 
350
  return server_error_response(e)
351
 
352
 
353
+ @manager.route('/mv', methods=['POST']) # noqa: F821
354
  @login_required
355
  @validate_request("src_file_ids", "dest_file_id")
356
  def move():
api/apps/kb_app.py CHANGED
@@ -32,7 +32,7 @@ from rag.nlp import search
32
  from api.constants import DATASET_NAME_LIMIT
33
 
34
 
35
- @manager.route('/create', methods=['post'])
36
  @login_required
37
  @validate_request("name")
38
  def create():
@@ -67,7 +67,7 @@ def create():
67
  return server_error_response(e)
68
 
69
 
70
- @manager.route('/update', methods=['post'])
71
  @login_required
72
  @validate_request("kb_id", "name", "description", "permission", "parser_id")
73
  @not_allowed_parameters("id", "tenant_id", "created_by", "create_time", "update_time", "create_date", "update_date", "created_by")
@@ -120,7 +120,7 @@ def update():
120
  return server_error_response(e)
121
 
122
 
123
- @manager.route('/detail', methods=['GET'])
124
  @login_required
125
  def detail():
126
  kb_id = request.args["kb_id"]
@@ -143,7 +143,7 @@ def detail():
143
  return server_error_response(e)
144
 
145
 
146
- @manager.route('/list', methods=['GET'])
147
  @login_required
148
  def list_kbs():
149
  keywords = request.args.get("keywords", "")
@@ -160,7 +160,7 @@ def list_kbs():
160
  return server_error_response(e)
161
 
162
 
163
- @manager.route('/rm', methods=['post'])
164
  @login_required
165
  @validate_request("kb_id")
166
  def rm():
 
32
  from api.constants import DATASET_NAME_LIMIT
33
 
34
 
35
+ @manager.route('/create', methods=['post']) # noqa: F821
36
  @login_required
37
  @validate_request("name")
38
  def create():
 
67
  return server_error_response(e)
68
 
69
 
70
+ @manager.route('/update', methods=['post']) # noqa: F821
71
  @login_required
72
  @validate_request("kb_id", "name", "description", "permission", "parser_id")
73
  @not_allowed_parameters("id", "tenant_id", "created_by", "create_time", "update_time", "create_date", "update_date", "created_by")
 
120
  return server_error_response(e)
121
 
122
 
123
+ @manager.route('/detail', methods=['GET']) # noqa: F821
124
  @login_required
125
  def detail():
126
  kb_id = request.args["kb_id"]
 
143
  return server_error_response(e)
144
 
145
 
146
+ @manager.route('/list', methods=['GET']) # noqa: F821
147
  @login_required
148
  def list_kbs():
149
  keywords = request.args.get("keywords", "")
 
160
  return server_error_response(e)
161
 
162
 
163
+ @manager.route('/rm', methods=['post']) # noqa: F821
164
  @login_required
165
  @validate_request("kb_id")
166
  def rm():
api/apps/llm_app.py CHANGED
@@ -28,7 +28,7 @@ from rag.llm import EmbeddingModel, ChatModel, RerankModel, CvModel, TTSModel
28
  import requests
29
 
30
 
31
- @manager.route('/factories', methods=['GET'])
32
  @login_required
33
  def factories():
34
  try:
@@ -50,7 +50,7 @@ def factories():
50
  return server_error_response(e)
51
 
52
 
53
- @manager.route('/set_api_key', methods=['POST'])
54
  @login_required
55
  @validate_request("llm_factory", "api_key")
56
  def set_api_key():
@@ -129,7 +129,7 @@ def set_api_key():
129
  return get_json_result(data=True)
130
 
131
 
132
- @manager.route('/add_llm', methods=['POST'])
133
  @login_required
134
  @validate_request("llm_factory")
135
  def add_llm():
@@ -292,7 +292,7 @@ def add_llm():
292
  return get_json_result(data=True)
293
 
294
 
295
- @manager.route('/delete_llm', methods=['POST'])
296
  @login_required
297
  @validate_request("llm_factory", "llm_name")
298
  def delete_llm():
@@ -303,7 +303,7 @@ def delete_llm():
303
  return get_json_result(data=True)
304
 
305
 
306
- @manager.route('/delete_factory', methods=['POST'])
307
  @login_required
308
  @validate_request("llm_factory")
309
  def delete_factory():
@@ -313,7 +313,7 @@ def delete_factory():
313
  return get_json_result(data=True)
314
 
315
 
316
- @manager.route('/my_llms', methods=['GET'])
317
  @login_required
318
  def my_llms():
319
  try:
@@ -334,7 +334,7 @@ def my_llms():
334
  return server_error_response(e)
335
 
336
 
337
- @manager.route('/list', methods=['GET'])
338
  @login_required
339
  def list_app():
340
  self_deploied = ["Youdao", "FastEmbed", "BAAI", "Ollama", "Xinference", "LocalAI", "LM-Studio"]
 
28
  import requests
29
 
30
 
31
+ @manager.route('/factories', methods=['GET']) # noqa: F821
32
  @login_required
33
  def factories():
34
  try:
 
50
  return server_error_response(e)
51
 
52
 
53
+ @manager.route('/set_api_key', methods=['POST']) # noqa: F821
54
  @login_required
55
  @validate_request("llm_factory", "api_key")
56
  def set_api_key():
 
129
  return get_json_result(data=True)
130
 
131
 
132
+ @manager.route('/add_llm', methods=['POST']) # noqa: F821
133
  @login_required
134
  @validate_request("llm_factory")
135
  def add_llm():
 
292
  return get_json_result(data=True)
293
 
294
 
295
+ @manager.route('/delete_llm', methods=['POST']) # noqa: F821
296
  @login_required
297
  @validate_request("llm_factory", "llm_name")
298
  def delete_llm():
 
303
  return get_json_result(data=True)
304
 
305
 
306
+ @manager.route('/delete_factory', methods=['POST']) # noqa: F821
307
  @login_required
308
  @validate_request("llm_factory")
309
  def delete_factory():
 
313
  return get_json_result(data=True)
314
 
315
 
316
+ @manager.route('/my_llms', methods=['GET']) # noqa: F821
317
  @login_required
318
  def my_llms():
319
  try:
 
334
  return server_error_response(e)
335
 
336
 
337
+ @manager.route('/list', methods=['GET']) # noqa: F821
338
  @login_required
339
  def list_app():
340
  self_deploied = ["Youdao", "FastEmbed", "BAAI", "Ollama", "Xinference", "LocalAI", "LM-Studio"]
api/apps/sdk/agent.py CHANGED
@@ -19,7 +19,7 @@ from api.utils.api_utils import get_error_data_result, token_required
19
  from api.utils.api_utils import get_result
20
  from flask import request
21
 
22
- @manager.route('/agents', methods=['GET'])
23
  @token_required
24
  def list_agents(tenant_id):
25
  id = request.args.get("id")
 
19
  from api.utils.api_utils import get_result
20
  from flask import request
21
 
22
+ @manager.route('/agents', methods=['GET']) # noqa: F821
23
  @token_required
24
  def list_agents(tenant_id):
25
  id = request.args.get("id")
api/apps/sdk/chat.py CHANGED
@@ -26,7 +26,7 @@ from api.utils.api_utils import get_result
26
 
27
 
28
 
29
- @manager.route('/chats', methods=['POST'])
30
  @token_required
31
  def create(tenant_id):
32
  req=request.json
@@ -150,7 +150,7 @@ def create(tenant_id):
150
  res["avatar"] = res.pop("icon")
151
  return get_result(data=res)
152
 
153
- @manager.route('/chats/<chat_id>', methods=['PUT'])
154
  @token_required
155
  def update(tenant_id,chat_id):
156
  if not DialogService.query(tenant_id=tenant_id, id=chat_id, status=StatusEnum.VALID.value):
@@ -238,7 +238,7 @@ def update(tenant_id,chat_id):
238
  return get_result()
239
 
240
 
241
- @manager.route('/chats', methods=['DELETE'])
242
  @token_required
243
  def delete(tenant_id):
244
  req = request.json
@@ -260,7 +260,7 @@ def delete(tenant_id):
260
  DialogService.update_by_id(id, temp_dict)
261
  return get_result()
262
 
263
- @manager.route('/chats', methods=['GET'])
264
  @token_required
265
  def list_chat(tenant_id):
266
  id = request.args.get("id")
 
26
 
27
 
28
 
29
+ @manager.route('/chats', methods=['POST']) # noqa: F821
30
  @token_required
31
  def create(tenant_id):
32
  req=request.json
 
150
  res["avatar"] = res.pop("icon")
151
  return get_result(data=res)
152
 
153
+ @manager.route('/chats/<chat_id>', methods=['PUT']) # noqa: F821
154
  @token_required
155
  def update(tenant_id,chat_id):
156
  if not DialogService.query(tenant_id=tenant_id, id=chat_id, status=StatusEnum.VALID.value):
 
238
  return get_result()
239
 
240
 
241
+ @manager.route('/chats', methods=['DELETE']) # noqa: F821
242
  @token_required
243
  def delete(tenant_id):
244
  req = request.json
 
260
  DialogService.update_by_id(id, temp_dict)
261
  return get_result()
262
 
263
+ @manager.route('/chats', methods=['GET']) # noqa: F821
264
  @token_required
265
  def list_chat(tenant_id):
266
  id = request.args.get("id")
api/apps/sdk/dataset.py CHANGED
@@ -34,7 +34,7 @@ from api.utils.api_utils import (
34
  )
35
 
36
 
37
- @manager.route("/datasets", methods=["POST"])
38
  @token_required
39
  def create(tenant_id):
40
  """
@@ -190,7 +190,7 @@ def create(tenant_id):
190
  return get_result(data=renamed_data)
191
 
192
 
193
- @manager.route("/datasets", methods=["DELETE"])
194
  @token_required
195
  def delete(tenant_id):
196
  """
@@ -260,7 +260,7 @@ def delete(tenant_id):
260
  return get_result(code=settings.RetCode.SUCCESS)
261
 
262
 
263
- @manager.route("/datasets/<dataset_id>", methods=["PUT"])
264
  @token_required
265
  def update(tenant_id, dataset_id):
266
  """
@@ -429,7 +429,7 @@ def update(tenant_id, dataset_id):
429
  return get_result(code=settings.RetCode.SUCCESS)
430
 
431
 
432
- @manager.route("/datasets", methods=["GET"])
433
  @token_required
434
  def list(tenant_id):
435
  """
 
34
  )
35
 
36
 
37
+ @manager.route("/datasets", methods=["POST"]) # noqa: F821
38
  @token_required
39
  def create(tenant_id):
40
  """
 
190
  return get_result(data=renamed_data)
191
 
192
 
193
+ @manager.route("/datasets", methods=["DELETE"]) # noqa: F821
194
  @token_required
195
  def delete(tenant_id):
196
  """
 
260
  return get_result(code=settings.RetCode.SUCCESS)
261
 
262
 
263
+ @manager.route("/datasets/<dataset_id>", methods=["PUT"]) # noqa: F821
264
  @token_required
265
  def update(tenant_id, dataset_id):
266
  """
 
429
  return get_result(code=settings.RetCode.SUCCESS)
430
 
431
 
432
+ @manager.route("/datasets", methods=["GET"]) # noqa: F821
433
  @token_required
434
  def list(tenant_id):
435
  """
api/apps/sdk/dify_retrieval.py CHANGED
@@ -22,7 +22,7 @@ from api import settings
22
  from api.utils.api_utils import validate_request, build_error_result, apikey_required
23
 
24
 
25
- @manager.route('/dify/retrieval', methods=['POST'])
26
  @apikey_required
27
  @validate_request("knowledge_id", "query")
28
  def retrieval(tenant_id):
 
22
  from api.utils.api_utils import validate_request, build_error_result, apikey_required
23
 
24
 
25
+ @manager.route('/dify/retrieval', methods=['POST']) # noqa: F821
26
  @apikey_required
27
  @validate_request("knowledge_id", "query")
28
  def retrieval(tenant_id):
api/apps/sdk/doc.py CHANGED
@@ -45,7 +45,7 @@ from rag.utils.storage_factory import STORAGE_IMPL
45
  MAXIMUM_OF_UPLOADING_FILES = 256
46
 
47
 
48
- @manager.route("/datasets/<dataset_id>/documents", methods=["POST"])
49
  @token_required
50
  def upload(dataset_id, tenant_id):
51
  """
@@ -153,7 +153,7 @@ def upload(dataset_id, tenant_id):
153
  return get_result(data=renamed_doc_list)
154
 
155
 
156
- @manager.route("/datasets/<dataset_id>/documents/<document_id>", methods=["PUT"])
157
  @token_required
158
  def update_doc(tenant_id, dataset_id, document_id):
159
  """
@@ -296,7 +296,7 @@ def update_doc(tenant_id, dataset_id, document_id):
296
  return get_result()
297
 
298
 
299
- @manager.route("/datasets/<dataset_id>/documents/<document_id>", methods=["GET"])
300
  @token_required
301
  def download(tenant_id, dataset_id, document_id):
302
  """
@@ -360,7 +360,7 @@ def download(tenant_id, dataset_id, document_id):
360
  )
361
 
362
 
363
- @manager.route("/datasets/<dataset_id>/documents", methods=["GET"])
364
  @token_required
365
  def list_docs(dataset_id, tenant_id):
366
  """
@@ -494,7 +494,7 @@ def list_docs(dataset_id, tenant_id):
494
  return get_result(data={"total": tol, "docs": renamed_doc_list})
495
 
496
 
497
- @manager.route("/datasets/<dataset_id>/documents", methods=["DELETE"])
498
  @token_required
499
  def delete(tenant_id, dataset_id):
500
  """
@@ -586,7 +586,7 @@ def delete(tenant_id, dataset_id):
586
  return get_result()
587
 
588
 
589
- @manager.route("/datasets/<dataset_id>/chunks", methods=["POST"])
590
  @token_required
591
  def parse(tenant_id, dataset_id):
592
  """
@@ -653,7 +653,7 @@ def parse(tenant_id, dataset_id):
653
  return get_result()
654
 
655
 
656
- @manager.route("/datasets/<dataset_id>/chunks", methods=["DELETE"])
657
  @token_required
658
  def stop_parsing(tenant_id, dataset_id):
659
  """
@@ -711,7 +711,7 @@ def stop_parsing(tenant_id, dataset_id):
711
  return get_result()
712
 
713
 
714
- @manager.route("/datasets/<dataset_id>/documents/<document_id>/chunks", methods=["GET"])
715
  @token_required
716
  def list_chunks(tenant_id, dataset_id, document_id):
717
  """
@@ -895,7 +895,7 @@ def list_chunks(tenant_id, dataset_id, document_id):
895
  return get_result(data=res)
896
 
897
 
898
- @manager.route(
899
  "/datasets/<dataset_id>/documents/<document_id>/chunks", methods=["POST"]
900
  )
901
  @token_required
@@ -1038,7 +1038,7 @@ def add_chunk(tenant_id, dataset_id, document_id):
1038
  # return get_result(data={"chunk_id": chunk_id})
1039
 
1040
 
1041
- @manager.route(
1042
  "datasets/<dataset_id>/documents/<document_id>/chunks", methods=["DELETE"]
1043
  )
1044
  @token_required
@@ -1098,7 +1098,7 @@ def rm_chunk(tenant_id, dataset_id, document_id):
1098
  return get_result(message=f"deleted {chunk_number} chunks")
1099
 
1100
 
1101
- @manager.route(
1102
  "/datasets/<dataset_id>/documents/<document_id>/chunks/<chunk_id>", methods=["PUT"]
1103
  )
1104
  @token_required
@@ -1208,7 +1208,7 @@ def update_chunk(tenant_id, dataset_id, document_id, chunk_id):
1208
  return get_result()
1209
 
1210
 
1211
- @manager.route("/retrieval", methods=["POST"])
1212
  @token_required
1213
  def retrieval_test(tenant_id):
1214
  """
 
45
  MAXIMUM_OF_UPLOADING_FILES = 256
46
 
47
 
48
+ @manager.route("/datasets/<dataset_id>/documents", methods=["POST"]) # noqa: F821
49
  @token_required
50
  def upload(dataset_id, tenant_id):
51
  """
 
153
  return get_result(data=renamed_doc_list)
154
 
155
 
156
+ @manager.route("/datasets/<dataset_id>/documents/<document_id>", methods=["PUT"]) # noqa: F821
157
  @token_required
158
  def update_doc(tenant_id, dataset_id, document_id):
159
  """
 
296
  return get_result()
297
 
298
 
299
+ @manager.route("/datasets/<dataset_id>/documents/<document_id>", methods=["GET"]) # noqa: F821
300
  @token_required
301
  def download(tenant_id, dataset_id, document_id):
302
  """
 
360
  )
361
 
362
 
363
+ @manager.route("/datasets/<dataset_id>/documents", methods=["GET"]) # noqa: F821
364
  @token_required
365
  def list_docs(dataset_id, tenant_id):
366
  """
 
494
  return get_result(data={"total": tol, "docs": renamed_doc_list})
495
 
496
 
497
+ @manager.route("/datasets/<dataset_id>/documents", methods=["DELETE"]) # noqa: F821
498
  @token_required
499
  def delete(tenant_id, dataset_id):
500
  """
 
586
  return get_result()
587
 
588
 
589
+ @manager.route("/datasets/<dataset_id>/chunks", methods=["POST"]) # noqa: F821
590
  @token_required
591
  def parse(tenant_id, dataset_id):
592
  """
 
653
  return get_result()
654
 
655
 
656
+ @manager.route("/datasets/<dataset_id>/chunks", methods=["DELETE"]) # noqa: F821
657
  @token_required
658
  def stop_parsing(tenant_id, dataset_id):
659
  """
 
711
  return get_result()
712
 
713
 
714
+ @manager.route("/datasets/<dataset_id>/documents/<document_id>/chunks", methods=["GET"]) # noqa: F821
715
  @token_required
716
  def list_chunks(tenant_id, dataset_id, document_id):
717
  """
 
895
  return get_result(data=res)
896
 
897
 
898
+ @manager.route( # noqa: F821
899
  "/datasets/<dataset_id>/documents/<document_id>/chunks", methods=["POST"]
900
  )
901
  @token_required
 
1038
  # return get_result(data={"chunk_id": chunk_id})
1039
 
1040
 
1041
+ @manager.route( # noqa: F821
1042
  "datasets/<dataset_id>/documents/<document_id>/chunks", methods=["DELETE"]
1043
  )
1044
  @token_required
 
1098
  return get_result(message=f"deleted {chunk_number} chunks")
1099
 
1100
 
1101
+ @manager.route( # noqa: F821
1102
  "/datasets/<dataset_id>/documents/<document_id>/chunks/<chunk_id>", methods=["PUT"]
1103
  )
1104
  @token_required
 
1208
  return get_result()
1209
 
1210
 
1211
+ @manager.route("/retrieval", methods=["POST"]) # noqa: F821
1212
  @token_required
1213
  def retrieval_test(tenant_id):
1214
  """
api/apps/sdk/session.py CHANGED
@@ -33,7 +33,7 @@ from api.utils.api_utils import get_result, token_required
33
  from api.db.services.llm_service import LLMBundle
34
 
35
 
36
- @manager.route('/chats/<chat_id>/sessions', methods=['POST'])
37
  @token_required
38
  def create(tenant_id, chat_id):
39
  req = request.json
@@ -60,7 +60,7 @@ def create(tenant_id, chat_id):
60
  return get_result(data=conv)
61
 
62
 
63
- @manager.route('/agents/<agent_id>/sessions', methods=['POST'])
64
  @token_required
65
  def create_agent_session(tenant_id, agent_id):
66
  e, cvs = UserCanvasService.get_by_id(agent_id)
@@ -86,7 +86,7 @@ def create_agent_session(tenant_id, agent_id):
86
  return get_result(data=conv)
87
 
88
 
89
- @manager.route('/chats/<chat_id>/sessions/<session_id>', methods=['PUT'])
90
  @token_required
91
  def update(tenant_id, chat_id, session_id):
92
  req = request.json
@@ -108,7 +108,7 @@ def update(tenant_id, chat_id, session_id):
108
  return get_result()
109
 
110
 
111
- @manager.route('/chats/<chat_id>/completions', methods=['POST'])
112
  @token_required
113
  def completion(tenant_id, chat_id):
114
  dia = DialogService.query(id=chat_id, tenant_id=tenant_id, status=StatusEnum.VALID.value)
@@ -219,7 +219,7 @@ def completion(tenant_id, chat_id):
219
  return get_result(data=answer)
220
 
221
 
222
- @manager.route('/agents/<agent_id>/completions', methods=['POST'])
223
  @token_required
224
  def agent_completion(tenant_id, agent_id):
225
  req = request.json
@@ -379,7 +379,7 @@ def agent_completion(tenant_id, agent_id):
379
  return get_result(data=result)
380
 
381
 
382
- @manager.route('/chats/<chat_id>/sessions', methods=['GET'])
383
  @token_required
384
  def list_session(tenant_id, chat_id):
385
  if not DialogService.query(tenant_id=tenant_id, id=chat_id, status=StatusEnum.VALID.value):
@@ -433,7 +433,7 @@ def list_session(tenant_id, chat_id):
433
  return get_result(data=convs)
434
 
435
 
436
- @manager.route('/agents/<agent_id>/sessions', methods=['GET'])
437
  @token_required
438
  def list_agent_session(tenant_id, agent_id):
439
  if not UserCanvasService.query(user_id=tenant_id, id=agent_id):
@@ -488,7 +488,7 @@ def list_agent_session(tenant_id, agent_id):
488
  return get_result(data=convs)
489
 
490
 
491
- @manager.route('/chats/<chat_id>/sessions', methods=["DELETE"])
492
  @token_required
493
  def delete(tenant_id, chat_id):
494
  if not DialogService.query(id=chat_id, tenant_id=tenant_id, status=StatusEnum.VALID.value):
@@ -514,7 +514,7 @@ def delete(tenant_id, chat_id):
514
  return get_result()
515
 
516
 
517
- @manager.route('/sessions/ask', methods=['POST'])
518
  @token_required
519
  def ask_about(tenant_id):
520
  req = request.json
@@ -553,7 +553,7 @@ def ask_about(tenant_id):
553
  return resp
554
 
555
 
556
- @manager.route('/sessions/related_questions', methods=['POST'])
557
  @token_required
558
  def related_questions(tenant_id):
559
  req = request.json
 
33
  from api.db.services.llm_service import LLMBundle
34
 
35
 
36
+ @manager.route('/chats/<chat_id>/sessions', methods=['POST']) # noqa: F821
37
  @token_required
38
  def create(tenant_id, chat_id):
39
  req = request.json
 
60
  return get_result(data=conv)
61
 
62
 
63
+ @manager.route('/agents/<agent_id>/sessions', methods=['POST']) # noqa: F821
64
  @token_required
65
  def create_agent_session(tenant_id, agent_id):
66
  e, cvs = UserCanvasService.get_by_id(agent_id)
 
86
  return get_result(data=conv)
87
 
88
 
89
+ @manager.route('/chats/<chat_id>/sessions/<session_id>', methods=['PUT']) # noqa: F821
90
  @token_required
91
  def update(tenant_id, chat_id, session_id):
92
  req = request.json
 
108
  return get_result()
109
 
110
 
111
+ @manager.route('/chats/<chat_id>/completions', methods=['POST']) # noqa: F821
112
  @token_required
113
  def completion(tenant_id, chat_id):
114
  dia = DialogService.query(id=chat_id, tenant_id=tenant_id, status=StatusEnum.VALID.value)
 
219
  return get_result(data=answer)
220
 
221
 
222
+ @manager.route('/agents/<agent_id>/completions', methods=['POST']) # noqa: F821
223
  @token_required
224
  def agent_completion(tenant_id, agent_id):
225
  req = request.json
 
379
  return get_result(data=result)
380
 
381
 
382
+ @manager.route('/chats/<chat_id>/sessions', methods=['GET']) # noqa: F821
383
  @token_required
384
  def list_session(tenant_id, chat_id):
385
  if not DialogService.query(tenant_id=tenant_id, id=chat_id, status=StatusEnum.VALID.value):
 
433
  return get_result(data=convs)
434
 
435
 
436
+ @manager.route('/agents/<agent_id>/sessions', methods=['GET']) # noqa: F821
437
  @token_required
438
  def list_agent_session(tenant_id, agent_id):
439
  if not UserCanvasService.query(user_id=tenant_id, id=agent_id):
 
488
  return get_result(data=convs)
489
 
490
 
491
+ @manager.route('/chats/<chat_id>/sessions', methods=["DELETE"]) # noqa: F821
492
  @token_required
493
  def delete(tenant_id, chat_id):
494
  if not DialogService.query(id=chat_id, tenant_id=tenant_id, status=StatusEnum.VALID.value):
 
514
  return get_result()
515
 
516
 
517
+ @manager.route('/sessions/ask', methods=['POST']) # noqa: F821
518
  @token_required
519
  def ask_about(tenant_id):
520
  req = request.json
 
553
  return resp
554
 
555
 
556
+ @manager.route('/sessions/related_questions', methods=['POST']) # noqa: F821
557
  @token_required
558
  def related_questions(tenant_id):
559
  req = request.json
api/apps/system_app.py CHANGED
@@ -38,7 +38,7 @@ from timeit import default_timer as timer
38
  from rag.utils.redis_conn import REDIS_CONN
39
 
40
 
41
- @manager.route("/version", methods=["GET"])
42
  @login_required
43
  def version():
44
  """
@@ -61,7 +61,7 @@ def version():
61
  return get_json_result(data=get_ragflow_version())
62
 
63
 
64
- @manager.route("/status", methods=["GET"])
65
  @login_required
66
  def status():
67
  """
@@ -170,7 +170,7 @@ def status():
170
  return get_json_result(data=res)
171
 
172
 
173
- @manager.route("/new_token", methods=["POST"])
174
  @login_required
175
  def new_token():
176
  """
@@ -219,7 +219,7 @@ def new_token():
219
  return server_error_response(e)
220
 
221
 
222
- @manager.route("/token_list", methods=["GET"])
223
  @login_required
224
  def token_list():
225
  """
@@ -261,7 +261,7 @@ def token_list():
261
  return server_error_response(e)
262
 
263
 
264
- @manager.route("/token/<token>", methods=["DELETE"])
265
  @login_required
266
  def rm(token):
267
  """
 
38
  from rag.utils.redis_conn import REDIS_CONN
39
 
40
 
41
+ @manager.route("/version", methods=["GET"]) # noqa: F821
42
  @login_required
43
  def version():
44
  """
 
61
  return get_json_result(data=get_ragflow_version())
62
 
63
 
64
+ @manager.route("/status", methods=["GET"]) # noqa: F821
65
  @login_required
66
  def status():
67
  """
 
170
  return get_json_result(data=res)
171
 
172
 
173
+ @manager.route("/new_token", methods=["POST"]) # noqa: F821
174
  @login_required
175
  def new_token():
176
  """
 
219
  return server_error_response(e)
220
 
221
 
222
+ @manager.route("/token_list", methods=["GET"]) # noqa: F821
223
  @login_required
224
  def token_list():
225
  """
 
261
  return server_error_response(e)
262
 
263
 
264
+ @manager.route("/token/<token>", methods=["DELETE"]) # noqa: F821
265
  @login_required
266
  def rm(token):
267
  """
api/apps/tenant_app.py CHANGED
@@ -26,7 +26,7 @@ from api.utils import get_uuid, delta_seconds
26
  from api.utils.api_utils import get_json_result, validate_request, server_error_response, get_data_error_result
27
 
28
 
29
- @manager.route("/<tenant_id>/user/list", methods=["GET"])
30
  @login_required
31
  def user_list(tenant_id):
32
  if current_user.id != tenant_id:
@@ -44,7 +44,7 @@ def user_list(tenant_id):
44
  return server_error_response(e)
45
 
46
 
47
- @manager.route('/<tenant_id>/user', methods=['POST'])
48
  @login_required
49
  @validate_request("email")
50
  def create(tenant_id):
@@ -80,7 +80,7 @@ def create(tenant_id):
80
  return get_json_result(data=usr)
81
 
82
 
83
- @manager.route('/<tenant_id>/user/<user_id>', methods=['DELETE'])
84
  @login_required
85
  def rm(tenant_id, user_id):
86
  if current_user.id != tenant_id and current_user.id != user_id:
@@ -96,7 +96,7 @@ def rm(tenant_id, user_id):
96
  return server_error_response(e)
97
 
98
 
99
- @manager.route("/list", methods=["GET"])
100
  @login_required
101
  def tenant_list():
102
  try:
@@ -108,7 +108,7 @@ def tenant_list():
108
  return server_error_response(e)
109
 
110
 
111
- @manager.route("/agree/<tenant_id>", methods=["PUT"])
112
  @login_required
113
  def agree(tenant_id):
114
  try:
 
26
  from api.utils.api_utils import get_json_result, validate_request, server_error_response, get_data_error_result
27
 
28
 
29
+ @manager.route("/<tenant_id>/user/list", methods=["GET"]) # noqa: F821
30
  @login_required
31
  def user_list(tenant_id):
32
  if current_user.id != tenant_id:
 
44
  return server_error_response(e)
45
 
46
 
47
+ @manager.route('/<tenant_id>/user', methods=['POST']) # noqa: F821
48
  @login_required
49
  @validate_request("email")
50
  def create(tenant_id):
 
80
  return get_json_result(data=usr)
81
 
82
 
83
+ @manager.route('/<tenant_id>/user/<user_id>', methods=['DELETE']) # noqa: F821
84
  @login_required
85
  def rm(tenant_id, user_id):
86
  if current_user.id != tenant_id and current_user.id != user_id:
 
96
  return server_error_response(e)
97
 
98
 
99
+ @manager.route("/list", methods=["GET"]) # noqa: F821
100
  @login_required
101
  def tenant_list():
102
  try:
 
108
  return server_error_response(e)
109
 
110
 
111
+ @manager.route("/agree/<tenant_id>", methods=["PUT"]) # noqa: F821
112
  @login_required
113
  def agree(tenant_id):
114
  try:
api/apps/user_app.py CHANGED
@@ -44,7 +44,7 @@ from api.db.services.file_service import FileService
44
  from api.utils.api_utils import get_json_result, construct_response
45
 
46
 
47
- @manager.route("/login", methods=["POST", "GET"])
48
  def login():
49
  """
50
  User login endpoint.
@@ -115,7 +115,7 @@ def login():
115
  )
116
 
117
 
118
- @manager.route("/github_callback", methods=["GET"])
119
  def github_callback():
120
  """
121
  GitHub OAuth callback endpoint.
@@ -200,7 +200,7 @@ def github_callback():
200
  return redirect("/?auth=%s" % user.get_id())
201
 
202
 
203
- @manager.route("/feishu_callback", methods=["GET"])
204
  def feishu_callback():
205
  """
206
  Feishu OAuth callback endpoint.
@@ -335,7 +335,7 @@ def user_info_from_github(access_token):
335
  return user_info
336
 
337
 
338
- @manager.route("/logout", methods=["GET"])
339
  @login_required
340
  def log_out():
341
  """
@@ -357,7 +357,7 @@ def log_out():
357
  return get_json_result(data=True)
358
 
359
 
360
- @manager.route("/setting", methods=["POST"])
361
  @login_required
362
  def setting_user():
363
  """
@@ -429,7 +429,7 @@ def setting_user():
429
  )
430
 
431
 
432
- @manager.route("/info", methods=["GET"])
433
  @login_required
434
  def user_profile():
435
  """
@@ -531,7 +531,7 @@ def user_register(user_id, user):
531
  return UserService.query(email=user["email"])
532
 
533
 
534
- @manager.route("/register", methods=["POST"])
535
  @validate_request("nickname", "email", "password")
536
  def user_add():
537
  """
@@ -617,7 +617,7 @@ def user_add():
617
  )
618
 
619
 
620
- @manager.route("/tenant_info", methods=["GET"])
621
  @login_required
622
  def tenant_info():
623
  """
@@ -655,7 +655,7 @@ def tenant_info():
655
  return server_error_response(e)
656
 
657
 
658
- @manager.route("/set_tenant_info", methods=["POST"])
659
  @login_required
660
  @validate_request("tenant_id", "asr_id", "embd_id", "img2txt_id", "llm_id")
661
  def set_tenant_info():
 
44
  from api.utils.api_utils import get_json_result, construct_response
45
 
46
 
47
+ @manager.route("/login", methods=["POST", "GET"]) # noqa: F821
48
  def login():
49
  """
50
  User login endpoint.
 
115
  )
116
 
117
 
118
+ @manager.route("/github_callback", methods=["GET"]) # noqa: F821
119
  def github_callback():
120
  """
121
  GitHub OAuth callback endpoint.
 
200
  return redirect("/?auth=%s" % user.get_id())
201
 
202
 
203
+ @manager.route("/feishu_callback", methods=["GET"]) # noqa: F821
204
  def feishu_callback():
205
  """
206
  Feishu OAuth callback endpoint.
 
335
  return user_info
336
 
337
 
338
+ @manager.route("/logout", methods=["GET"]) # noqa: F821
339
  @login_required
340
  def log_out():
341
  """
 
357
  return get_json_result(data=True)
358
 
359
 
360
+ @manager.route("/setting", methods=["POST"]) # noqa: F821
361
  @login_required
362
  def setting_user():
363
  """
 
429
  )
430
 
431
 
432
+ @manager.route("/info", methods=["GET"]) # noqa: F821
433
  @login_required
434
  def user_profile():
435
  """
 
531
  return UserService.query(email=user["email"])
532
 
533
 
534
+ @manager.route("/register", methods=["POST"]) # noqa: F821
535
  @validate_request("nickname", "email", "password")
536
  def user_add():
537
  """
 
617
  )
618
 
619
 
620
+ @manager.route("/tenant_info", methods=["GET"]) # noqa: F821
621
  @login_required
622
  def tenant_info():
623
  """
 
655
  return server_error_response(e)
656
 
657
 
658
+ @manager.route("/set_tenant_info", methods=["POST"]) # noqa: F821
659
  @login_required
660
  @validate_request("tenant_id", "asr_id", "embd_id", "img2txt_id", "llm_id")
661
  def set_tenant_info():
deepdoc/parser/pdf_parser.py CHANGED
@@ -21,7 +21,6 @@ import re
21
  import pdfplumber
22
  from PIL import Image
23
  import numpy as np
24
- from timeit import default_timer as timer
25
  from pypdf import PdfReader as pdf2_read
26
 
27
  from api import settings
@@ -949,7 +948,6 @@ class RAGFlowPdfParser:
949
  self.page_cum_height = [0]
950
  self.page_layout = []
951
  self.page_from = page_from
952
- st = timer()
953
  try:
954
  self.pdf = pdfplumber.open(fnm) if isinstance(
955
  fnm, str) else pdfplumber.open(BytesIO(fnm))
 
21
  import pdfplumber
22
  from PIL import Image
23
  import numpy as np
 
24
  from pypdf import PdfReader as pdf2_read
25
 
26
  from api import settings
 
948
  self.page_cum_height = [0]
949
  self.page_layout = []
950
  self.page_from = page_from
 
951
  try:
952
  self.pdf = pdfplumber.open(fnm) if isinstance(
953
  fnm, str) else pdfplumber.open(BytesIO(fnm))
deepdoc/vision/ocr.py CHANGED
@@ -18,7 +18,7 @@ import os
18
  from huggingface_hub import snapshot_download
19
 
20
  from api.utils.file_utils import get_project_base_directory
21
- from .operators import *
22
  import math
23
  import numpy as np
24
  import cv2
 
18
  from huggingface_hub import snapshot_download
19
 
20
  from api.utils.file_utils import get_project_base_directory
21
+ from .operators import * # noqa: F403
22
  import math
23
  import numpy as np
24
  import cv2
deepdoc/vision/recognizer.py CHANGED
@@ -23,7 +23,8 @@ import onnxruntime as ort
23
  from huggingface_hub import snapshot_download
24
 
25
  from api.utils.file_utils import get_project_base_directory
26
- from .operators import *
 
27
 
28
  class Recognizer(object):
29
  def __init__(self, label_list, task_name, model_dir=None):
 
23
  from huggingface_hub import snapshot_download
24
 
25
  from api.utils.file_utils import get_project_base_directory
26
+ from .operators import * # noqa: F403
27
+ from .operators import preprocess
28
 
29
  class Recognizer(object):
30
  def __init__(self, label_list, task_name, model_dir=None):
graphrag/entity_embedding.py CHANGED
@@ -10,6 +10,7 @@ import numpy as np
10
  import networkx as nx
11
  from dataclasses import dataclass
12
  from graphrag.leiden import stable_largest_connected_component
 
13
 
14
 
15
  @dataclass
 
10
  import networkx as nx
11
  from dataclasses import dataclass
12
  from graphrag.leiden import stable_largest_connected_component
13
+ import graspologic as gc
14
 
15
 
16
  @dataclass