improve: introduce isort for linting Python imports (#1983)

This commit is contained in:
Bowen Liang
2024-01-12 12:34:01 +08:00
committed by GitHub
parent cca9edc97a
commit cc9e74123c
413 changed files with 1635 additions and 1906 deletions

View File

@@ -6,23 +6,23 @@ import secrets
import uuid
from datetime import datetime, timedelta
from hashlib import sha256
from typing import Optional, Dict, Any
from werkzeug.exceptions import Forbidden, Unauthorized
from flask import session, current_app
from sqlalchemy import func
from typing import Any, Dict, Optional
from events.tenant_event import tenant_was_created
from extensions.ext_redis import redis_client
from services.errors.account import AccountLoginError, CurrentPasswordIncorrectError, LinkAccountIntegrateError, \
TenantNotFound, AccountNotLinkTenantError, InvalidActionError, CannotOperateSelfError, MemberNotInTenantError, \
RoleAlreadyAssignedError, NoPermissionError, AccountRegisterError, AccountAlreadyInTenantError
from flask import current_app, session
from libs.helper import get_remote_ip
from libs.passport import PassportService
from libs.password import compare_password, hash_password
from libs.rsa import generate_key_pair
from libs.passport import PassportService
from models.account import *
from services.errors.account import (AccountAlreadyInTenantError, AccountLoginError, AccountNotLinkTenantError,
AccountRegisterError, CannotOperateSelfError, CurrentPasswordIncorrectError,
InvalidActionError, LinkAccountIntegrateError, MemberNotInTenantError,
NoPermissionError, RoleAlreadyAssignedError, TenantNotFound)
from sqlalchemy import func
from tasks.mail_invite_member_task import send_invite_member_mail_task
from werkzeug.exceptions import Forbidden, Unauthorized
def _create_tenant_for_account(account) -> Tenant:

View File

@@ -1,9 +1,15 @@
import copy
from core.prompt.advanced_prompt_templates import (BAICHUAN_CHAT_APP_CHAT_PROMPT_CONFIG,
BAICHUAN_CHAT_APP_COMPLETION_PROMPT_CONFIG,
BAICHUAN_COMPLETION_APP_CHAT_PROMPT_CONFIG,
BAICHUAN_COMPLETION_APP_COMPLETION_PROMPT_CONFIG, BAICHUAN_CONTEXT,
CHAT_APP_CHAT_PROMPT_CONFIG, CHAT_APP_COMPLETION_PROMPT_CONFIG,
COMPLETION_APP_CHAT_PROMPT_CONFIG,
COMPLETION_APP_COMPLETION_PROMPT_CONFIG, CONTEXT)
from core.prompt.prompt_transform import AppMode
from core.prompt.advanced_prompt_templates import CHAT_APP_COMPLETION_PROMPT_CONFIG, CHAT_APP_CHAT_PROMPT_CONFIG, COMPLETION_APP_CHAT_PROMPT_CONFIG, COMPLETION_APP_COMPLETION_PROMPT_CONFIG, \
BAICHUAN_CHAT_APP_COMPLETION_PROMPT_CONFIG, BAICHUAN_CHAT_APP_CHAT_PROMPT_CONFIG, BAICHUAN_COMPLETION_APP_COMPLETION_PROMPT_CONFIG, BAICHUAN_COMPLETION_APP_CHAT_PROMPT_CONFIG, CONTEXT, BAICHUAN_CONTEXT
class AdvancedPromptTemplateService:

View File

@@ -3,20 +3,19 @@ import json
import uuid
import pandas as pd
from flask_login import current_user
from sqlalchemy import or_
from werkzeug.datastructures import FileStorage
from werkzeug.exceptions import NotFound
from extensions.ext_database import db
from extensions.ext_redis import redis_client
from models.model import MessageAnnotation, Message, App, AppAnnotationHitHistory, AppAnnotationSetting
from flask_login import current_user
from models.model import App, AppAnnotationHitHistory, AppAnnotationSetting, Message, MessageAnnotation
from sqlalchemy import or_
from tasks.annotation.add_annotation_to_index_task import add_annotation_to_index_task
from tasks.annotation.enable_annotation_reply_task import enable_annotation_reply_task
from tasks.annotation.disable_annotation_reply_task import disable_annotation_reply_task
from tasks.annotation.update_annotation_to_index_task import update_annotation_to_index_task
from tasks.annotation.delete_annotation_index_task import delete_annotation_index_task
from tasks.annotation.batch_import_annotations_task import batch_import_annotations_task
from tasks.annotation.delete_annotation_index_task import delete_annotation_index_task
from tasks.annotation.disable_annotation_reply_task import disable_annotation_reply_task
from tasks.annotation.enable_annotation_reply_task import enable_annotation_reply_task
from tasks.annotation.update_annotation_to_index_task import update_annotation_to_index_task
from werkzeug.datastructures import FileStorage
from werkzeug.exceptions import NotFound
class AppAnnotationService:

View File

@@ -1,7 +1,7 @@
from core.extension.api_based_extension_requestor import APIBasedExtensionRequestor
from core.helper.encrypter import decrypt_token, encrypt_token
from extensions.ext_database import db
from models.api_based_extension import APIBasedExtension, APIBasedExtensionPoint
from core.helper.encrypter import encrypt_token, decrypt_token
from core.extension.api_based_extension_requestor import APIBasedExtensionRequestor
class APIBasedExtensionService:

View File

@@ -1,17 +1,16 @@
import re
import uuid
from core.agent.agent_executor import PlanningStrategy
from core.external_data_tool.factory import ExternalDataToolFactory
from core.model_runtime.entities.model_entities import ModelPropertyKey, ModelType
from core.model_runtime.model_providers import model_provider_factory
from core.moderation.factory import ModerationFactory
from core.prompt.prompt_transform import AppMode
from core.agent.agent_executor import PlanningStrategy
from core.provider_manager import ProviderManager
from models.account import Account
from services.dataset_service import DatasetService
SUPPORT_TOOLS = ["dataset", "google_search", "web_reader", "wikipedia", "current_datetime"]

View File

@@ -1,9 +1,10 @@
import io
from werkzeug.datastructures import FileStorage
from core.model_manager import ModelManager
from core.model_runtime.entities.model_entities import ModelType
from services.errors.audio import NoAudioUploadedServiceError, AudioTooLargeServiceError, UnsupportedAudioTypeServiceError, ProviderNotSupportSpeechToTextServiceError
from services.errors.audio import (AudioTooLargeServiceError, NoAudioUploadedServiceError,
ProviderNotSupportSpeechToTextServiceError, UnsupportedAudioTypeServiceError)
from werkzeug.datastructures import FileStorage
FILE_SIZE = 15
FILE_SIZE_LIMIT = FILE_SIZE * 1024 * 1024

View File

@@ -1,7 +1,6 @@
import os
import requests
from extensions.ext_database import db
from models.account import TenantAccountJoin

View File

@@ -1,18 +1,17 @@
import json
from typing import Generator, Union, Any
from sqlalchemy import and_
from typing import Any, Generator, Union
from core.application_manager import ApplicationManager
from core.entities.application_entities import InvokeFrom
from core.file.message_file_parser import MessageFileParser
from extensions.ext_database import db
from models.model import Conversation, AppModelConfig, App, Account, EndUser, Message
from models.model import Account, App, AppModelConfig, Conversation, EndUser, Message
from services.app_model_config_service import AppModelConfigService
from services.errors.app import MoreLikeThisDisabledError
from services.errors.app_model_config import AppModelConfigBrokenError
from services.errors.conversation import ConversationNotExistsError, ConversationCompletedError
from services.errors.conversation import ConversationCompletedError, ConversationNotExistsError
from services.errors.message import MessageNotExistsError
from sqlalchemy import and_
class CompletionService:

View File

@@ -1,10 +1,10 @@
from typing import Union, Optional
from typing import Optional, Union
from core.generator.llm_generator import LLMGenerator
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from extensions.ext_database import db
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from models.account import Account
from models.model import Conversation, App, EndUser, Message
from models.model import App, Conversation, EndUser, Message
from services.errors.conversation import ConversationNotExistsError, LastConversationNotExistsError
from services.errors.message import MessageNotExistsError

View File

@@ -1,29 +1,26 @@
import datetime
import json
import logging
import datetime
import time
import random
import time
import uuid
from typing import Optional, List, cast
from typing import List, Optional, cast
from flask import current_app
from sqlalchemy import func
from core.index.index import IndexBuilder
from core.errors.error import LLMBadRequestError, ProviderTokenNotInitError
from core.index.index import IndexBuilder
from core.model_manager import ModelManager
from core.model_runtime.entities.model_entities import ModelType
from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel
from extensions.ext_redis import redis_client
from flask_login import current_user
from events.dataset_event import dataset_was_deleted
from events.document_event import document_was_deleted
from extensions.ext_database import db
from extensions.ext_redis import redis_client
from flask import current_app
from flask_login import current_user
from libs import helper
from models.account import Account
from models.dataset import Dataset, Document, DatasetQuery, DatasetProcessRule, AppDatasetJoin, DocumentSegment, \
DatasetCollectionBinding
from models.dataset import (AppDatasetJoin, Dataset, DatasetCollectionBinding, DatasetProcessRule, DatasetQuery,
Document, DocumentSegment)
from models.model import UploadFile
from models.source import DataSourceBinding
from services.errors.account import NoPermissionError
@@ -31,12 +28,13 @@ from services.errors.dataset import DatasetNameDuplicateError
from services.errors.document import DocumentIndexingError
from services.errors.file import FileNotExistsError
from services.vector_service import VectorService
from sqlalchemy import func
from tasks.clean_notion_document_task import clean_notion_document_task
from tasks.deal_dataset_vector_index_task import deal_dataset_vector_index_task
from tasks.delete_segment_from_index_task import delete_segment_from_index_task
from tasks.document_indexing_task import document_indexing_task
from tasks.document_indexing_update_task import document_indexing_update_task
from tasks.recover_document_indexing_task import recover_document_indexing_task
from tasks.delete_segment_from_index_task import delete_segment_from_index_task
class DatasetService:

View File

@@ -1,16 +1,16 @@
from enum import Enum
from typing import Optional
from flask import current_app
from pydantic import BaseModel
from core.entities.model_entities import ModelStatus, ModelWithProviderEntity
from core.entities.provider_entities import QuotaConfiguration
from core.model_runtime.entities.common_entities import I18nObject
from core.model_runtime.entities.model_entities import ModelType, ProviderModel
from core.model_runtime.entities.provider_entities import ConfigurateMethod, ProviderCredentialSchema, \
ModelCredentialSchema, ProviderHelpEntity, SimpleProviderEntity
from models.provider import ProviderType, ProviderQuotaType
from core.model_runtime.entities.provider_entities import (ConfigurateMethod, ModelCredentialSchema,
ProviderCredentialSchema, ProviderHelpEntity,
SimpleProviderEntity)
from flask import current_app
from models.provider import ProviderQuotaType, ProviderType
from pydantic import BaseModel
class CustomConfigurationStatus(Enum):

View File

@@ -1,6 +1,5 @@
from pydantic import BaseModel
from flask import current_app
from pydantic import BaseModel
from services.billing_service import BillingService

View File

@@ -3,18 +3,17 @@ import hashlib
import uuid
from typing import Generator, Tuple, Union
from flask import current_app
from flask_login import current_user
from werkzeug.datastructures import FileStorage
from werkzeug.exceptions import NotFound
from core.data_loader.file_extractor import FileExtractor
from core.file.upload_file_parser import UploadFileParser
from extensions.ext_storage import storage
from extensions.ext_database import db
from extensions.ext_storage import storage
from flask import current_app
from flask_login import current_user
from models.account import Account
from models.model import UploadFile, EndUser
from models.model import EndUser, UploadFile
from services.errors.file import FileTooLargeError, UnsupportedFileTypeError
from werkzeug.datastructures import FileStorage
from werkzeug.exceptions import NotFound
ALLOWED_EXTENSIONS = ['txt', 'markdown', 'md', 'pdf', 'html', 'htm', 'xlsx', 'docx', 'csv',
'jpg', 'jpeg', 'png', 'webp', 'gif', 'svg']

View File

@@ -4,19 +4,18 @@ import time
from typing import List
import numpy as np
from flask import current_app
from langchain.embeddings.base import Embeddings
from langchain.schema import Document
from sklearn.manifold import TSNE
from core.embedding.cached_embedding import CacheEmbedding
from core.model_manager import ModelManager
from core.model_runtime.entities.model_entities import ModelType
from core.rerank.rerank import RerankRunner
from extensions.ext_database import db
from flask import current_app
from langchain.embeddings.base import Embeddings
from langchain.schema import Document
from models.account import Account
from models.dataset import Dataset, DocumentSegment, DatasetQuery
from models.dataset import Dataset, DatasetQuery, DocumentSegment
from services.retrieval_service import RetrievalService
from sklearn.manifold import TSNE
default_retrieval_model = {
'search_method': 'semantic_search',

View File

@@ -1,19 +1,19 @@
import json
from typing import Optional, Union, List
from typing import List, Optional, Union
from core.generator.llm_generator import LLMGenerator
from core.memory.token_buffer_memory import TokenBufferMemory
from core.model_manager import ModelManager
from core.model_runtime.entities.model_entities import ModelType
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from extensions.ext_database import db
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from models.account import Account
from models.model import App, EndUser, Message, MessageFeedback, AppModelConfig
from models.model import App, AppModelConfig, EndUser, Message, MessageFeedback
from services.conversation_service import ConversationService
from services.errors.app_model_config import AppModelConfigBrokenError
from services.errors.conversation import ConversationNotExistsError, ConversationCompletedError
from services.errors.message import FirstMessageNotExistsError, MessageNotExistsError, LastMessageNotExistsError, \
SuggestedQuestionsAfterAnswerDisabledError
from services.errors.conversation import ConversationCompletedError, ConversationNotExistsError
from services.errors.message import (FirstMessageNotExistsError, LastMessageNotExistsError, MessageNotExistsError,
SuggestedQuestionsAfterAnswerDisabledError)
class MessageService:

View File

@@ -1,20 +1,21 @@
import logging
import mimetypes
import os
from typing import Optional, cast, Tuple
from typing import Optional, Tuple, cast
import requests
from flask import current_app
from core.entities.model_entities import ModelStatus
from core.model_runtime.entities.model_entities import ModelType, ParameterRule
from core.model_runtime.model_providers import model_provider_factory
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
from core.provider_manager import ProviderManager
from flask import current_app
from models.provider import ProviderType
from services.entities.model_provider_entities import ProviderResponse, CustomConfigurationResponse, \
SystemConfigurationResponse, CustomConfigurationStatus, ProviderWithModelsResponse, ModelResponse, \
DefaultModelResponse, ModelWithProviderEntityResponse, SimpleProviderEntityResponse
from services.entities.model_provider_entities import (CustomConfigurationResponse, CustomConfigurationStatus,
DefaultModelResponse, ModelResponse,
ModelWithProviderEntityResponse, ProviderResponse,
ProviderWithModelsResponse, SimpleProviderEntityResponse,
SystemConfigurationResponse)
logger = logging.getLogger(__name__)

View File

@@ -1,6 +1,6 @@
from models.model import AppModelConfig, App
from core.moderation.factory import ModerationFactory, ModerationOutputsResult
from extensions.ext_database import db
from models.model import App, AppModelConfig
class ModerationService:

View File

@@ -1,12 +1,13 @@
from typing import Optional
from flask import current_app, Flask
from langchain.embeddings.base import Embeddings
from core.index.vector_index.vector_index import VectorIndex
from core.model_manager import ModelManager
from core.model_runtime.entities.model_entities import ModelType
from core.model_runtime.errors.invoke import InvokeAuthorizationError
from core.rerank.rerank import RerankRunner
from extensions.ext_database import db
from flask import Flask, current_app
from langchain.embeddings.base import Embeddings
from models.dataset import Dataset
default_retrieval_model = {

View File

@@ -1,7 +1,7 @@
from typing import Optional, Union
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from extensions.ext_database import db
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from models.account import Account
from models.model import App, EndUser
from models.web import SavedMessage

View File

@@ -1,10 +1,8 @@
from typing import Optional, List
from langchain.schema import Document
from typing import List, Optional
from core.index.index import IndexBuilder
from langchain.schema import Document
from models.dataset import Dataset, DocumentSegment

View File

@@ -1,7 +1,7 @@
from typing import Optional, Union
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from extensions.ext_database import db
from libs.infinite_scroll_pagination import InfiniteScrollPagination
from models.account import Account
from models.model import App, EndUser
from models.web import PinnedConversation

View File

@@ -1,11 +1,10 @@
from extensions.ext_database import db
from flask import current_app
from flask_login import current_user
from extensions.ext_database import db
from models.account import Tenant, TenantAccountJoin, TenantAccountJoinRole
from models.provider import Provider
from services.feature_service import FeatureService
from services.account_service import TenantService
from services.feature_service import FeatureService
class WorkspaceService: