* Update version to 3.74 * Add support for Yi Model API (#1635) * 更新以支持零一万物模型 * 删除newbing * 修改config --------- Co-authored-by: binary-husky <qingxu.fu@outlook.com> * Refactor function signatures in bridge files * fix qwen api change * rename and ref functions * rename and move some cookie functions * 增加haiku模型,新增endpoint配置说明 (#1626) * haiku added * 新增haiku,新增endpoint配置说明 * Haiku added * 将说明同步至最新Endpoint --------- Co-authored-by: binary-husky <qingxu.fu@outlook.com> * private_upload目录下进行文件鉴权 (#1596) * private_upload目录下进行文件鉴权 * minor fastapi adjustment * Add logging functionality to enable saving conversation records * waiting to fix username retrieve * support 2rd web path * allow accessing default user dir --------- Co-authored-by: binary-husky <qingxu.fu@outlook.com> * remove yaml deps * fix favicon * fix abs path auth problem * forget to write a return * add `dashscope` to deps * fix GHSA-v9q9-xj86-953p * 用户名重叠越权访问patch (#1681) * add cohere model api access * cohere + can_multi_thread * fix block user access(fail) * fix fastapi bug * change cohere api endpoint * explain version --------- Co-authored-by: Menghuan1918 <menghuan2003@outlook.com> Co-authored-by: Skyzayre <120616113+Skyzayre@users.noreply.github.com> Co-authored-by: XIao <46100050+Kilig947@users.noreply.github.com>
62 lines
2.9 KiB
Python
62 lines
2.9 KiB
Python
from typing import Callable
|
|
def load_web_cookie_cache__fn_builder(customize_btns, cookies, predefined_btns)->Callable:
|
|
def load_web_cookie_cache(persistent_cookie_, cookies_):
|
|
import gradio as gr
|
|
from themes.theme import load_dynamic_theme, to_cookie_str, from_cookie_str, assign_user_uuid
|
|
|
|
ret = {}
|
|
for k in customize_btns:
|
|
ret.update({customize_btns[k]: gr.update(visible=False, value="")})
|
|
|
|
try: persistent_cookie_ = from_cookie_str(persistent_cookie_) # persistent cookie to dict
|
|
except: return ret
|
|
|
|
customize_fn_overwrite_ = persistent_cookie_.get("custom_bnt", {})
|
|
cookies_['customize_fn_overwrite'] = customize_fn_overwrite_
|
|
ret.update({cookies: cookies_})
|
|
|
|
for k,v in persistent_cookie_["custom_bnt"].items():
|
|
if v['Title'] == "": continue
|
|
if k in customize_btns: ret.update({customize_btns[k]: gr.update(visible=True, value=v['Title'])})
|
|
else: ret.update({predefined_btns[k]: gr.update(visible=True, value=v['Title'])})
|
|
return ret
|
|
return load_web_cookie_cache
|
|
|
|
|
|
def assign_btn__fn_builder(customize_btns, predefined_btns, cookies, web_cookie_cache)->Callable:
|
|
def assign_btn(persistent_cookie_, cookies_, basic_btn_dropdown_, basic_fn_title, basic_fn_prefix, basic_fn_suffix, clean_up=False):
|
|
import gradio as gr
|
|
from themes.theme import load_dynamic_theme, to_cookie_str, from_cookie_str, assign_user_uuid
|
|
ret = {}
|
|
# 读取之前的自定义按钮
|
|
customize_fn_overwrite_ = cookies_['customize_fn_overwrite']
|
|
# 更新新的自定义按钮
|
|
customize_fn_overwrite_.update({
|
|
basic_btn_dropdown_:
|
|
{
|
|
"Title":basic_fn_title,
|
|
"Prefix":basic_fn_prefix,
|
|
"Suffix":basic_fn_suffix,
|
|
}
|
|
}
|
|
)
|
|
if clean_up:
|
|
customize_fn_overwrite_ = {}
|
|
cookies_.update(customize_fn_overwrite_) # 更新cookie
|
|
visible = (not clean_up) and (basic_fn_title != "")
|
|
if basic_btn_dropdown_ in customize_btns:
|
|
# 是自定义按钮,不是预定义按钮
|
|
ret.update({customize_btns[basic_btn_dropdown_]: gr.update(visible=visible, value=basic_fn_title)})
|
|
else:
|
|
# 是预定义按钮
|
|
ret.update({predefined_btns[basic_btn_dropdown_]: gr.update(visible=visible, value=basic_fn_title)})
|
|
ret.update({cookies: cookies_})
|
|
try: persistent_cookie_ = from_cookie_str(persistent_cookie_) # persistent cookie to dict
|
|
except: persistent_cookie_ = {}
|
|
persistent_cookie_["custom_bnt"] = customize_fn_overwrite_ # dict update new value
|
|
persistent_cookie_ = to_cookie_str(persistent_cookie_) # persistent cookie to dict
|
|
ret.update({web_cookie_cache: persistent_cookie_}) # write persistent cookie
|
|
return ret
|
|
return assign_btn
|
|
|