Spaces:
Sleeping
Sleeping
Tuchuanhuhuhu
commited on
Commit
·
60a57c5
1
Parent(s):
2c7dccc
feat: 加快川虎Chat的启动速度,尤其在不理想的网络情况下
Browse files- ChuanhuChatbot.py +1 -1
- locale/en_US.json +2 -1
- locale/ja_JP.json +2 -1
- locale/ko_KR.json +2 -1
- locale/ru_RU.json +2 -1
- locale/sv_SE.json +2 -1
- locale/vi_VN.json +2 -1
- modules/utils.py +45 -19
ChuanhuChatbot.py
CHANGED
@@ -44,7 +44,7 @@ with gr.Blocks(theme=small_and_beautiful_theme) as demo:
|
|
44 |
with gr.Row(elem_id="chuanhu-header"):
|
45 |
gr.HTML(get_html("header_title.html").format(
|
46 |
app_title=CHUANHU_TITLE), elem_id="app-title")
|
47 |
-
status_display = gr.Markdown(get_geoip
|
48 |
with gr.Row(elem_id="float-display"):
|
49 |
user_info = gr.Markdown(
|
50 |
value="getting user info...", elem_id="user-info")
|
|
|
44 |
with gr.Row(elem_id="chuanhu-header"):
|
45 |
gr.HTML(get_html("header_title.html").format(
|
46 |
app_title=CHUANHU_TITLE), elem_id="app-title")
|
47 |
+
status_display = gr.Markdown(get_geoip, elem_id="status-display")
|
48 |
with gr.Row(elem_id="float-display"):
|
49 |
user_info = gr.Markdown(
|
50 |
value="getting user info...", elem_id="user-info")
|
locale/en_US.json
CHANGED
@@ -137,5 +137,6 @@
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Reset Network Settings",
|
138 |
"🗑️ 删除最新对话": "🗑️ Delete latest dialog",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Delete oldest dialog",
|
140 |
-
"🧹 新的对话": "🧹 New Dialogue"
|
|
|
141 |
}
|
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Reset Network Settings",
|
138 |
"🗑️ 删除最新对话": "🗑️ Delete latest dialog",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Delete oldest dialog",
|
140 |
+
"🧹 新的对话": "🧹 New Dialogue",
|
141 |
+
"正在获取IP地址信息,请稍候...": "Getting IP address information, please wait...",
|
142 |
}
|
locale/ja_JP.json
CHANGED
@@ -137,5 +137,6 @@
|
|
137 |
"🔙 恢复默认网络设置": "🔙 ネットワーク設定のリセット",
|
138 |
"🗑️ 删除最新对话": "🗑️ 最新の会話削除",
|
139 |
"🗑️ 删除最旧对话": "🗑️ 最古の会話削除",
|
140 |
-
"🧹 新的对话": "🧹 新しい会話"
|
|
|
141 |
}
|
|
|
137 |
"🔙 恢复默认网络设置": "🔙 ネットワーク設定のリセット",
|
138 |
"🗑️ 删除最新对话": "🗑️ 最新の会話削除",
|
139 |
"🗑️ 删除最旧对话": "🗑️ 最古の会話削除",
|
140 |
+
"🧹 新的对话": "🧹 新しい会話",
|
141 |
+
"正在获取IP地址信息,请稍候...": "IPアドレス情報を取得しています、しばらくお待ちください...",
|
142 |
}
|
locale/ko_KR.json
CHANGED
@@ -137,5 +137,6 @@
|
|
137 |
"🔙 恢复默认网络设置": "🔙 네트워크 설정 초기화",
|
138 |
"🗑️ 删除最新对话": "🗑️ 최신 대화 삭제",
|
139 |
"🗑️ 删除最旧对话": "🗑️ 가장 오래된 대화 삭제",
|
140 |
-
"🧹 新的对话": "🧹 새로운 대화"
|
|
|
141 |
}
|
|
|
137 |
"🔙 恢复默认网络设置": "🔙 네트워크 설정 초기화",
|
138 |
"🗑️ 删除最新对话": "🗑️ 최신 대화 삭제",
|
139 |
"🗑️ 删除最旧对话": "🗑️ 가장 오래된 대화 삭제",
|
140 |
+
"🧹 新的对话": "🧹 새로운 대화",
|
141 |
+
"正在获取IP地址信息,请稍候...": "IP 주소 정보를 가져오는 중입니다. 잠시만 기다려주세요...",
|
142 |
}
|
locale/ru_RU.json
CHANGED
@@ -137,5 +137,6 @@
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Восстановить настройки сети по умолчанию",
|
138 |
"🗑️ 删除最新对话": "🗑️ Удалить последний диалог",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Удалить старейший диалог",
|
140 |
-
"🧹 新的对话": "🧹 Новый диалог"
|
|
|
141 |
}
|
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Восстановить настройки сети по умолчанию",
|
138 |
"🗑️ 删除最新对话": "🗑️ Удалить последний диалог",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Удалить старейший диалог",
|
140 |
+
"🧹 新的对话": "🧹 Новый диалог",
|
141 |
+
"正在获取IP地址信息,请稍候...": "Получение информации об IP-адресе, пожалуйста, подождите...",
|
142 |
}
|
locale/sv_SE.json
CHANGED
@@ -137,5 +137,6 @@
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Återställ standardnätverksinställningar+",
|
138 |
"🗑️ 删除最新对话": "🗑️ Ta bort senaste dialogen",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Ta bort äldsta dialogen",
|
140 |
-
"🧹 新的对话": "🧹 Ny Dialog"
|
|
|
141 |
}
|
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Återställ standardnätverksinställningar+",
|
138 |
"🗑️ 删除最新对话": "🗑️ Ta bort senaste dialogen",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Ta bort äldsta dialogen",
|
140 |
+
"🧹 新的对话": "🧹 Ny Dialog",
|
141 |
+
"正在获取IP地址信息,请稍候...": "Hämtar IP-adressinformation, vänta...",
|
142 |
}
|
locale/vi_VN.json
CHANGED
@@ -137,5 +137,6 @@
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Khôi phục cài đặt mạng mặc định",
|
138 |
"🗑️ 删除最新对话": "🗑️ Xóa cuộc trò chuyện mới nhất",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Xóa cuộc trò chuyện cũ nhất",
|
140 |
-
"🧹 新的对话": "🧹 Cuộc trò chuyện mới"
|
|
|
141 |
}
|
|
|
137 |
"🔙 恢复默认网络设置": "🔙 Khôi phục cài đặt mạng mặc định",
|
138 |
"🗑️ 删除最新对话": "🗑️ Xóa cuộc trò chuyện mới nhất",
|
139 |
"🗑️ 删除最旧对话": "🗑️ Xóa cuộc trò chuyện cũ nhất",
|
140 |
+
"🧹 新的对话": "🧹 Cuộc trò chuyện mới",
|
141 |
+
"正在获取IP地址信息,请稍候...": "Đang lấy thông tin địa chỉ IP, vui lòng đợi...",
|
142 |
}
|
modules/utils.py
CHANGED
@@ -6,6 +6,7 @@ import commentjson as json
|
|
6 |
import os
|
7 |
import datetime
|
8 |
import csv
|
|
|
9 |
import requests
|
10 |
import re
|
11 |
import html
|
@@ -586,28 +587,53 @@ def replace_today(prompt):
|
|
586 |
today = datetime.datetime.today().strftime("%Y-%m-%d")
|
587 |
return prompt.replace("{current_date}", today)
|
588 |
|
|
|
|
|
589 |
|
590 |
def get_geoip():
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
else:
|
608 |
-
|
609 |
-
|
610 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
611 |
|
612 |
|
613 |
def find_n(lst, max_num):
|
|
|
6 |
import os
|
7 |
import datetime
|
8 |
import csv
|
9 |
+
import threading
|
10 |
import requests
|
11 |
import re
|
12 |
import html
|
|
|
587 |
today = datetime.datetime.today().strftime("%Y-%m-%d")
|
588 |
return prompt.replace("{current_date}", today)
|
589 |
|
590 |
+
SERVER_GEO_IP_MSG = None
|
591 |
+
FETCHING_IP = False
|
592 |
|
593 |
def get_geoip():
|
594 |
+
global SERVER_GEO_IP_MSG, FETCHING_IP
|
595 |
+
|
596 |
+
# 如果已经获取了IP信息,则直接返回
|
597 |
+
if SERVER_GEO_IP_MSG is not None:
|
598 |
+
return SERVER_GEO_IP_MSG
|
599 |
+
|
600 |
+
# 如果正在获取IP信息,则返回等待消息
|
601 |
+
if FETCHING_IP:
|
602 |
+
return i18n("IP地址信息正在获取中,请稍候...")
|
603 |
+
|
604 |
+
# 定义一个内部函数用于在新线程中执行IP信息的获取
|
605 |
+
def fetch_ip():
|
606 |
+
global SERVER_GEO_IP_MSG, FETCHING_IP
|
607 |
+
try:
|
608 |
+
with retrieve_proxy():
|
609 |
+
response = requests.get("https://ipapi.co/json/", timeout=5)
|
610 |
+
data = response.json()
|
611 |
+
except:
|
612 |
+
data = {"error": True, "reason": "连接ipapi失败"}
|
613 |
+
if "error" in data.keys():
|
614 |
+
logging.warning(f"无法获取IP地址信息。\n{data}")
|
615 |
+
if data["reason"] == "RateLimited":
|
616 |
+
SERVER_GEO_IP_MSG = i18n("您的IP区域:未知。")
|
617 |
+
else:
|
618 |
+
SERVER_GEO_IP_MSG = i18n("获取IP地理位置失败。原因:") + f"{data['reason']}" + i18n("。你仍然可以使用聊天功能。")
|
619 |
else:
|
620 |
+
country = data["country_name"]
|
621 |
+
if country == "China":
|
622 |
+
SERVER_GEO_IP_MSG = "**您的IP区域:中国。请立即检查代理设置,在不受支持的地区使用API可能导致账号被封禁。**"
|
623 |
+
else:
|
624 |
+
SERVER_GEO_IP_MSG = i18n("您的IP区域:") + f"{country}。"
|
625 |
+
logging.info(SERVER_GEO_IP_MSG)
|
626 |
+
FETCHING_IP = False
|
627 |
+
|
628 |
+
# 设置正在获取IP信息的标志
|
629 |
+
FETCHING_IP = True
|
630 |
+
|
631 |
+
# 启动一个新线程来获取IP信息
|
632 |
+
thread = threading.Thread(target=fetch_ip)
|
633 |
+
thread.start()
|
634 |
+
|
635 |
+
# 返回一个默认消息,真正的IP信息将由新线程更新
|
636 |
+
return i18n("正在获取IP地址信息,请稍候...")
|
637 |
|
638 |
|
639 |
def find_n(lst, max_num):
|