|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from api.utils.log_utils import initRootLogger |
|
initRootLogger("ragflow_server") |
|
|
|
import logging |
|
import os |
|
import signal |
|
import sys |
|
import time |
|
import traceback |
|
from concurrent.futures import ThreadPoolExecutor |
|
|
|
from werkzeug.serving import run_simple |
|
from api import settings |
|
from api.apps import app |
|
from api.db.runtime_config import RuntimeConfig |
|
from api.db.services.document_service import DocumentService |
|
from api import utils |
|
|
|
from api.db.db_models import init_database_tables as init_web_db |
|
from api.db.init_data import init_web_data |
|
from api.versions import get_ragflow_version |
|
from api.utils import show_configs |
|
from rag.settings import print_rag_settings |
|
|
|
|
|
def update_progress(): |
|
while True: |
|
time.sleep(6) |
|
try: |
|
DocumentService.update_progress() |
|
except Exception: |
|
logging.exception("update_progress exception") |
|
|
|
|
|
if __name__ == '__main__': |
|
logging.info(r""" |
|
____ ___ ______ ______ __ |
|
/ __ \ / | / ____// ____// /____ _ __ |
|
/ /_/ // /| | / / __ / /_ / // __ \| | /| / / |
|
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / |
|
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/ |
|
|
|
""") |
|
logging.info( |
|
f'RAGFlow version: {get_ragflow_version()}' |
|
) |
|
logging.info( |
|
f'project base: {utils.file_utils.get_project_base_directory()}' |
|
) |
|
show_configs() |
|
settings.init_settings() |
|
print_rag_settings() |
|
|
|
|
|
init_web_db() |
|
init_web_data() |
|
|
|
import argparse |
|
|
|
parser = argparse.ArgumentParser() |
|
parser.add_argument( |
|
"--version", default=False, help="RAGFlow version", action="store_true" |
|
) |
|
parser.add_argument( |
|
"--debug", default=False, help="debug mode", action="store_true" |
|
) |
|
args = parser.parse_args() |
|
if args.version: |
|
print(get_ragflow_version()) |
|
sys.exit(0) |
|
|
|
RuntimeConfig.DEBUG = args.debug |
|
if RuntimeConfig.DEBUG: |
|
logging.info("run on debug mode") |
|
|
|
RuntimeConfig.init_env() |
|
RuntimeConfig.init_config(JOB_SERVER_HOST=settings.HOST_IP, HTTP_PORT=settings.HOST_PORT) |
|
|
|
thread = ThreadPoolExecutor(max_workers=1) |
|
thread.submit(update_progress) |
|
|
|
|
|
try: |
|
logging.info("RAGFlow HTTP server start...") |
|
run_simple( |
|
hostname=settings.HOST_IP, |
|
port=settings.HOST_PORT, |
|
application=app, |
|
threaded=True, |
|
use_reloader=RuntimeConfig.DEBUG, |
|
use_debugger=RuntimeConfig.DEBUG, |
|
) |
|
except Exception: |
|
traceback.print_exc() |
|
os.kill(os.getpid(), signal.SIGKILL) |
|
|