mirror of
https://github.com/RYDE-WORK/Langchain-Chatchat.git
synced 2026-01-25 00:05:58 +08:00
* feat:提交前端代码 * feat:提交logo样式切换 * feat:替换avatar、部分位置icon、chatchat相关说明、git链接、Wiki链接、关于、设置、反馈与建议等功能,关闭lobehub自检更新功能 * fix:移除多余代码 --------- Co-authored-by: liunux4odoo <41217877+liunux4odoo@users.noreply.github.com>
61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
import multiprocessing
|
||
from typing import List, Optional, Dict
|
||
|
||
from fastapi import FastAPI
|
||
import sys
|
||
|
||
import multiprocessing as mp
|
||
import uvicorn
|
||
import os
|
||
import logging
|
||
import asyncio
|
||
import signal
|
||
import inspect
|
||
|
||
logger = logging.getLogger(__name__)
|
||
# 为了能使用fastchat_wrapper.py中的函数,需要将当前目录加入到sys.path中
|
||
root_dir = os.path.dirname(os.path.abspath(__file__))
|
||
sys.path.append(root_dir)
|
||
|
||
from imitater_config import ImitaterCfg
|
||
|
||
"""
|
||
防止Can't pickle Function
|
||
"""
|
||
|
||
|
||
def _start_imitater(
|
||
started_event: mp.Event = None
|
||
):
|
||
from imitater.service.app import launch_app
|
||
# 跳过键盘中断,
|
||
signal.signal(signal.SIGINT, lambda *_: None)
|
||
launch_app()
|
||
|
||
|
||
def run_imitater(
|
||
cfg: ImitaterCfg,
|
||
worker_name: str,
|
||
started_event: mp.Event = None,
|
||
logging_conf: Optional[dict] = None):
|
||
# 跳过键盘中断,
|
||
signal.signal(signal.SIGINT, lambda *_: None)
|
||
|
||
logging.config.dictConfig(logging_conf) # type: ignore
|
||
import os
|
||
worker_cfg = cfg.get_imitate_model_workers_by_name(worker_name)
|
||
|
||
os.environ["AGENT_TYPE"] = worker_cfg.get("model").get("agent_type")
|
||
os.environ["CHAT_MODEL_PATH"] = worker_cfg.get("model").get("chat_model_path")
|
||
os.environ["CHAT_MODEL_DEVICE"] = worker_cfg.get("model").get("chat_model_device")
|
||
os.environ["CHAT_TEMPLATE_PATH"] = worker_cfg.get("model").get("chat_template_path")
|
||
os.environ["GENERATION_CONFIG_PATH"] = worker_cfg.get("model").get("generation_config_path")
|
||
|
||
os.environ["EMBED_MODEL_PATH"] = worker_cfg.get("embedding").get("embed_model_path")
|
||
os.environ["EMBED_MODEL_DEVICE"] = worker_cfg.get("embedding").get("embed_model_device")
|
||
os.environ["EMBED_BATCH_SIZE"] = str(worker_cfg.get("embedding").get("embed_batch_size"))
|
||
|
||
os.environ["SERVICE_PORT"] = str(cfg.get_run_openai_api_cfg().get("port", 30000))
|
||
|
||
_start_imitater(started_event=started_event)
|