mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-08-01 13:33:48 +08:00
Add license and fingerprint API hook (#13548)
### What problem does this PR solve? For EE ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
@@ -93,6 +93,9 @@ sql_command: login_user
|
||||
| list_chat_sessions
|
||||
| chat_on_session
|
||||
| list_server_configs
|
||||
| show_fingerprint
|
||||
| set_license
|
||||
| show_license
|
||||
| benchmark
|
||||
|
||||
// meta command definition
|
||||
@@ -178,6 +181,8 @@ PING: "PING"i
|
||||
SESSION: "SESSION"i
|
||||
SESSIONS: "SESSIONS"i
|
||||
SERVER: "SERVER"i
|
||||
FINGERPRINT: "FINGERPRINT"i
|
||||
LICENSE: "LICENSE"i
|
||||
|
||||
login_user: LOGIN USER quoted_string ";"
|
||||
list_services: LIST SERVICES ";"
|
||||
@@ -223,6 +228,10 @@ list_variables: LIST VARS ";"
|
||||
list_configs: LIST CONFIGS ";"
|
||||
list_environments: LIST ENVS ";"
|
||||
|
||||
show_fingerprint: SHOW FINGERPRINT ";"
|
||||
set_license: SET LICENSE quoted_string ";"
|
||||
show_license: SHOW LICENSE ";"
|
||||
|
||||
list_server_configs: LIST SERVER CONFIGS ";"
|
||||
|
||||
benchmark: BENCHMARK NUMBER NUMBER user_statement
|
||||
@@ -477,6 +486,16 @@ class RAGFlowCLITransformer(Transformer):
|
||||
def list_environments(self, items):
|
||||
return {"type": "list_environments"}
|
||||
|
||||
def show_fingerprint(self, items):
|
||||
return {"type": "show_fingerprint"}
|
||||
|
||||
def set_license(self, items):
|
||||
license = items[2].children[0].strip("'\"")
|
||||
return {"type": "set_license", "license": license}
|
||||
|
||||
def show_license(self, items):
|
||||
return {"type": "show_license"}
|
||||
|
||||
def list_server_configs(self, items):
|
||||
return {"type": "list_server_configs"}
|
||||
|
||||
|
||||
@@ -583,6 +583,37 @@ class RAGFlowClient:
|
||||
else:
|
||||
print(f"Fail to list variables, code: {res_json['code']}, message: {res_json['message']}")
|
||||
|
||||
def show_fingerprint(self, command):
|
||||
if self.server_type != "admin":
|
||||
print("This command is only allowed in ADMIN mode")
|
||||
response = self.http_client.request("GET", "/admin/fingerprint", use_api_base=True, auth_kind="admin")
|
||||
res_json = response.json()
|
||||
if response.status_code == 200:
|
||||
self._print_table_simple(res_json["data"])
|
||||
else:
|
||||
print(f"Fail to show fingerprint, code: {res_json['code']}, message: {res_json['message']}")
|
||||
|
||||
def set_license(self, command):
|
||||
if self.server_type != "admin":
|
||||
print("This command is only allowed in ADMIN mode")
|
||||
license = command["license"]
|
||||
response = self.http_client.request("POST", "/admin/license", json_body={"license": license}, use_api_base=True, auth_kind="admin")
|
||||
res_json = response.json()
|
||||
if response.status_code == 200:
|
||||
print("Set license successfully")
|
||||
else:
|
||||
print(f"Fail to set license, code: {res_json['code']}, message: {res_json['message']}")
|
||||
|
||||
def show_license(self, command):
|
||||
if self.server_type != "admin":
|
||||
print("This command is only allowed in ADMIN mode")
|
||||
response = self.http_client.request("GET", "/admin/license", use_api_base=True, auth_kind="admin")
|
||||
res_json = response.json()
|
||||
if response.status_code == 200:
|
||||
self._print_table_simple(res_json["data"])
|
||||
else:
|
||||
print(f"Fail to show license, code: {res_json['code']}, message: {res_json['message']}")
|
||||
|
||||
def list_server_configs(self, command):
|
||||
"""List server configs by calling /system/configs API and flattening the JSON response."""
|
||||
response = self.http_client.request("GET", "/system/configs", use_api_base=False, auth_kind="web")
|
||||
@@ -1514,6 +1545,12 @@ def run_command(client: RAGFlowClient, command_dict: dict):
|
||||
client.list_configs(command_dict)
|
||||
case "list_environments":
|
||||
client.list_environments(command_dict)
|
||||
case "show_fingerprint":
|
||||
client.show_fingerprint(command_dict)
|
||||
case "set_license":
|
||||
client.set_license(command_dict)
|
||||
case "show_license":
|
||||
client.show_license(command_dict)
|
||||
case "list_server_configs":
|
||||
client.list_server_configs(command_dict)
|
||||
case "create_model_provider":
|
||||
|
||||
Reference in New Issue
Block a user