Merge branch 'main' into feat/0.3.5
This commit is contained in:
@@ -150,7 +150,10 @@ class AssistantService(BaseService, AssistantUtils):
|
||||
# 自动补充默认的模型配置
|
||||
assistant_llm = LLMService.get_assistant_llm()
|
||||
if assistant_llm.llm_list:
|
||||
assistant.model_name = assistant_llm.llm_list[0].model_id
|
||||
for one in assistant_llm.llm_list:
|
||||
if one.default:
|
||||
assistant.model_id = one.model_id
|
||||
break
|
||||
|
||||
# 自动生成描述
|
||||
assistant, _, _ = await cls.get_auto_info(assistant)
|
||||
|
||||
@@ -20,7 +20,7 @@ from bisheng.api.v1.schemas import UnifiedResponseModel, resp_200
|
||||
from bisheng.cache import InMemoryCache
|
||||
from bisheng.database.models.finetune import (Finetune, FinetuneChangeModelName, FinetuneDao,
|
||||
FinetuneExtraParams, FinetuneList, FinetuneStatus)
|
||||
from bisheng.database.models.model_deploy import ModelDeploy, ModelDeployDao
|
||||
from bisheng.database.models.model_deploy import ModelDeploy, ModelDeployDao, ModelDeployInfo
|
||||
from bisheng.database.models.server import Server, ServerDao
|
||||
from bisheng.database.models.sft_model import SftModelDao
|
||||
from bisheng.utils.logger import logger
|
||||
@@ -538,7 +538,14 @@ class FinetuneService:
|
||||
ret.append(ModelDeployDao.insert_one(ModelDeploy(server=str(server_id),
|
||||
model=one,
|
||||
endpoint=f'http://{server_info.endpoint}/v2.1/models')))
|
||||
return ret
|
||||
|
||||
# 过滤可用来进行微调的模型列表
|
||||
all_sft_model = SftModelDao.get_all_sft_model()
|
||||
sft_model_dict = {one.model_name: True for one in all_sft_model}
|
||||
res = []
|
||||
for one in ret:
|
||||
res.append(ModelDeployInfo(**one.dict(), sft_support=sft_model_dict.get(one.model, False)))
|
||||
return res
|
||||
|
||||
@classmethod
|
||||
def get_gpu_info(cls) -> UnifiedResponseModel:
|
||||
|
||||
@@ -240,6 +240,10 @@ async def list_user(*,
|
||||
groups = list(set(groups) & set(group_id))
|
||||
if not groups:
|
||||
raise HTTPException(status_code=500, detail='无查看权限')
|
||||
# 查询用户组下的角色, 和角色筛选条件做交集,得到真正去查询的角色ID
|
||||
group_roles = RoleDao.get_role_by_groups(groups, None, 0, 0)
|
||||
if role_id:
|
||||
roles = list(set(role_id) & set([one.id for one in group_roles]))
|
||||
# 通过用户组和角色过滤出来的用户id
|
||||
user_ids = []
|
||||
if groups:
|
||||
@@ -248,10 +252,7 @@ async def list_user(*,
|
||||
if not groups_user_ids:
|
||||
return resp_200({'data': [], 'total': 0})
|
||||
user_ids = list(set([one.user_id for one in groups_user_ids]))
|
||||
# 查询用户组下的角色, 和角色筛选条件做交集,得到真正去查询的角色ID
|
||||
group_roles = RoleDao.get_role_by_groups(groups, None, 0, 0)
|
||||
if role_id:
|
||||
roles = list(set(role_id) & set([one.id for one in group_roles]))
|
||||
|
||||
if roles:
|
||||
roles_user_ids = UserRoleDao.get_roles_user(roles)
|
||||
if not roles_user_ids:
|
||||
|
||||
@@ -113,14 +113,14 @@ class BishengLLM(BaseChatModel):
|
||||
params['model'] = params.pop('model_name')
|
||||
elif server_info.type == LLMServerType.XINFERENCE.value:
|
||||
params['model_uid'] = params.pop('model_name')
|
||||
params['openai_api_key'] = params.pop('openai_api_key', None) or "EMPTY"
|
||||
elif server_info.type == LLMServerType.AZURE_OPENAI.value:
|
||||
params['azure_deployment'] = params.pop('model_name')
|
||||
elif server_info.type == LLMServerType.QIAN_FAN.value:
|
||||
params['model'] = params.pop('model_name')
|
||||
elif server_info.type == LLMServerType.SPARK.value:
|
||||
params['openai_api_key'] = f'{params.pop("api_key")}:{params.pop("api_secret")}'
|
||||
elif server_info.type in [LLMServerType.XINFERENCE.value, LLMServerType.LLAMACPP.value,
|
||||
LLMServerType.VLLM.value]:
|
||||
elif server_info.type in [LLMServerType.LLAMACPP.value, LLMServerType.VLLM.value]:
|
||||
params['openai_api_key'] = params.pop('openai_api_key', None) or "EMPTY"
|
||||
return params
|
||||
|
||||
|
||||
@@ -106,19 +106,6 @@ def convert_sys_embeddings_to_mysql():
|
||||
if one.name == name:
|
||||
need_add_server[name] = one
|
||||
|
||||
if not need_add_server[LLMServerType.BISHENG_RT.value]:
|
||||
# 添加一个默认的RT服务提供方
|
||||
server = LLMServer(
|
||||
name=f"RT_OLD",
|
||||
description='系统升级自动添加',
|
||||
type=LLMServerType.BISHENG_RT.value,
|
||||
config={
|
||||
"host_base_url": 'http://xxxx:8000',
|
||||
},
|
||||
user_id=1,
|
||||
)
|
||||
llm_server = LLMDao.insert_server_with_models(server, [])
|
||||
|
||||
# 重新设置知识库的模型配置
|
||||
update_knowledge = []
|
||||
for one in all_knowledge:
|
||||
@@ -130,6 +117,19 @@ def convert_sys_embeddings_to_mysql():
|
||||
if update_knowledge:
|
||||
KnowledgeDao.update_knowledge_list(update_knowledge)
|
||||
|
||||
if not need_add_server_index.get(LLMServerType.BISHENG_RT.value):
|
||||
# 添加一个默认的RT服务提供方
|
||||
server = LLMServer(
|
||||
name=f"RT_OLD",
|
||||
description='系统升级自动添加,后续不建议使用',
|
||||
type=LLMServerType.BISHENG_RT.value,
|
||||
config={
|
||||
"host_base_url": 'http://xxxx:8000',
|
||||
},
|
||||
user_id=1,
|
||||
)
|
||||
llm_server = LLMDao.insert_server_with_models(server, [])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
convert_sys_embeddings_to_mysql()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "bisheng"
|
||||
version = "0.3.4.dev1"
|
||||
version = "0.3.4.dev2"
|
||||
description = "A Python package with a built-in web application"
|
||||
authors = ["Dataelement <hanfeng@dataelem.com>"]
|
||||
maintainers = [
|
||||
@@ -18,7 +18,7 @@ include = ["./bisheng/*", "bisheng/**/*"]
|
||||
bisheng = "bisheng.__main__:main"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
bisheng_langchain = "0.3.4.dev1"
|
||||
bisheng_langchain = "0.3.4.dev2"
|
||||
bisheng_pyautogen = "0.3.2"
|
||||
langchain = "0.1.12"
|
||||
langchain_experimental = "*"
|
||||
|
||||
@@ -33,12 +33,12 @@ export default function ToolItem({
|
||||
onClick={(e) => onEdit(data.id)}
|
||||
><SettingIcon /></div>
|
||||
}
|
||||
{/* {
|
||||
{
|
||||
onSetClick && <div
|
||||
className="group-hover:opacity-100 opacity-0 hover:bg-[#EAEDF3] rounded cursor-pointer"
|
||||
onClick={onSetClick}
|
||||
><SettingIcon /></div>
|
||||
} */}
|
||||
}
|
||||
</div>
|
||||
<p className="text-sm text-muted-foreground mt-2">{data.description}</p>
|
||||
</div>
|
||||
|
||||
@@ -33,12 +33,13 @@ export default function ModelSelect({ type = 'assistant', value, onChange }) {
|
||||
setModelValue(_value)
|
||||
setOptions(_options)
|
||||
setLoading(false)
|
||||
|
||||
if (!_value.length) onChange(null)
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
loadModels()
|
||||
}, [])
|
||||
}, [value])
|
||||
if (loading) return null
|
||||
return <Cascader
|
||||
selectPlaceholder="选择一个模型"
|
||||
|
||||
@@ -80,7 +80,7 @@ export default function tabTools({ select = null, onSelect }) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="h-full w-full flex-1 overflow-auto bg-background-login p-5 pt-12 scrollbar-hide">
|
||||
<div className="h-full w-full flex-1 overflow-auto bg-background-login p-5 pb-20 pt-12 scrollbar-hide">
|
||||
<Accordion type="single" collapsible className="w-full">
|
||||
{options.length ? (
|
||||
options.map((el) => (
|
||||
|
||||
@@ -6,7 +6,7 @@ import { viteStaticCopy } from 'vite-plugin-static-copy';
|
||||
import svgr from "vite-plugin-svgr";
|
||||
|
||||
// Use environment variable to determine the target.
|
||||
const target = process.env.VITE_PROXY_TARGET || "http://192.168.106.120:2002";
|
||||
const target = process.env.VITE_PROXY_TARGET || "https://bisheng.dataelem.com/";
|
||||
const apiRoutes = ["^/api/", "/health"];
|
||||
|
||||
const proxyTargets = apiRoutes.reduce((proxyObj, route) => {
|
||||
|
||||
Reference in New Issue
Block a user