2024-08-27 22:10:27 +00:00
|
|
|
import inspect
|
|
|
|
import json
|
|
|
|
import logging
|
2024-10-22 10:16:48 +00:00
|
|
|
import time
|
2024-08-27 22:10:27 +00:00
|
|
|
from typing import AsyncGenerator, Generator, Iterator
|
|
|
|
|
2024-12-12 02:36:59 +00:00
|
|
|
from open_webui.socket.main import get_event_call, get_event_emitter
|
2024-12-10 08:54:13 +00:00
|
|
|
from open_webui.models.functions import Functions
|
|
|
|
from open_webui.models.models import Models
|
|
|
|
from open_webui.routers import (
|
2024-01-08 07:43:32 +00:00
|
|
|
auths,
|
|
|
|
chats,
|
2024-10-17 04:05:03 +00:00
|
|
|
folders,
|
2024-08-27 22:10:27 +00:00
|
|
|
configs,
|
2024-11-15 02:35:14 +00:00
|
|
|
groups,
|
2024-08-27 22:10:27 +00:00
|
|
|
files,
|
|
|
|
functions,
|
|
|
|
memories,
|
2024-05-24 07:26:00 +00:00
|
|
|
models,
|
2024-10-02 05:45:04 +00:00
|
|
|
knowledge,
|
2024-01-08 07:43:32 +00:00
|
|
|
prompts,
|
2024-10-22 10:16:48 +00:00
|
|
|
evaluations,
|
2024-08-27 22:10:27 +00:00
|
|
|
tools,
|
|
|
|
users,
|
2024-01-08 07:43:32 +00:00
|
|
|
utils,
|
|
|
|
)
|
2024-12-12 02:36:59 +00:00
|
|
|
from open_webui.utils.plugin import load_function_module_by_id
|
2024-09-04 14:54:48 +00:00
|
|
|
from open_webui.config import (
|
2024-06-04 04:17:43 +00:00
|
|
|
ADMIN_EMAIL,
|
2024-08-27 22:10:27 +00:00
|
|
|
CORS_ALLOW_ORIGIN,
|
2024-02-14 09:17:43 +00:00
|
|
|
DEFAULT_MODELS,
|
|
|
|
DEFAULT_PROMPT_SUGGESTIONS,
|
|
|
|
DEFAULT_USER_ROLE,
|
2024-11-26 08:55:58 +00:00
|
|
|
MODEL_ORDER_LIST,
|
2024-08-27 22:10:27 +00:00
|
|
|
ENABLE_COMMUNITY_SHARING,
|
2024-07-25 01:44:40 +00:00
|
|
|
ENABLE_LOGIN_FORM,
|
2024-08-27 22:10:27 +00:00
|
|
|
ENABLE_MESSAGE_RATING,
|
|
|
|
ENABLE_SIGNUP,
|
2024-11-19 20:17:23 +00:00
|
|
|
ENABLE_API_KEY,
|
2024-10-22 10:16:48 +00:00
|
|
|
ENABLE_EVALUATION_ARENA_MODELS,
|
|
|
|
EVALUATION_ARENA_MODELS,
|
|
|
|
DEFAULT_ARENA_MODEL,
|
2024-08-27 22:10:27 +00:00
|
|
|
JWT_EXPIRES_IN,
|
2024-10-10 21:00:05 +00:00
|
|
|
ENABLE_OAUTH_ROLE_MANAGEMENT,
|
2024-10-03 18:55:32 +00:00
|
|
|
OAUTH_ROLES_CLAIM,
|
2024-08-27 22:10:27 +00:00
|
|
|
OAUTH_EMAIL_CLAIM,
|
|
|
|
OAUTH_PICTURE_CLAIM,
|
|
|
|
OAUTH_USERNAME_CLAIM,
|
2024-10-11 12:08:11 +00:00
|
|
|
OAUTH_ALLOWED_ROLES,
|
|
|
|
OAUTH_ADMIN_ROLES,
|
2024-08-27 22:10:27 +00:00
|
|
|
SHOW_ADMIN_DETAILS,
|
2024-02-14 09:17:43 +00:00
|
|
|
USER_PERMISSIONS,
|
2024-03-21 01:35:02 +00:00
|
|
|
WEBHOOK_URL,
|
2024-08-27 22:10:27 +00:00
|
|
|
WEBUI_AUTH,
|
2024-05-26 19:18:43 +00:00
|
|
|
WEBUI_BANNERS,
|
2024-11-05 22:20:54 +00:00
|
|
|
ENABLE_LDAP,
|
|
|
|
LDAP_SERVER_LABEL,
|
|
|
|
LDAP_SERVER_HOST,
|
|
|
|
LDAP_SERVER_PORT,
|
|
|
|
LDAP_ATTRIBUTE_FOR_USERNAME,
|
|
|
|
LDAP_SEARCH_FILTERS,
|
|
|
|
LDAP_SEARCH_BASE,
|
|
|
|
LDAP_APP_DN,
|
|
|
|
LDAP_APP_PASSWORD,
|
|
|
|
LDAP_USE_TLS,
|
|
|
|
LDAP_CA_CERT_FILE,
|
|
|
|
LDAP_CIPHERS,
|
2024-06-11 03:39:55 +00:00
|
|
|
AppConfig,
|
2024-02-14 09:17:43 +00:00
|
|
|
)
|
2024-09-04 14:54:48 +00:00
|
|
|
from open_webui.env import (
|
2024-11-10 02:01:23 +00:00
|
|
|
ENV,
|
2024-11-22 04:14:05 +00:00
|
|
|
SRC_LOG_LEVELS,
|
2024-09-04 14:54:48 +00:00
|
|
|
WEBUI_AUTH_TRUSTED_EMAIL_HEADER,
|
|
|
|
WEBUI_AUTH_TRUSTED_NAME_HEADER,
|
|
|
|
)
|
2024-08-27 22:10:27 +00:00
|
|
|
from fastapi import FastAPI
|
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
from fastapi.responses import StreamingResponse
|
2024-06-24 18:17:18 +00:00
|
|
|
from pydantic import BaseModel
|
2024-09-04 14:54:48 +00:00
|
|
|
from open_webui.utils.misc import (
|
2024-08-27 22:10:27 +00:00
|
|
|
openai_chat_chunk_message_template,
|
|
|
|
openai_chat_completion_message_template,
|
|
|
|
)
|
2024-09-07 02:09:57 +00:00
|
|
|
from open_webui.utils.payload import (
|
|
|
|
apply_model_params_to_body_openai,
|
|
|
|
apply_model_system_prompt_to_body,
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2024-09-04 14:54:48 +00:00
|
|
|
from open_webui.utils.tools import get_tools
|
2024-06-24 18:17:18 +00:00
|
|
|
|
2023-11-19 00:47:12 +00:00
|
|
|
|
2024-08-22 12:34:35 +00:00
|
|
|
log = logging.getLogger(__name__)
|
2024-11-22 04:14:05 +00:00
|
|
|
log.setLevel(SRC_LOG_LEVELS["MAIN"])
|