mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-11 03:19:01 +08:00
enhancement: introduce Ruff for Python linter for reordering and removing unused imports with automated pre-commit and sytle check (#2366)
This commit is contained in:
parent
42344795cd
commit
843280f82b
24
.github/workflows/style.yml
vendored
24
.github/workflows/style.yml
vendored
@ -10,9 +10,33 @@ concurrency:
|
|||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
python-style:
|
||||||
|
name: Python Style
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.10'
|
||||||
|
|
||||||
|
- name: Python dependencies
|
||||||
|
run: pip install ruff
|
||||||
|
|
||||||
|
- name: Ruff check
|
||||||
|
run: ruff check ./api
|
||||||
|
|
||||||
|
- name: Lint hints
|
||||||
|
if: failure()
|
||||||
|
run: echo "Please run 'dev/reformat' to fix the fixable linting errors."
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: ESLint and SuperLinter
|
name: ESLint and SuperLinter
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: python-style
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
|
26
api/app.py
26
api/app.py
@ -19,18 +19,28 @@ import threading
|
|||||||
import time
|
import time
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
from commands import register_commands
|
|
||||||
from config import CloudEditionConfig, Config
|
|
||||||
from events import event_handlers
|
|
||||||
from extensions import (ext_celery, ext_code_based_extension, ext_database, ext_hosting_provider, ext_login, ext_mail,
|
|
||||||
ext_migrate, ext_redis, ext_sentry, ext_storage)
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from extensions.ext_login import login_manager
|
|
||||||
from flask import Flask, Response, request
|
from flask import Flask, Response, request
|
||||||
from flask_cors import CORS
|
from flask_cors import CORS
|
||||||
|
|
||||||
|
from commands import register_commands
|
||||||
|
from config import CloudEditionConfig, Config
|
||||||
|
from extensions import (
|
||||||
|
ext_celery,
|
||||||
|
ext_code_based_extension,
|
||||||
|
ext_database,
|
||||||
|
ext_hosting_provider,
|
||||||
|
ext_login,
|
||||||
|
ext_mail,
|
||||||
|
ext_migrate,
|
||||||
|
ext_redis,
|
||||||
|
ext_sentry,
|
||||||
|
ext_storage,
|
||||||
|
)
|
||||||
|
from extensions.ext_database import db
|
||||||
|
from extensions.ext_login import login_manager
|
||||||
from libs.passport import PassportService
|
from libs.passport import PassportService
|
||||||
|
|
||||||
# DO NOT REMOVE BELOW
|
# DO NOT REMOVE BELOW
|
||||||
from models import account, dataset, model, source, task, tool, tools, web
|
|
||||||
from services.account_service import AccountService
|
from services.account_service import AccountService
|
||||||
|
|
||||||
# DO NOT REMOVE ABOVE
|
# DO NOT REMOVE ABOVE
|
||||||
|
@ -3,11 +3,13 @@ import json
|
|||||||
import secrets
|
import secrets
|
||||||
|
|
||||||
import click
|
import click
|
||||||
|
from flask import current_app
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from core.embedding.cached_embedding import CacheEmbedding
|
from core.embedding.cached_embedding import CacheEmbedding
|
||||||
from core.model_manager import ModelManager
|
from core.model_manager import ModelManager
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import current_app
|
|
||||||
from libs.helper import email as email_validate
|
from libs.helper import email as email_validate
|
||||||
from libs.password import hash_password, password_pattern, valid_password
|
from libs.password import hash_password, password_pattern, valid_password
|
||||||
from libs.rsa import generate_key_pair
|
from libs.rsa import generate_key_pair
|
||||||
@ -15,7 +17,6 @@ from models.account import Tenant
|
|||||||
from models.dataset import Dataset
|
from models.dataset import Dataset
|
||||||
from models.model import Account
|
from models.model import Account
|
||||||
from models.provider import Provider, ProviderModel
|
from models.provider import Provider, ProviderModel
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
@click.command('reset-password', help='Reset the account password.')
|
@click.command('reset-password', help='Reset the account password.')
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from models.model import App, AppModelConfig
|
|
||||||
|
|
||||||
model_templates = {
|
model_templates = {
|
||||||
# completion default mode
|
# completion default mode
|
||||||
'completion_default': {
|
'completion_default': {
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
import os
|
import os
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
from werkzeug.exceptions import NotFound, Unauthorized
|
||||||
|
|
||||||
from constants.languages import supported_language
|
from constants.languages import supported_language
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.wraps import only_edition_cloud
|
from controllers.console.wraps import only_edition_cloud
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import request
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from models.model import App, InstalledApp, RecommendedApp
|
from models.model import App, InstalledApp, RecommendedApp
|
||||||
from werkzeug.exceptions import NotFound, Unauthorized
|
|
||||||
|
|
||||||
|
|
||||||
def admin_required(view):
|
def admin_required(view):
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
import flask_restful
|
import flask_restful
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
from flask_restful import Resource, fields, marshal_with
|
from flask_restful import Resource, fields, marshal_with
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
|
from extensions.ext_database import db
|
||||||
from libs.helper import TimestampField
|
from libs.helper import TimestampField
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.dataset import Dataset
|
from models.dataset import Dataset
|
||||||
from models.model import ApiToken, App
|
from models.model import ApiToken, App
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
from . import api
|
from . import api
|
||||||
from .setup import setup_required
|
from .setup import setup_required
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.advanced_prompt_template_service import AdvancedPromptTemplateService
|
from services.advanced_prompt_template_service import AdvancedPromptTemplateService
|
||||||
|
|
||||||
|
@ -1,17 +1,20 @@
|
|||||||
|
from flask import request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal, marshal_with, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import NoFileUploadedError
|
from controllers.console.app.error import NoFileUploadedError
|
||||||
from controllers.console.datasets.error import TooManyFilesError
|
from controllers.console.datasets.error import TooManyFilesError
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
||||||
from extensions.ext_redis import redis_client
|
from extensions.ext_redis import redis_client
|
||||||
from fields.annotation_fields import (annotation_fields, annotation_hit_history_fields,
|
from fields.annotation_fields import (
|
||||||
annotation_hit_history_list_fields, annotation_list_fields)
|
annotation_fields,
|
||||||
from flask import request
|
annotation_hit_history_fields,
|
||||||
from flask_login import current_user
|
)
|
||||||
from flask_restful import Resource, marshal, marshal_with, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.annotation_service import AppAnnotationService
|
from services.annotation_service import AppAnnotationService
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
|
|
||||||
class AnnotationReplyActionApi(Resource):
|
class AnnotationReplyActionApi(Resource):
|
||||||
|
@ -3,6 +3,10 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, abort, inputs, marshal_with, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
from constants.languages import demo_model_templates, languages
|
from constants.languages import demo_model_templates, languages
|
||||||
from constants.model_template import model_templates
|
from constants.model_template import model_templates
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
@ -15,16 +19,15 @@ from core.model_runtime.entities.model_entities import ModelType
|
|||||||
from core.provider_manager import ProviderManager
|
from core.provider_manager import ProviderManager
|
||||||
from events.app_event import app_was_created, app_was_deleted
|
from events.app_event import app_was_created, app_was_deleted
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.app_fields import (app_detail_fields, app_detail_fields_with_site, app_pagination_fields,
|
from fields.app_fields import (
|
||||||
template_list_fields)
|
app_detail_fields,
|
||||||
from flask import current_app
|
app_detail_fields_with_site,
|
||||||
from flask_login import current_user
|
app_pagination_fields,
|
||||||
from flask_restful import Resource, abort, inputs, marshal_with, reqparse
|
template_list_fields,
|
||||||
|
)
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.model import App, AppModelConfig, Site
|
from models.model import App, AppModelConfig, Site
|
||||||
from models.tools import ApiToolProvider
|
|
||||||
from services.app_model_config_service import AppModelConfigService
|
from services.app_model_config_service import AppModelConfigService
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
|
|
||||||
def _get_app(app_id, tenant_id):
|
def _get_app(app_id, tenant_id):
|
||||||
|
@ -1,24 +1,36 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_restful import Resource
|
||||||
|
from werkzeug.exceptions import InternalServerError
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app import _get_app
|
from controllers.console.app import _get_app
|
||||||
from controllers.console.app.error import (AppUnavailableError, AudioTooLargeError, CompletionRequestError,
|
from controllers.console.app.error import (
|
||||||
NoAudioUploadedError, ProviderModelCurrentlyNotSupportError,
|
AppUnavailableError,
|
||||||
ProviderNotInitializeError, ProviderNotSupportSpeechToTextError,
|
AudioTooLargeError,
|
||||||
ProviderQuotaExceededError, UnsupportedAudioTypeError)
|
CompletionRequestError,
|
||||||
|
NoAudioUploadedError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderNotSupportSpeechToTextError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
UnsupportedAudioTypeError,
|
||||||
|
)
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask import request
|
|
||||||
from flask_restful import Resource
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.audio_service import AudioService
|
from services.audio_service import AudioService
|
||||||
from services.errors.audio import (AudioTooLargeServiceError, NoAudioUploadedServiceError,
|
from services.errors.audio import (
|
||||||
ProviderNotSupportSpeechToTextServiceError, UnsupportedAudioTypeServiceError)
|
AudioTooLargeServiceError,
|
||||||
from werkzeug.exceptions import InternalServerError
|
NoAudioUploadedServiceError,
|
||||||
|
ProviderNotSupportSpeechToTextServiceError,
|
||||||
|
UnsupportedAudioTypeServiceError,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ChatMessageAudioApi(Resource):
|
class ChatMessageAudioApi(Resource):
|
||||||
|
@ -4,24 +4,30 @@ import logging
|
|||||||
from typing import Generator, Union
|
from typing import Generator, Union
|
||||||
|
|
||||||
import flask_login
|
import flask_login
|
||||||
|
from flask import Response, stream_with_context
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
from werkzeug.exceptions import InternalServerError, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app import _get_app
|
from controllers.console.app import _get_app
|
||||||
from controllers.console.app.error import (AppUnavailableError, CompletionRequestError, ConversationCompletedError,
|
from controllers.console.app.error import (
|
||||||
ProviderModelCurrentlyNotSupportError, ProviderNotInitializeError,
|
AppUnavailableError,
|
||||||
ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
ConversationCompletedError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from core.application_queue_manager import ApplicationQueueManager
|
from core.application_queue_manager import ApplicationQueueManager
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask import Response, stream_with_context
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.helper import uuid_value
|
from libs.helper import uuid_value
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.completion_service import CompletionService
|
from services.completion_service import CompletionService
|
||||||
from werkzeug.exceptions import InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
# define completion message api for user
|
# define completion message api for user
|
||||||
|
@ -1,22 +1,27 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
import pytz
|
import pytz
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from sqlalchemy import func, or_
|
||||||
|
from sqlalchemy.orm import joinedload
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app import _get_app
|
from controllers.console.app import _get_app
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.conversation_fields import (conversation_detail_fields, conversation_message_detail_fields,
|
from fields.conversation_fields import (
|
||||||
conversation_pagination_fields, conversation_with_summary_pagination_fields)
|
conversation_detail_fields,
|
||||||
from flask_login import current_user
|
conversation_message_detail_fields,
|
||||||
from flask_restful import Resource, marshal_with, reqparse
|
conversation_pagination_fields,
|
||||||
from flask_restful.inputs import int_range
|
conversation_with_summary_pagination_fields,
|
||||||
|
)
|
||||||
from libs.helper import datetime_string
|
from libs.helper import datetime_string
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.model import Conversation, Message, MessageAnnotation
|
from models.model import Conversation, Message, MessageAnnotation
|
||||||
from sqlalchemy import func, or_
|
|
||||||
from sqlalchemy.orm import joinedload
|
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class CompletionConversationApi(Resource):
|
class CompletionConversationApi(Resource):
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import (CompletionRequestError, ProviderModelCurrentlyNotSupportError,
|
from controllers.console.app.error import (
|
||||||
ProviderNotInitializeError, ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.generator.llm_generator import LLMGenerator
|
from core.generator.llm_generator import LLMGenerator
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,11 +2,21 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
from typing import Generator, Union
|
from typing import Generator, Union
|
||||||
|
|
||||||
|
from flask import Response, stream_with_context
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, fields, marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app import _get_app
|
from controllers.console.app import _get_app
|
||||||
from controllers.console.app.error import (AppMoreLikeThisDisabledError, CompletionRequestError,
|
from controllers.console.app.error import (
|
||||||
ProviderModelCurrentlyNotSupportError, ProviderNotInitializeError,
|
AppMoreLikeThisDisabledError,
|
||||||
ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
@ -14,10 +24,6 @@ from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotIni
|
|||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.conversation_fields import annotation_fields, message_detail_fields
|
from fields.conversation_fields import annotation_fields, message_detail_fields
|
||||||
from flask import Response, stream_with_context
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import uuid_value
|
from libs.helper import uuid_value
|
||||||
from libs.infinite_scroll_pagination import InfiniteScrollPagination
|
from libs.infinite_scroll_pagination import InfiniteScrollPagination
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
@ -28,7 +34,6 @@ from services.errors.app import MoreLikeThisDisabledError
|
|||||||
from services.errors.conversation import ConversationNotExistsError
|
from services.errors.conversation import ConversationNotExistsError
|
||||||
from services.errors.message import MessageNotExistsError
|
from services.errors.message import MessageNotExistsError
|
||||||
from services.message_service import MessageService
|
from services.message_service import MessageService
|
||||||
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class ChatMessageListApi(Resource):
|
class ChatMessageListApi(Resource):
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app import _get_app
|
from controllers.console.app import _get_app
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from events.app_event import app_model_config_was_updated
|
from events.app_event import app_model_config_was_updated
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import request
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.model import AppModelConfig
|
from models.model import AppModelConfig
|
||||||
from services.app_model_config_service import AppModelConfigService
|
from services.app_model_config_service import AppModelConfigService
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal_with, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden, NotFound
|
||||||
|
|
||||||
from constants.languages import supported_language
|
from constants.languages import supported_language
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app import _get_app
|
from controllers.console.app import _get_app
|
||||||
@ -6,11 +10,8 @@ from controllers.console.setup import setup_required
|
|||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.app_fields import app_site_fields
|
from fields.app_fields import app_site_fields
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, marshal_with, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.model import Site
|
from models.model import Site
|
||||||
from werkzeug.exceptions import Forbidden, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
def parse_app_site_args():
|
def parse_app_site_args():
|
||||||
|
@ -3,14 +3,15 @@ from datetime import datetime
|
|||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
import pytz
|
import pytz
|
||||||
|
from flask import jsonify
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app import _get_app
|
from controllers.console.app import _get_app
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import jsonify
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.helper import datetime_string
|
from libs.helper import datetime_string
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
|
|
||||||
|
@ -2,14 +2,15 @@ import base64
|
|||||||
import secrets
|
import secrets
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
from constants.languages import supported_language
|
from constants.languages import supported_language
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.error import AlreadyActivateError
|
from controllers.console.error import AlreadyActivateError
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.helper import email, str_len, timezone
|
from libs.helper import email, str_len, timezone
|
||||||
from libs.password import hash_password, valid_password
|
from libs.password import hash_password, valid_password
|
||||||
from models.account import AccountStatus, Tenant
|
from models.account import AccountStatus
|
||||||
from services.account_service import RegisterService
|
from services.account_service import RegisterService
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from controllers.console import api
|
|
||||||
from flask import current_app, redirect, request
|
from flask import current_app, redirect, request
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
|
from controllers.console import api
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from libs.oauth_data_source import NotionOAuth
|
from libs.oauth_data_source import NotionOAuth
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
from ..setup import setup_required
|
from ..setup import setup_required
|
||||||
from ..wraps import account_initialization_required
|
from ..wraps import account_initialization_required
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import flask
|
|
||||||
import flask_login
|
import flask_login
|
||||||
|
from flask import current_app, request
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from flask import current_app, request
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.helper import email
|
from libs.helper import email
|
||||||
from libs.password import valid_password
|
from libs.password import valid_password
|
||||||
from services.account_service import AccountService
|
from services.account_service import AccountService
|
||||||
|
@ -3,10 +3,11 @@ from datetime import datetime
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from constants.languages import languages
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask import current_app, redirect, request
|
from flask import current_app, redirect, request
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
|
||||||
|
from constants.languages import languages
|
||||||
|
from extensions.ext_database import db
|
||||||
from libs.oauth import GitHubOAuth, GoogleOAuth, OAuthUserInfo
|
from libs.oauth import GitHubOAuth, GoogleOAuth, OAuthUserInfo
|
||||||
from models.account import Account, AccountStatus
|
from models.account import Account, AccountStatus
|
||||||
from services.account_service import AccountService, RegisterService
|
from services.account_service import AccountService, RegisterService
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required, only_edition_cloud
|
from controllers.console.wraps import account_initialization_required, only_edition_cloud
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.billing_service import BillingService
|
from services.billing_service import BillingService
|
||||||
|
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
import datetime
|
import datetime
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal_with, reqparse
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
@ -8,15 +13,11 @@ from core.data_loader.loader.notion import NotionLoader
|
|||||||
from core.indexing_runner import IndexingRunner
|
from core.indexing_runner import IndexingRunner
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.data_source_fields import integrate_list_fields, integrate_notion_info_list_fields
|
from fields.data_source_fields import integrate_list_fields, integrate_notion_info_list_fields
|
||||||
from flask import request
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, marshal_with, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.dataset import Document
|
from models.dataset import Document
|
||||||
from models.source import DataSourceBinding
|
from models.source import DataSourceBinding
|
||||||
from services.dataset_service import DatasetService, DocumentService
|
from services.dataset_service import DatasetService, DocumentService
|
||||||
from tasks.document_indexing_sync_task import document_indexing_sync_task
|
from tasks.document_indexing_sync_task import document_indexing_sync_task
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class DataSourceApi(Resource):
|
class DataSourceApi(Resource):
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import flask_restful
|
import flask_restful
|
||||||
|
from flask import current_app, request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal, marshal_with, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.apikey import api_key_fields, api_key_list
|
from controllers.console.apikey import api_key_fields, api_key_list
|
||||||
@ -15,14 +20,10 @@ from extensions.ext_database import db
|
|||||||
from fields.app_fields import related_app_list
|
from fields.app_fields import related_app_list
|
||||||
from fields.dataset_fields import dataset_detail_fields, dataset_query_detail_fields
|
from fields.dataset_fields import dataset_detail_fields, dataset_query_detail_fields
|
||||||
from fields.document_fields import document_status_fields
|
from fields.document_fields import document_status_fields
|
||||||
from flask import current_app, request
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, marshal, marshal_with, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.dataset import Dataset, Document, DocumentSegment
|
from models.dataset import Dataset, Document, DocumentSegment
|
||||||
from models.model import ApiToken, UploadFile
|
from models.model import ApiToken, UploadFile
|
||||||
from services.dataset_service import DatasetService, DocumentService
|
from services.dataset_service import DatasetService, DocumentService
|
||||||
from werkzeug.exceptions import Forbidden, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
def _validate_name(name):
|
def _validate_name(name):
|
||||||
|
@ -2,35 +2,52 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, fields, marshal, marshal_with, reqparse
|
||||||
|
from sqlalchemy import asc, desc
|
||||||
|
from werkzeug.exceptions import Forbidden, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import (ProviderModelCurrentlyNotSupportError, ProviderNotInitializeError,
|
from controllers.console.app.error import (
|
||||||
ProviderQuotaExceededError)
|
ProviderModelCurrentlyNotSupportError,
|
||||||
from controllers.console.datasets.error import (ArchivedDocumentImmutableError, DocumentAlreadyFinishedError,
|
ProviderNotInitializeError,
|
||||||
DocumentIndexingError, InvalidActionError, InvalidMetadataError)
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
|
from controllers.console.datasets.error import (
|
||||||
|
ArchivedDocumentImmutableError,
|
||||||
|
DocumentAlreadyFinishedError,
|
||||||
|
DocumentIndexingError,
|
||||||
|
InvalidActionError,
|
||||||
|
InvalidMetadataError,
|
||||||
|
)
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
||||||
from core.errors.error import (LLMBadRequestError, ModelCurrentlyNotSupportError, ProviderTokenNotInitError,
|
from core.errors.error import (
|
||||||
QuotaExceededError)
|
LLMBadRequestError,
|
||||||
|
ModelCurrentlyNotSupportError,
|
||||||
|
ProviderTokenNotInitError,
|
||||||
|
QuotaExceededError,
|
||||||
|
)
|
||||||
from core.indexing_runner import IndexingRunner
|
from core.indexing_runner import IndexingRunner
|
||||||
from core.model_manager import ModelManager
|
from core.model_manager import ModelManager
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from core.model_runtime.errors.invoke import InvokeAuthorizationError
|
from core.model_runtime.errors.invoke import InvokeAuthorizationError
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from extensions.ext_redis import redis_client
|
from extensions.ext_redis import redis_client
|
||||||
from fields.document_fields import (dataset_and_document_fields, document_fields, document_status_fields,
|
from fields.document_fields import (
|
||||||
document_with_segments_fields)
|
dataset_and_document_fields,
|
||||||
from flask import request
|
document_fields,
|
||||||
from flask_login import current_user
|
document_status_fields,
|
||||||
from flask_restful import Resource, fields, marshal, marshal_with, reqparse
|
document_with_segments_fields,
|
||||||
|
)
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.dataset import Dataset, DatasetProcessRule, Document, DocumentSegment
|
from models.dataset import Dataset, DatasetProcessRule, Document, DocumentSegment
|
||||||
from models.model import UploadFile
|
from models.model import UploadFile
|
||||||
from services.dataset_service import DatasetService, DocumentService
|
from services.dataset_service import DatasetService, DocumentService
|
||||||
from sqlalchemy import asc, desc
|
|
||||||
from tasks.add_document_to_index_task import add_document_to_index_task
|
from tasks.add_document_to_index_task import add_document_to_index_task
|
||||||
from tasks.remove_document_from_index_task import remove_document_from_index_task
|
from tasks.remove_document_from_index_task import remove_document_from_index_task
|
||||||
from werkzeug.exceptions import Forbidden, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class DocumentResource(Resource):
|
class DocumentResource(Resource):
|
||||||
|
@ -3,6 +3,11 @@ import uuid
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
from flask import request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import ProviderNotInitializeError
|
from controllers.console.app.error import ProviderNotInitializeError
|
||||||
@ -15,16 +20,12 @@ from core.model_runtime.entities.model_entities import ModelType
|
|||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from extensions.ext_redis import redis_client
|
from extensions.ext_redis import redis_client
|
||||||
from fields.segment_fields import segment_fields
|
from fields.segment_fields import segment_fields
|
||||||
from flask import request
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, marshal, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.dataset import DocumentSegment
|
from models.dataset import DocumentSegment
|
||||||
from services.dataset_service import DatasetService, DocumentService, SegmentService
|
from services.dataset_service import DatasetService, DocumentService, SegmentService
|
||||||
from tasks.batch_create_segment_to_index_task import batch_create_segment_to_index_task
|
from tasks.batch_create_segment_to_index_task import batch_create_segment_to_index_task
|
||||||
from tasks.disable_segment_from_index_task import disable_segment_from_index_task
|
from tasks.disable_segment_from_index_task import disable_segment_from_index_task
|
||||||
from tasks.enable_segment_to_index_task import enable_segment_to_index_task
|
from tasks.enable_segment_to_index_task import enable_segment_to_index_task
|
||||||
from werkzeug.exceptions import Forbidden, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class DatasetDocumentSegmentListApi(Resource):
|
class DatasetDocumentSegmentListApi(Resource):
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
import services
|
|
||||||
from controllers.console import api
|
|
||||||
from controllers.console.datasets.error import (FileTooLargeError, NoFileUploadedError, TooManyFilesError,
|
|
||||||
UnsupportedFileTypeError)
|
|
||||||
from controllers.console.setup import setup_required
|
|
||||||
from controllers.console.wraps import account_initialization_required
|
|
||||||
from fields.file_fields import file_fields, upload_config_fields
|
|
||||||
from flask import current_app, request
|
from flask import current_app, request
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
from flask_restful import Resource, marshal_with
|
from flask_restful import Resource, marshal_with
|
||||||
|
|
||||||
|
import services
|
||||||
|
from controllers.console import api
|
||||||
|
from controllers.console.datasets.error import (
|
||||||
|
FileTooLargeError,
|
||||||
|
NoFileUploadedError,
|
||||||
|
TooManyFilesError,
|
||||||
|
UnsupportedFileTypeError,
|
||||||
|
)
|
||||||
|
from controllers.console.setup import setup_required
|
||||||
|
from controllers.console.wraps import account_initialization_required
|
||||||
|
from fields.file_fields import file_fields, upload_config_fields
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.file_service import ALLOWED_EXTENSIONS, UNSTRUSTURED_ALLOWED_EXTENSIONS, FileService
|
from services.file_service import ALLOWED_EXTENSIONS, UNSTRUSTURED_ALLOWED_EXTENSIONS, FileService
|
||||||
|
|
||||||
|
@ -1,22 +1,31 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import (CompletionRequestError, ProviderModelCurrentlyNotSupportError,
|
from controllers.console.app.error import (
|
||||||
ProviderNotInitializeError, ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.console.datasets.error import DatasetNotInitializedError, HighQualityDatasetOnlyError
|
from controllers.console.datasets.error import DatasetNotInitializedError, HighQualityDatasetOnlyError
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from core.errors.error import (LLMBadRequestError, ModelCurrentlyNotSupportError, ProviderTokenNotInitError,
|
from core.errors.error import (
|
||||||
QuotaExceededError)
|
LLMBadRequestError,
|
||||||
|
ModelCurrentlyNotSupportError,
|
||||||
|
ProviderTokenNotInitError,
|
||||||
|
QuotaExceededError,
|
||||||
|
)
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from fields.hit_testing_fields import hit_testing_record_fields
|
from fields.hit_testing_fields import hit_testing_record_fields
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, marshal, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.dataset_service import DatasetService
|
from services.dataset_service import DatasetService
|
||||||
from services.hit_testing_service import HitTestingService
|
from services.hit_testing_service import HitTestingService
|
||||||
from werkzeug.exceptions import Forbidden, InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class HitTestingApi(Resource):
|
class HitTestingApi(Resource):
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from werkzeug.exceptions import InternalServerError
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import (AppUnavailableError, AudioTooLargeError, CompletionRequestError,
|
from controllers.console.app.error import (
|
||||||
NoAudioUploadedError, ProviderModelCurrentlyNotSupportError,
|
AppUnavailableError,
|
||||||
ProviderNotInitializeError, ProviderNotSupportSpeechToTextError,
|
AudioTooLargeError,
|
||||||
ProviderQuotaExceededError, UnsupportedAudioTypeError)
|
CompletionRequestError,
|
||||||
|
NoAudioUploadedError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderNotSupportSpeechToTextError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
UnsupportedAudioTypeError,
|
||||||
|
)
|
||||||
from controllers.console.explore.wraps import InstalledAppResource
|
from controllers.console.explore.wraps import InstalledAppResource
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask import request
|
|
||||||
from models.model import AppModelConfig
|
from models.model import AppModelConfig
|
||||||
from services.audio_service import AudioService
|
from services.audio_service import AudioService
|
||||||
from services.errors.audio import (AudioTooLargeServiceError, NoAudioUploadedServiceError,
|
from services.errors.audio import (
|
||||||
ProviderNotSupportSpeechToTextServiceError, UnsupportedAudioTypeServiceError)
|
AudioTooLargeServiceError,
|
||||||
from werkzeug.exceptions import InternalServerError
|
NoAudioUploadedServiceError,
|
||||||
|
ProviderNotSupportSpeechToTextServiceError,
|
||||||
|
UnsupportedAudioTypeServiceError,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ChatAudioApi(InstalledAppResource):
|
class ChatAudioApi(InstalledAppResource):
|
||||||
|
@ -4,11 +4,21 @@ import logging
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Generator, Union
|
from typing import Generator, Union
|
||||||
|
|
||||||
|
from flask import Response, stream_with_context
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import reqparse
|
||||||
|
from werkzeug.exceptions import InternalServerError, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import (AppUnavailableError, CompletionRequestError, ConversationCompletedError,
|
from controllers.console.app.error import (
|
||||||
ProviderModelCurrentlyNotSupportError, ProviderNotInitializeError,
|
AppUnavailableError,
|
||||||
ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
ConversationCompletedError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.console.explore.error import NotChatAppError, NotCompletionAppError
|
from controllers.console.explore.error import NotChatAppError, NotCompletionAppError
|
||||||
from controllers.console.explore.wraps import InstalledAppResource
|
from controllers.console.explore.wraps import InstalledAppResource
|
||||||
from core.application_queue_manager import ApplicationQueueManager
|
from core.application_queue_manager import ApplicationQueueManager
|
||||||
@ -16,12 +26,8 @@ from core.entities.application_entities import InvokeFrom
|
|||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import Response, stream_with_context
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import reqparse
|
|
||||||
from libs.helper import uuid_value
|
from libs.helper import uuid_value
|
||||||
from services.completion_service import CompletionService
|
from services.completion_service import CompletionService
|
||||||
from werkzeug.exceptions import InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
# define completion api for user
|
# define completion api for user
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.explore.error import NotChatAppError
|
from controllers.console.explore.error import NotChatAppError
|
||||||
from controllers.console.explore.wraps import InstalledAppResource
|
from controllers.console.explore.wraps import InstalledAppResource
|
||||||
from fields.conversation_fields import conversation_infinite_scroll_pagination_fields, simple_conversation_fields
|
from fields.conversation_fields import conversation_infinite_scroll_pagination_fields, simple_conversation_fields
|
||||||
from flask_login import current_user
|
from libs.helper import uuid_value
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
|
||||||
from services.conversation_service import ConversationService
|
from services.conversation_service import ConversationService
|
||||||
from services.errors.conversation import ConversationNotExistsError, LastConversationNotExistsError
|
from services.errors.conversation import ConversationNotExistsError, LastConversationNotExistsError
|
||||||
from services.web_conversation_service import WebConversationService
|
from services.web_conversation_service import WebConversationService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class ConversationListApi(InstalledAppResource):
|
class ConversationListApi(InstalledAppResource):
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, inputs, marshal_with, reqparse
|
||||||
|
from sqlalchemy import and_
|
||||||
|
from werkzeug.exceptions import BadRequest, Forbidden, NotFound
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.explore.wraps import InstalledAppResource
|
from controllers.console.explore.wraps import InstalledAppResource
|
||||||
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.installed_app_fields import installed_app_list_fields
|
from fields.installed_app_fields import installed_app_list_fields
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, inputs, marshal_with, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.model import App, InstalledApp, RecommendedApp
|
from models.model import App, InstalledApp, RecommendedApp
|
||||||
from services.account_service import TenantService
|
from services.account_service import TenantService
|
||||||
from sqlalchemy import and_
|
|
||||||
from werkzeug.exceptions import BadRequest, Forbidden, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class InstalledAppsListApi(Resource):
|
class InstalledAppsListApi(Resource):
|
||||||
|
@ -3,29 +3,37 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
from typing import Generator, Union
|
from typing import Generator, Union
|
||||||
|
|
||||||
|
from flask import Response, stream_with_context
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import InternalServerError, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import (AppMoreLikeThisDisabledError, CompletionRequestError,
|
from controllers.console.app.error import (
|
||||||
ProviderModelCurrentlyNotSupportError, ProviderNotInitializeError,
|
AppMoreLikeThisDisabledError,
|
||||||
ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
from controllers.console.explore.error import (AppSuggestedQuestionsAfterAnswerDisabledError, NotChatAppError,
|
ProviderModelCurrentlyNotSupportError,
|
||||||
NotCompletionAppError)
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
|
from controllers.console.explore.error import (
|
||||||
|
AppSuggestedQuestionsAfterAnswerDisabledError,
|
||||||
|
NotChatAppError,
|
||||||
|
NotCompletionAppError,
|
||||||
|
)
|
||||||
from controllers.console.explore.wraps import InstalledAppResource
|
from controllers.console.explore.wraps import InstalledAppResource
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from fields.message_fields import message_infinite_scroll_pagination_fields
|
from fields.message_fields import message_infinite_scroll_pagination_fields
|
||||||
from flask import Response, stream_with_context
|
from libs.helper import uuid_value
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
|
||||||
from services.completion_service import CompletionService
|
from services.completion_service import CompletionService
|
||||||
from services.errors.app import MoreLikeThisDisabledError
|
from services.errors.app import MoreLikeThisDisabledError
|
||||||
from services.errors.conversation import ConversationNotExistsError
|
from services.errors.conversation import ConversationNotExistsError
|
||||||
from services.errors.message import MessageNotExistsError, SuggestedQuestionsAfterAnswerDisabledError
|
from services.errors.message import MessageNotExistsError, SuggestedQuestionsAfterAnswerDisabledError
|
||||||
from services.message_service import MessageService
|
from services.message_service import MessageService
|
||||||
from werkzeug.exceptions import InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class MessageListApi(InstalledAppResource):
|
class MessageListApi(InstalledAppResource):
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
from flask import current_app
|
||||||
|
from flask_restful import fields, marshal_with
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.explore.wraps import InstalledAppResource
|
from controllers.console.explore.wraps import InstalledAppResource
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import current_app
|
|
||||||
from flask_restful import fields, marshal_with
|
|
||||||
from models.model import AppModelConfig, InstalledApp
|
from models.model import AppModelConfig, InstalledApp
|
||||||
from models.tools import ApiToolProvider
|
from models.tools import ApiToolProvider
|
||||||
|
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, fields, marshal_with
|
||||||
|
from sqlalchemy import and_
|
||||||
|
|
||||||
from constants.languages import languages
|
from constants.languages import languages
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.app.error import AppNotFoundError
|
from controllers.console.app.error import AppNotFoundError
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, fields, marshal_with
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.model import App, InstalledApp, RecommendedApp
|
from models.model import App, InstalledApp, RecommendedApp
|
||||||
from services.account_service import TenantService
|
from services.account_service import TenantService
|
||||||
from sqlalchemy import and_
|
|
||||||
|
|
||||||
app_fields = {
|
app_fields = {
|
||||||
'id': fields.String,
|
'id': fields.String,
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import fields, marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.explore.error import NotCompletionAppError
|
from controllers.console.explore.error import NotCompletionAppError
|
||||||
from controllers.console.explore.wraps import InstalledAppResource
|
from controllers.console.explore.wraps import InstalledAppResource
|
||||||
from fields.conversation_fields import message_file_fields
|
from fields.conversation_fields import message_file_fields
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
from libs.helper import TimestampField, uuid_value
|
||||||
from services.errors.message import MessageNotExistsError
|
from services.errors.message import MessageNotExistsError
|
||||||
from services.saved_message_service import SavedMessageService
|
from services.saved_message_service import SavedMessageService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
feedback_fields = {
|
feedback_fields = {
|
||||||
'rating': fields.String
|
'rating': fields.String
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.model import InstalledApp
|
from models.model import InstalledApp
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
def installed_app_required(view=None):
|
def installed_app_required(view=None):
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, marshal_with, reqparse
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from fields.api_based_extension_fields import api_based_extension_fields
|
from fields.api_based_extension_fields import api_based_extension_fields
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, marshal_with, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.api_based_extension import APIBasedExtension
|
from models.api_based_extension import APIBasedExtension
|
||||||
from services.api_based_extension_service import APIBasedExtensionService
|
from services.api_based_extension_service import APIBasedExtensionService
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
|
||||||
from services.feature_service import FeatureService
|
from services.feature_service import FeatureService
|
||||||
|
|
||||||
from . import api
|
from . import api
|
||||||
|
@ -2,6 +2,7 @@ import os
|
|||||||
|
|
||||||
from flask import current_app, session
|
from flask import current_app, session
|
||||||
from flask_restful import Resource, reqparse
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
from libs.helper import str_len
|
from libs.helper import str_len
|
||||||
from models.model import DifySetup
|
from models.model import DifySetup
|
||||||
from services.account_service import TenantService
|
from services.account_service import TenantService
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask import current_app, request
|
from flask import current_app, request
|
||||||
from flask_restful import Resource, reqparse
|
from flask_restful import Resource, reqparse
|
||||||
|
|
||||||
|
from extensions.ext_database import db
|
||||||
from libs.helper import email, str_len
|
from libs.helper import email, str_len
|
||||||
from libs.password import valid_password
|
from libs.password import valid_password
|
||||||
from models.model import DifySetup
|
from models.model import DifySetup
|
||||||
|
@ -6,7 +6,6 @@ import logging
|
|||||||
import requests
|
import requests
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
from flask_restful import Resource, reqparse
|
from flask_restful import Resource, reqparse
|
||||||
from werkzeug.exceptions import InternalServerError
|
|
||||||
|
|
||||||
from . import api
|
from . import api
|
||||||
|
|
||||||
|
@ -2,16 +2,21 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
import pytz
|
import pytz
|
||||||
from constants.languages import supported_language
|
|
||||||
from controllers.console import api
|
|
||||||
from controllers.console.setup import setup_required
|
|
||||||
from controllers.console.workspace.error import (AccountAlreadyInitedError, CurrentPasswordIncorrectError,
|
|
||||||
InvalidInvitationCodeError, RepeatPasswordNotMatchError)
|
|
||||||
from controllers.console.wraps import account_initialization_required
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask import current_app, request
|
from flask import current_app, request
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
from flask_restful import Resource, fields, marshal_with, reqparse
|
from flask_restful import Resource, fields, marshal_with, reqparse
|
||||||
|
|
||||||
|
from constants.languages import supported_language
|
||||||
|
from controllers.console import api
|
||||||
|
from controllers.console.setup import setup_required
|
||||||
|
from controllers.console.workspace.error import (
|
||||||
|
AccountAlreadyInitedError,
|
||||||
|
CurrentPasswordIncorrectError,
|
||||||
|
InvalidInvitationCodeError,
|
||||||
|
RepeatPasswordNotMatchError,
|
||||||
|
)
|
||||||
|
from controllers.console.wraps import account_initialization_required
|
||||||
|
from extensions.ext_database import db
|
||||||
from libs.helper import TimestampField, timezone
|
from libs.helper import TimestampField, timezone
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.account import AccountIntegrate, InvitationCode
|
from models.account import AccountIntegrate, InvitationCode
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
from flask import current_app
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, abort, fields, marshal_with, reqparse
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import current_app
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, abort, fields, marshal_with, reqparse
|
|
||||||
from libs.helper import TimestampField
|
from libs.helper import TimestampField
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.account import Account
|
from models.account import Account
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
import io
|
import io
|
||||||
|
|
||||||
|
from flask import send_file
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from core.model_runtime.errors.validate import CredentialsValidateFailedError
|
from core.model_runtime.errors.validate import CredentialsValidateFailedError
|
||||||
from core.model_runtime.utils.encoders import jsonable_encoder
|
from core.model_runtime.utils.encoders import jsonable_encoder
|
||||||
from flask import send_file
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.billing_service import BillingService
|
from services.billing_service import BillingService
|
||||||
from services.model_provider_service import ModelProviderService
|
from services.model_provider_service import ModelProviderService
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
|
|
||||||
class ModelProviderListApi(Resource):
|
class ModelProviderListApi(Resource):
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from core.model_runtime.errors.validate import CredentialsValidateFailedError
|
from core.model_runtime.errors.validate import CredentialsValidateFailedError
|
||||||
from core.model_runtime.utils.encoders import jsonable_encoder
|
from core.model_runtime.utils.encoders import jsonable_encoder
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.model_provider_service import ModelProviderService
|
from services.model_provider_service import ModelProviderService
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
|
|
||||||
class DefaultModelApi(Resource):
|
class DefaultModelApi(Resource):
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
import io
|
import io
|
||||||
import json
|
|
||||||
|
from flask import send_file
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, reqparse
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required
|
from controllers.console.wraps import account_initialization_required
|
||||||
from flask import send_file
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, reqparse
|
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from services.tools_manage_service import ToolManageService
|
from services.tools_manage_service import ToolManageService
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
|
|
||||||
class ToolProviderListApi(Resource):
|
class ToolProviderListApi(Resource):
|
||||||
|
@ -1,18 +1,23 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import Resource, fields, inputs, marshal, marshal_with, reqparse
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.console import api
|
from controllers.console import api
|
||||||
from controllers.console.admin import admin_required
|
from controllers.console.admin import admin_required
|
||||||
from controllers.console.datasets.error import (FileTooLargeError, NoFileUploadedError, TooManyFilesError,
|
from controllers.console.datasets.error import (
|
||||||
UnsupportedFileTypeError)
|
FileTooLargeError,
|
||||||
|
NoFileUploadedError,
|
||||||
|
TooManyFilesError,
|
||||||
|
UnsupportedFileTypeError,
|
||||||
|
)
|
||||||
from controllers.console.error import AccountNotLinkTenantError
|
from controllers.console.error import AccountNotLinkTenantError
|
||||||
from controllers.console.setup import setup_required
|
from controllers.console.setup import setup_required
|
||||||
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
from controllers.console.wraps import account_initialization_required, cloud_edition_billing_resource_check
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import request
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import Resource, fields, inputs, marshal, marshal_with, reqparse
|
|
||||||
from libs.helper import TimestampField
|
from libs.helper import TimestampField
|
||||||
from libs.login import login_required
|
from libs.login import login_required
|
||||||
from models.account import Tenant
|
from models.account import Tenant
|
||||||
|
@ -2,9 +2,10 @@
|
|||||||
import json
|
import json
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from controllers.console.workspace.error import AccountNotInitializedError
|
|
||||||
from flask import abort, current_app, request
|
from flask import abort, current_app, request
|
||||||
from flask_login import current_user
|
from flask_login import current_user
|
||||||
|
|
||||||
|
from controllers.console.workspace.error import AccountNotInitializedError
|
||||||
from services.feature_service import FeatureService
|
from services.feature_service import FeatureService
|
||||||
from services.operation_service import OperationService
|
from services.operation_service import OperationService
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
import services
|
|
||||||
from controllers.files import api
|
|
||||||
from flask import Response, request
|
from flask import Response, request
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
|
import services
|
||||||
|
from controllers.files import api
|
||||||
from libs.exception import BaseHTTPException
|
from libs.exception import BaseHTTPException
|
||||||
from services.account_service import TenantService
|
from services.account_service import TenantService
|
||||||
from services.file_service import FileService
|
from services.file_service import FileService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class ImagePreviewApi(Resource):
|
class ImagePreviewApi(Resource):
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
from controllers.files import api
|
|
||||||
from core.tools.tool_file_manager import ToolFileManager
|
|
||||||
from flask import Response
|
from flask import Response
|
||||||
from flask_restful import Resource, reqparse
|
from flask_restful import Resource, reqparse
|
||||||
from libs.exception import BaseHTTPException
|
|
||||||
from werkzeug.exceptions import Forbidden, NotFound
|
from werkzeug.exceptions import Forbidden, NotFound
|
||||||
|
|
||||||
|
from controllers.files import api
|
||||||
|
from core.tools.tool_file_manager import ToolFileManager
|
||||||
|
from libs.exception import BaseHTTPException
|
||||||
|
|
||||||
|
|
||||||
class ToolFilePreviewApi(Resource):
|
class ToolFilePreviewApi(Resource):
|
||||||
def get(self, file_id, extension):
|
def get(self, file_id, extension):
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
from flask import current_app
|
||||||
|
from flask_restful import fields, marshal_with
|
||||||
|
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.wraps import AppApiResource
|
from controllers.service_api.wraps import AppApiResource
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import current_app
|
|
||||||
from flask_restful import fields, marshal_with
|
|
||||||
from models.model import App, AppModelConfig
|
from models.model import App, AppModelConfig
|
||||||
from models.tools import ApiToolProvider
|
from models.tools import ApiToolProvider
|
||||||
|
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_restful import reqparse
|
||||||
|
from werkzeug.exceptions import InternalServerError
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.app.error import (AppUnavailableError, AudioTooLargeError, CompletionRequestError,
|
from controllers.service_api.app.error import (
|
||||||
NoAudioUploadedError, ProviderModelCurrentlyNotSupportError,
|
AppUnavailableError,
|
||||||
ProviderNotInitializeError, ProviderNotSupportSpeechToTextError,
|
AudioTooLargeError,
|
||||||
ProviderQuotaExceededError, UnsupportedAudioTypeError)
|
CompletionRequestError,
|
||||||
|
NoAudioUploadedError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderNotSupportSpeechToTextError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
UnsupportedAudioTypeError,
|
||||||
|
)
|
||||||
from controllers.service_api.wraps import AppApiResource
|
from controllers.service_api.wraps import AppApiResource
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask import request
|
|
||||||
from flask_restful import reqparse
|
|
||||||
from models.model import App, AppModelConfig
|
from models.model import App, AppModelConfig
|
||||||
from services.audio_service import AudioService
|
from services.audio_service import AudioService
|
||||||
from services.errors.audio import (AudioTooLargeServiceError, NoAudioUploadedServiceError,
|
from services.errors.audio import (
|
||||||
ProviderNotSupportSpeechToTextServiceError, UnsupportedAudioTypeServiceError)
|
AudioTooLargeServiceError,
|
||||||
from werkzeug.exceptions import InternalServerError
|
NoAudioUploadedServiceError,
|
||||||
|
ProviderNotSupportSpeechToTextServiceError,
|
||||||
|
UnsupportedAudioTypeServiceError,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class AudioApi(AppApiResource):
|
class AudioApi(AppApiResource):
|
||||||
|
@ -2,22 +2,29 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
from typing import Generator, Union
|
from typing import Generator, Union
|
||||||
|
|
||||||
|
from flask import Response, stream_with_context
|
||||||
|
from flask_restful import reqparse
|
||||||
|
from werkzeug.exceptions import InternalServerError, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
||||||
from controllers.service_api.app.error import (AppUnavailableError, CompletionRequestError, ConversationCompletedError,
|
from controllers.service_api.app.error import (
|
||||||
NotChatAppError, ProviderModelCurrentlyNotSupportError,
|
AppUnavailableError,
|
||||||
ProviderNotInitializeError, ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
ConversationCompletedError,
|
||||||
|
NotChatAppError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.service_api.wraps import AppApiResource
|
from controllers.service_api.wraps import AppApiResource
|
||||||
from core.application_queue_manager import ApplicationQueueManager
|
from core.application_queue_manager import ApplicationQueueManager
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask import Response, stream_with_context
|
|
||||||
from flask_restful import reqparse
|
|
||||||
from libs.helper import uuid_value
|
from libs.helper import uuid_value
|
||||||
from services.completion_service import CompletionService
|
from services.completion_service import CompletionService
|
||||||
from werkzeug.exceptions import InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class CompletionApi(AppApiResource):
|
class CompletionApi(AppApiResource):
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
from flask import request
|
||||||
|
from flask_restful import marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
||||||
from controllers.service_api.app.error import NotChatAppError
|
from controllers.service_api.app.error import NotChatAppError
|
||||||
from controllers.service_api.wraps import AppApiResource
|
from controllers.service_api.wraps import AppApiResource
|
||||||
from fields.conversation_fields import conversation_infinite_scroll_pagination_fields, simple_conversation_fields
|
from fields.conversation_fields import conversation_infinite_scroll_pagination_fields, simple_conversation_fields
|
||||||
from flask import request
|
from libs.helper import uuid_value
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
|
||||||
from services.conversation_service import ConversationService
|
from services.conversation_service import ConversationService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class ConversationApi(AppApiResource):
|
class ConversationApi(AppApiResource):
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
|
from flask import request
|
||||||
|
from flask_restful import marshal_with
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
||||||
from controllers.service_api.app.error import (FileTooLargeError, NoFileUploadedError, TooManyFilesError,
|
from controllers.service_api.app.error import (
|
||||||
UnsupportedFileTypeError)
|
FileTooLargeError,
|
||||||
|
NoFileUploadedError,
|
||||||
|
TooManyFilesError,
|
||||||
|
UnsupportedFileTypeError,
|
||||||
|
)
|
||||||
from controllers.service_api.wraps import AppApiResource
|
from controllers.service_api.wraps import AppApiResource
|
||||||
from fields.file_fields import file_fields
|
from fields.file_fields import file_fields
|
||||||
from flask import request
|
|
||||||
from flask_restful import marshal_with
|
|
||||||
from services.file_service import FileService
|
from services.file_service import FileService
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
from flask_restful import fields, marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
from controllers.service_api.app import create_or_update_end_user_for_user_id
|
||||||
@ -6,12 +10,9 @@ from controllers.service_api.app.error import NotChatAppError
|
|||||||
from controllers.service_api.wraps import AppApiResource
|
from controllers.service_api.wraps import AppApiResource
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.conversation_fields import message_file_fields
|
from fields.conversation_fields import message_file_fields
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
from libs.helper import TimestampField, uuid_value
|
||||||
from models.model import EndUser, Message
|
from models.model import EndUser, Message
|
||||||
from services.message_service import MessageService
|
from services.message_service import MessageService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class MessageListApi(AppApiResource):
|
class MessageListApi(AppApiResource):
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
from flask import request
|
||||||
|
from flask_restful import marshal, reqparse
|
||||||
|
|
||||||
import services.dataset_service
|
import services.dataset_service
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.dataset.error import DatasetNameDuplicateError
|
from controllers.service_api.dataset.error import DatasetNameDuplicateError
|
||||||
@ -5,8 +8,6 @@ from controllers.service_api.wraps import DatasetApiResource
|
|||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from core.provider_manager import ProviderManager
|
from core.provider_manager import ProviderManager
|
||||||
from fields.dataset_fields import dataset_detail_fields
|
from fields.dataset_fields import dataset_detail_fields
|
||||||
from flask import request
|
|
||||||
from flask_restful import marshal, reqparse
|
|
||||||
from libs.login import current_user
|
from libs.login import current_user
|
||||||
from models.dataset import Dataset
|
from models.dataset import Dataset
|
||||||
from services.dataset_service import DatasetService
|
from services.dataset_service import DatasetService
|
||||||
|
@ -1,23 +1,28 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import marshal, reqparse
|
||||||
|
from sqlalchemy import desc
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
import services.dataset_service
|
import services.dataset_service
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.app.error import ProviderNotInitializeError
|
from controllers.service_api.app.error import ProviderNotInitializeError
|
||||||
from controllers.service_api.dataset.error import (ArchivedDocumentImmutableError, DocumentIndexingError,
|
from controllers.service_api.dataset.error import (
|
||||||
NoFileUploadedError, TooManyFilesError)
|
ArchivedDocumentImmutableError,
|
||||||
|
DocumentIndexingError,
|
||||||
|
NoFileUploadedError,
|
||||||
|
TooManyFilesError,
|
||||||
|
)
|
||||||
from controllers.service_api.wraps import DatasetApiResource, cloud_edition_billing_resource_check
|
from controllers.service_api.wraps import DatasetApiResource, cloud_edition_billing_resource_check
|
||||||
from core.errors.error import ProviderTokenNotInitError
|
from core.errors.error import ProviderTokenNotInitError
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.document_fields import document_fields, document_status_fields
|
from fields.document_fields import document_fields, document_status_fields
|
||||||
from flask import request
|
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import marshal, reqparse
|
|
||||||
from libs.login import current_user
|
from libs.login import current_user
|
||||||
from models.dataset import Dataset, Document, DocumentSegment
|
from models.dataset import Dataset, Document, DocumentSegment
|
||||||
from services.dataset_service import DocumentService
|
from services.dataset_service import DocumentService
|
||||||
from services.file_service import FileService
|
from services.file_service import FileService
|
||||||
from sqlalchemy import desc
|
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class DocumentAddByTextApi(DatasetApiResource):
|
class DocumentAddByTextApi(DatasetApiResource):
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
from flask_login import current_user
|
||||||
|
from flask_restful import marshal, reqparse
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.service_api import api
|
from controllers.service_api import api
|
||||||
from controllers.service_api.app.error import ProviderNotInitializeError
|
from controllers.service_api.app.error import ProviderNotInitializeError
|
||||||
from controllers.service_api.wraps import DatasetApiResource, cloud_edition_billing_resource_check
|
from controllers.service_api.wraps import DatasetApiResource, cloud_edition_billing_resource_check
|
||||||
@ -6,11 +10,8 @@ from core.model_manager import ModelManager
|
|||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from fields.segment_fields import segment_fields
|
from fields.segment_fields import segment_fields
|
||||||
from flask_login import current_user
|
|
||||||
from flask_restful import marshal, reqparse
|
|
||||||
from models.dataset import Dataset, DocumentSegment
|
from models.dataset import Dataset, DocumentSegment
|
||||||
from services.dataset_service import DatasetService, DocumentService, SegmentService
|
from services.dataset_service import DatasetService, DocumentService, SegmentService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class SegmentApi(DatasetApiResource):
|
class SegmentApi(DatasetApiResource):
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
from controllers.service_api import api
|
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
|
||||||
|
from controllers.service_api import api
|
||||||
|
|
||||||
|
|
||||||
class IndexApi(Resource):
|
class IndexApi(Resource):
|
||||||
def get(self):
|
def get(self):
|
||||||
|
@ -2,15 +2,16 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask import current_app, request
|
from flask import current_app, request
|
||||||
from flask_login import user_logged_in
|
from flask_login import user_logged_in
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
from werkzeug.exceptions import NotFound, Unauthorized
|
||||||
|
|
||||||
|
from extensions.ext_database import db
|
||||||
from libs.login import _get_user
|
from libs.login import _get_user
|
||||||
from models.account import Account, Tenant, TenantAccountJoin
|
from models.account import Account, Tenant, TenantAccountJoin
|
||||||
from models.model import ApiToken, App
|
from models.model import ApiToken, App
|
||||||
from services.feature_service import FeatureService
|
from services.feature_service import FeatureService
|
||||||
from werkzeug.exceptions import NotFound, Unauthorized
|
|
||||||
|
|
||||||
|
|
||||||
def validate_app_token(view=None):
|
def validate_app_token(view=None):
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
from flask import current_app
|
||||||
|
from flask_restful import fields, marshal_with
|
||||||
|
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import current_app
|
|
||||||
from flask_restful import fields, marshal_with
|
|
||||||
from models.model import App, AppModelConfig
|
from models.model import App, AppModelConfig
|
||||||
from models.tools import ApiToolProvider
|
from models.tools import ApiToolProvider
|
||||||
|
|
||||||
|
@ -1,21 +1,33 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from flask import request
|
||||||
|
from werkzeug.exceptions import InternalServerError
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.error import (AppUnavailableError, AudioTooLargeError, CompletionRequestError,
|
from controllers.web.error import (
|
||||||
NoAudioUploadedError, ProviderModelCurrentlyNotSupportError,
|
AppUnavailableError,
|
||||||
ProviderNotInitializeError, ProviderNotSupportSpeechToTextError,
|
AudioTooLargeError,
|
||||||
ProviderQuotaExceededError, UnsupportedAudioTypeError)
|
CompletionRequestError,
|
||||||
|
NoAudioUploadedError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderNotSupportSpeechToTextError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
UnsupportedAudioTypeError,
|
||||||
|
)
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask import request
|
|
||||||
from models.model import App, AppModelConfig
|
from models.model import App, AppModelConfig
|
||||||
from services.audio_service import AudioService
|
from services.audio_service import AudioService
|
||||||
from services.errors.audio import (AudioTooLargeServiceError, NoAudioUploadedServiceError,
|
from services.errors.audio import (
|
||||||
ProviderNotSupportSpeechToTextServiceError, UnsupportedAudioTypeServiceError)
|
AudioTooLargeServiceError,
|
||||||
from werkzeug.exceptions import InternalServerError
|
NoAudioUploadedServiceError,
|
||||||
|
ProviderNotSupportSpeechToTextServiceError,
|
||||||
|
UnsupportedAudioTypeServiceError,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class AudioApi(WebApiResource):
|
class AudioApi(WebApiResource):
|
||||||
|
@ -3,21 +3,29 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
from typing import Generator, Union
|
from typing import Generator, Union
|
||||||
|
|
||||||
|
from flask import Response, stream_with_context
|
||||||
|
from flask_restful import reqparse
|
||||||
|
from werkzeug.exceptions import InternalServerError, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.error import (AppUnavailableError, CompletionRequestError, ConversationCompletedError,
|
from controllers.web.error import (
|
||||||
NotChatAppError, NotCompletionAppError, ProviderModelCurrentlyNotSupportError,
|
AppUnavailableError,
|
||||||
ProviderNotInitializeError, ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
ConversationCompletedError,
|
||||||
|
NotChatAppError,
|
||||||
|
NotCompletionAppError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from core.application_queue_manager import ApplicationQueueManager
|
from core.application_queue_manager import ApplicationQueueManager
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from flask import Response, stream_with_context
|
|
||||||
from flask_restful import reqparse
|
|
||||||
from libs.helper import uuid_value
|
from libs.helper import uuid_value
|
||||||
from services.completion_service import CompletionService
|
from services.completion_service import CompletionService
|
||||||
from werkzeug.exceptions import InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
# define completion api for user
|
# define completion api for user
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
from flask_restful import marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.error import NotChatAppError
|
from controllers.web.error import NotChatAppError
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from fields.conversation_fields import conversation_infinite_scroll_pagination_fields, simple_conversation_fields
|
from fields.conversation_fields import conversation_infinite_scroll_pagination_fields, simple_conversation_fields
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
from libs.helper import uuid_value
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
|
||||||
from services.conversation_service import ConversationService
|
from services.conversation_service import ConversationService
|
||||||
from services.errors.conversation import ConversationNotExistsError, LastConversationNotExistsError
|
from services.errors.conversation import ConversationNotExistsError, LastConversationNotExistsError
|
||||||
from services.web_conversation_service import WebConversationService
|
from services.web_conversation_service import WebConversationService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class ConversationListApi(WebApiResource):
|
class ConversationListApi(WebApiResource):
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
|
from flask import request
|
||||||
|
from flask_restful import marshal_with
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.error import FileTooLargeError, NoFileUploadedError, TooManyFilesError, UnsupportedFileTypeError
|
from controllers.web.error import FileTooLargeError, NoFileUploadedError, TooManyFilesError, UnsupportedFileTypeError
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from fields.file_fields import file_fields
|
from fields.file_fields import file_fields
|
||||||
from flask import request
|
|
||||||
from flask_restful import marshal_with
|
|
||||||
from services.file_service import FileService
|
from services.file_service import FileService
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,28 +3,35 @@ import json
|
|||||||
import logging
|
import logging
|
||||||
from typing import Generator, Union
|
from typing import Generator, Union
|
||||||
|
|
||||||
|
from flask import Response, stream_with_context
|
||||||
|
from flask_restful import fields, marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import InternalServerError, NotFound
|
||||||
|
|
||||||
import services
|
import services
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.error import (AppMoreLikeThisDisabledError, AppSuggestedQuestionsAfterAnswerDisabledError,
|
from controllers.web.error import (
|
||||||
CompletionRequestError, NotChatAppError, NotCompletionAppError,
|
AppMoreLikeThisDisabledError,
|
||||||
ProviderModelCurrentlyNotSupportError, ProviderNotInitializeError,
|
AppSuggestedQuestionsAfterAnswerDisabledError,
|
||||||
ProviderQuotaExceededError)
|
CompletionRequestError,
|
||||||
|
NotChatAppError,
|
||||||
|
NotCompletionAppError,
|
||||||
|
ProviderModelCurrentlyNotSupportError,
|
||||||
|
ProviderNotInitializeError,
|
||||||
|
ProviderQuotaExceededError,
|
||||||
|
)
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from fields.conversation_fields import message_file_fields
|
from fields.conversation_fields import message_file_fields
|
||||||
from fields.message_fields import agent_thought_fields
|
from fields.message_fields import agent_thought_fields
|
||||||
from flask import Response, stream_with_context
|
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
from libs.helper import TimestampField, uuid_value
|
||||||
from services.completion_service import CompletionService
|
from services.completion_service import CompletionService
|
||||||
from services.errors.app import MoreLikeThisDisabledError
|
from services.errors.app import MoreLikeThisDisabledError
|
||||||
from services.errors.conversation import ConversationNotExistsError
|
from services.errors.conversation import ConversationNotExistsError
|
||||||
from services.errors.message import MessageNotExistsError, SuggestedQuestionsAfterAnswerDisabledError
|
from services.errors.message import MessageNotExistsError, SuggestedQuestionsAfterAnswerDisabledError
|
||||||
from services.message_service import MessageService
|
from services.message_service import MessageService
|
||||||
from werkzeug.exceptions import InternalServerError, NotFound
|
|
||||||
|
|
||||||
|
|
||||||
class MessageListApi(WebApiResource):
|
class MessageListApi(WebApiResource):
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from controllers.web import api
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask import request
|
from flask import request
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
from werkzeug.exceptions import NotFound, Unauthorized
|
||||||
|
|
||||||
|
from controllers.web import api
|
||||||
|
from extensions.ext_database import db
|
||||||
from libs.passport import PassportService
|
from libs.passport import PassportService
|
||||||
from models.model import App, EndUser, Site
|
from models.model import App, EndUser, Site
|
||||||
from werkzeug.exceptions import NotFound, Unauthorized
|
|
||||||
|
|
||||||
|
|
||||||
class PassportResource(Resource):
|
class PassportResource(Resource):
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
|
from flask_restful import fields, marshal_with, reqparse
|
||||||
|
from flask_restful.inputs import int_range
|
||||||
|
from werkzeug.exceptions import NotFound
|
||||||
|
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.error import NotCompletionAppError
|
from controllers.web.error import NotCompletionAppError
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from fields.conversation_fields import message_file_fields
|
from fields.conversation_fields import message_file_fields
|
||||||
from flask_restful import fields, marshal_with, reqparse
|
|
||||||
from flask_restful.inputs import int_range
|
|
||||||
from libs.helper import TimestampField, uuid_value
|
from libs.helper import TimestampField, uuid_value
|
||||||
from services.errors.message import MessageNotExistsError
|
from services.errors.message import MessageNotExistsError
|
||||||
from services.saved_message_service import SavedMessageService
|
from services.saved_message_service import SavedMessageService
|
||||||
from werkzeug.exceptions import NotFound
|
|
||||||
|
|
||||||
feedback_fields = {
|
feedback_fields = {
|
||||||
'rating': fields.String
|
'rating': fields.String
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
import os
|
|
||||||
|
from flask import current_app
|
||||||
|
from flask_restful import fields, marshal_with
|
||||||
|
from werkzeug.exceptions import Forbidden
|
||||||
|
|
||||||
from controllers.web import api
|
from controllers.web import api
|
||||||
from controllers.web.wraps import WebApiResource
|
from controllers.web.wraps import WebApiResource
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import current_app
|
|
||||||
from flask_restful import fields, marshal_with
|
|
||||||
from models.model import Site
|
from models.model import Site
|
||||||
from services.feature_service import FeatureService
|
from services.feature_service import FeatureService
|
||||||
from werkzeug.exceptions import Forbidden
|
|
||||||
|
|
||||||
|
|
||||||
class AppSiteApi(WebApiResource):
|
class AppSiteApi(WebApiResource):
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask import request
|
from flask import request
|
||||||
from flask_restful import Resource
|
from flask_restful import Resource
|
||||||
|
from werkzeug.exceptions import NotFound, Unauthorized
|
||||||
|
|
||||||
|
from extensions.ext_database import db
|
||||||
from libs.passport import PassportService
|
from libs.passport import PassportService
|
||||||
from models.model import App, EndUser, Site
|
from models.model import App, EndUser, Site
|
||||||
from werkzeug.exceptions import NotFound, Unauthorized
|
|
||||||
|
|
||||||
|
|
||||||
def validate_jwt_token(view=None):
|
def validate_jwt_token(view=None):
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
from typing import List, cast
|
from typing import List, cast
|
||||||
|
|
||||||
from core.entities.application_entities import ModelConfigEntity
|
from core.entities.application_entities import ModelConfigEntity
|
||||||
from core.entities.message_entities import lc_messages_to_prompt_messages
|
|
||||||
from core.model_runtime.entities.message_entities import PromptMessage
|
from core.model_runtime.entities.message_entities import PromptMessage
|
||||||
from core.model_runtime.entities.model_entities import ModelPropertyKey
|
from core.model_runtime.entities.model_entities import ModelPropertyKey
|
||||||
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
||||||
from langchain.schema import BaseMessage
|
|
||||||
|
|
||||||
|
|
||||||
class CalcTokenMixin:
|
class CalcTokenMixin:
|
||||||
|
@ -1,10 +1,5 @@
|
|||||||
from typing import Any, List, Optional, Sequence, Tuple, Union, cast
|
from typing import Any, List, Optional, Sequence, Tuple, Union
|
||||||
|
|
||||||
from core.entities.application_entities import ModelConfigEntity
|
|
||||||
from core.entities.message_entities import lc_messages_to_prompt_messages
|
|
||||||
from core.model_manager import ModelInstance
|
|
||||||
from core.model_runtime.entities.message_entities import PromptMessageTool
|
|
||||||
from core.third_party.langchain.llms.fake import FakeLLM
|
|
||||||
from langchain.agents import BaseSingleActionAgent, OpenAIFunctionsAgent
|
from langchain.agents import BaseSingleActionAgent, OpenAIFunctionsAgent
|
||||||
from langchain.agents.openai_functions_agent.base import _format_intermediate_steps, _parse_ai_message
|
from langchain.agents.openai_functions_agent.base import _format_intermediate_steps, _parse_ai_message
|
||||||
from langchain.callbacks.base import BaseCallbackManager
|
from langchain.callbacks.base import BaseCallbackManager
|
||||||
@ -14,6 +9,12 @@ from langchain.schema import AgentAction, AgentFinish, AIMessage, SystemMessage
|
|||||||
from langchain.tools import BaseTool
|
from langchain.tools import BaseTool
|
||||||
from pydantic import root_validator
|
from pydantic import root_validator
|
||||||
|
|
||||||
|
from core.entities.application_entities import ModelConfigEntity
|
||||||
|
from core.entities.message_entities import lc_messages_to_prompt_messages
|
||||||
|
from core.model_manager import ModelInstance
|
||||||
|
from core.model_runtime.entities.message_entities import PromptMessageTool
|
||||||
|
from core.third_party.langchain.llms.fake import FakeLLM
|
||||||
|
|
||||||
|
|
||||||
class MultiDatasetRouterAgent(OpenAIFunctionsAgent):
|
class MultiDatasetRouterAgent(OpenAIFunctionsAgent):
|
||||||
"""
|
"""
|
||||||
|
@ -1,4 +1,23 @@
|
|||||||
from typing import Any, List, Optional, Sequence, Tuple, Union, cast
|
from typing import Any, List, Optional, Sequence, Tuple, Union
|
||||||
|
|
||||||
|
from langchain.agents import BaseSingleActionAgent, OpenAIFunctionsAgent
|
||||||
|
from langchain.agents.openai_functions_agent.base import _format_intermediate_steps, _parse_ai_message
|
||||||
|
from langchain.callbacks.base import BaseCallbackManager
|
||||||
|
from langchain.callbacks.manager import Callbacks
|
||||||
|
from langchain.chat_models.openai import _convert_message_to_dict, _import_tiktoken
|
||||||
|
from langchain.memory.prompt import SUMMARY_PROMPT
|
||||||
|
from langchain.prompts.chat import BaseMessagePromptTemplate
|
||||||
|
from langchain.schema import (
|
||||||
|
AgentAction,
|
||||||
|
AgentFinish,
|
||||||
|
AIMessage,
|
||||||
|
BaseMessage,
|
||||||
|
HumanMessage,
|
||||||
|
SystemMessage,
|
||||||
|
get_buffer_string,
|
||||||
|
)
|
||||||
|
from langchain.tools import BaseTool
|
||||||
|
from pydantic import root_validator
|
||||||
|
|
||||||
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
||||||
from core.agent.agent.calc_token_mixin import CalcTokenMixin, ExceededLLMTokensLimitError
|
from core.agent.agent.calc_token_mixin import CalcTokenMixin, ExceededLLMTokensLimitError
|
||||||
@ -7,19 +26,7 @@ from core.entities.application_entities import ModelConfigEntity
|
|||||||
from core.entities.message_entities import lc_messages_to_prompt_messages
|
from core.entities.message_entities import lc_messages_to_prompt_messages
|
||||||
from core.model_manager import ModelInstance
|
from core.model_manager import ModelInstance
|
||||||
from core.model_runtime.entities.message_entities import PromptMessage, PromptMessageTool
|
from core.model_runtime.entities.message_entities import PromptMessage, PromptMessageTool
|
||||||
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
|
||||||
from core.third_party.langchain.llms.fake import FakeLLM
|
from core.third_party.langchain.llms.fake import FakeLLM
|
||||||
from langchain.agents import BaseSingleActionAgent, OpenAIFunctionsAgent
|
|
||||||
from langchain.agents.openai_functions_agent.base import _format_intermediate_steps, _parse_ai_message
|
|
||||||
from langchain.callbacks.base import BaseCallbackManager
|
|
||||||
from langchain.callbacks.manager import Callbacks
|
|
||||||
from langchain.chat_models.openai import _convert_message_to_dict, _import_tiktoken
|
|
||||||
from langchain.memory.prompt import SUMMARY_PROMPT
|
|
||||||
from langchain.prompts.chat import BaseMessagePromptTemplate
|
|
||||||
from langchain.schema import (AgentAction, AgentFinish, AIMessage, BaseMessage, HumanMessage, SystemMessage,
|
|
||||||
get_buffer_string)
|
|
||||||
from langchain.tools import BaseTool
|
|
||||||
from pydantic import root_validator
|
|
||||||
|
|
||||||
|
|
||||||
class AutoSummarizingOpenAIFunctionCallAgent(OpenAIFunctionsAgent, CalcTokenMixin):
|
class AutoSummarizingOpenAIFunctionCallAgent(OpenAIFunctionsAgent, CalcTokenMixin):
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import re
|
import re
|
||||||
from typing import Any, List, Optional, Sequence, Tuple, Union, cast
|
from typing import Any, List, Optional, Sequence, Tuple, Union, cast
|
||||||
|
|
||||||
from core.chain.llm_chain import LLMChain
|
|
||||||
from core.entities.application_entities import ModelConfigEntity
|
|
||||||
from langchain import BasePromptTemplate, PromptTemplate
|
from langchain import BasePromptTemplate, PromptTemplate
|
||||||
from langchain.agents import Agent, AgentOutputParser, StructuredChatAgent
|
from langchain.agents import Agent, AgentOutputParser, StructuredChatAgent
|
||||||
from langchain.agents.structured_chat.base import HUMAN_MESSAGE_TEMPLATE
|
from langchain.agents.structured_chat.base import HUMAN_MESSAGE_TEMPLATE
|
||||||
@ -13,6 +11,9 @@ from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate, Sy
|
|||||||
from langchain.schema import AgentAction, AgentFinish, OutputParserException
|
from langchain.schema import AgentAction, AgentFinish, OutputParserException
|
||||||
from langchain.tools import BaseTool
|
from langchain.tools import BaseTool
|
||||||
|
|
||||||
|
from core.chain.llm_chain import LLMChain
|
||||||
|
from core.entities.application_entities import ModelConfigEntity
|
||||||
|
|
||||||
FORMAT_INSTRUCTIONS = """Use a json blob to specify a tool by providing an action key (tool name) and an action_input key (tool input).
|
FORMAT_INSTRUCTIONS = """Use a json blob to specify a tool by providing an action key (tool name) and an action_input key (tool input).
|
||||||
The nouns in the format of "Thought", "Action", "Action Input", "Final Answer" must be expressed in English.
|
The nouns in the format of "Thought", "Action", "Action Input", "Final Answer" must be expressed in English.
|
||||||
Valid "action" values: "Final Answer" or {tool_names}
|
Valid "action" values: "Final Answer" or {tool_names}
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
import re
|
import re
|
||||||
from typing import Any, List, Optional, Sequence, Tuple, Union, cast
|
from typing import Any, List, Optional, Sequence, Tuple, Union, cast
|
||||||
|
|
||||||
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
|
||||||
from core.agent.agent.calc_token_mixin import CalcTokenMixin, ExceededLLMTokensLimitError
|
|
||||||
from core.chain.llm_chain import LLMChain
|
|
||||||
from core.entities.application_entities import ModelConfigEntity
|
|
||||||
from core.entities.message_entities import lc_messages_to_prompt_messages
|
|
||||||
from langchain import BasePromptTemplate, PromptTemplate
|
from langchain import BasePromptTemplate, PromptTemplate
|
||||||
from langchain.agents import Agent, AgentOutputParser, StructuredChatAgent
|
from langchain.agents import Agent, AgentOutputParser, StructuredChatAgent
|
||||||
from langchain.agents.structured_chat.base import HUMAN_MESSAGE_TEMPLATE
|
from langchain.agents.structured_chat.base import HUMAN_MESSAGE_TEMPLATE
|
||||||
@ -14,10 +9,23 @@ from langchain.callbacks.base import BaseCallbackManager
|
|||||||
from langchain.callbacks.manager import Callbacks
|
from langchain.callbacks.manager import Callbacks
|
||||||
from langchain.memory.prompt import SUMMARY_PROMPT
|
from langchain.memory.prompt import SUMMARY_PROMPT
|
||||||
from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate
|
from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate
|
||||||
from langchain.schema import (AgentAction, AgentFinish, AIMessage, BaseMessage, HumanMessage, OutputParserException,
|
from langchain.schema import (
|
||||||
get_buffer_string)
|
AgentAction,
|
||||||
|
AgentFinish,
|
||||||
|
AIMessage,
|
||||||
|
BaseMessage,
|
||||||
|
HumanMessage,
|
||||||
|
OutputParserException,
|
||||||
|
get_buffer_string,
|
||||||
|
)
|
||||||
from langchain.tools import BaseTool
|
from langchain.tools import BaseTool
|
||||||
|
|
||||||
|
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
||||||
|
from core.agent.agent.calc_token_mixin import CalcTokenMixin, ExceededLLMTokensLimitError
|
||||||
|
from core.chain.llm_chain import LLMChain
|
||||||
|
from core.entities.application_entities import ModelConfigEntity
|
||||||
|
from core.entities.message_entities import lc_messages_to_prompt_messages
|
||||||
|
|
||||||
FORMAT_INSTRUCTIONS = """Use a json blob to specify a tool by providing an action key (tool name) and an action_input key (tool input).
|
FORMAT_INSTRUCTIONS = """Use a json blob to specify a tool by providing an action key (tool name) and an action_input key (tool input).
|
||||||
The nouns in the format of "Thought", "Action", "Action Input", "Final Answer" must be expressed in English.
|
The nouns in the format of "Thought", "Action", "Action Input", "Final Answer" must be expressed in English.
|
||||||
Valid "action" values: "Final Answer" or {tool_names}
|
Valid "action" values: "Final Answer" or {tool_names}
|
||||||
|
@ -2,6 +2,12 @@ import enum
|
|||||||
import logging
|
import logging
|
||||||
from typing import Optional, Union
|
from typing import Optional, Union
|
||||||
|
|
||||||
|
from langchain.agents import AgentExecutor as LCAgentExecutor
|
||||||
|
from langchain.agents import BaseMultiActionAgent, BaseSingleActionAgent
|
||||||
|
from langchain.callbacks.manager import Callbacks
|
||||||
|
from langchain.tools import BaseTool
|
||||||
|
from pydantic import BaseModel, Extra
|
||||||
|
|
||||||
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
||||||
from core.agent.agent.multi_dataset_router_agent import MultiDatasetRouterAgent
|
from core.agent.agent.multi_dataset_router_agent import MultiDatasetRouterAgent
|
||||||
from core.agent.agent.openai_function_call import AutoSummarizingOpenAIFunctionCallAgent
|
from core.agent.agent.openai_function_call import AutoSummarizingOpenAIFunctionCallAgent
|
||||||
@ -15,11 +21,6 @@ from core.memory.token_buffer_memory import TokenBufferMemory
|
|||||||
from core.model_runtime.errors.invoke import InvokeError
|
from core.model_runtime.errors.invoke import InvokeError
|
||||||
from core.tools.tool.dataset_retriever.dataset_multi_retriever_tool import DatasetMultiRetrieverTool
|
from core.tools.tool.dataset_retriever.dataset_multi_retriever_tool import DatasetMultiRetrieverTool
|
||||||
from core.tools.tool.dataset_retriever.dataset_retriever_tool import DatasetRetrieverTool
|
from core.tools.tool.dataset_retriever.dataset_retriever_tool import DatasetRetrieverTool
|
||||||
from langchain.agents import AgentExecutor as LCAgentExecutor
|
|
||||||
from langchain.agents import BaseMultiActionAgent, BaseSingleActionAgent
|
|
||||||
from langchain.callbacks.manager import Callbacks
|
|
||||||
from langchain.tools import BaseTool
|
|
||||||
from pydantic import BaseModel, Extra
|
|
||||||
|
|
||||||
|
|
||||||
class PlanningStrategy(str, enum.Enum):
|
class PlanningStrategy(str, enum.Enum):
|
||||||
|
@ -2,9 +2,14 @@ import time
|
|||||||
from typing import Generator, List, Optional, Tuple, Union, cast
|
from typing import Generator, List, Optional, Tuple, Union, cast
|
||||||
|
|
||||||
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
||||||
from core.entities.application_entities import (ApplicationGenerateEntity, AppOrchestrationConfigEntity,
|
from core.entities.application_entities import (
|
||||||
ExternalDataVariableEntity, InvokeFrom, ModelConfigEntity,
|
ApplicationGenerateEntity,
|
||||||
PromptTemplateEntity)
|
AppOrchestrationConfigEntity,
|
||||||
|
ExternalDataVariableEntity,
|
||||||
|
InvokeFrom,
|
||||||
|
ModelConfigEntity,
|
||||||
|
PromptTemplateEntity,
|
||||||
|
)
|
||||||
from core.features.annotation_reply import AnnotationReplyFeature
|
from core.features.annotation_reply import AnnotationReplyFeature
|
||||||
from core.features.external_data_fetch import ExternalDataFetchFeature
|
from core.features.external_data_fetch import ExternalDataFetchFeature
|
||||||
from core.features.hosting_moderation import HostingModerationFeature
|
from core.features.hosting_moderation import HostingModerationFeature
|
||||||
|
@ -3,28 +3,42 @@ import logging
|
|||||||
import time
|
import time
|
||||||
from typing import Generator, Optional, Union, cast
|
from typing import Generator, Optional, Union, cast
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from core.app_runner.moderation_handler import ModerationRule, OutputModerationHandler
|
from core.app_runner.moderation_handler import ModerationRule, OutputModerationHandler
|
||||||
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
||||||
from core.entities.application_entities import ApplicationGenerateEntity, InvokeFrom
|
from core.entities.application_entities import ApplicationGenerateEntity, InvokeFrom
|
||||||
from core.entities.queue_entities import (AnnotationReplyEvent, QueueAgentMessageEvent, QueueAgentThoughtEvent,
|
from core.entities.queue_entities import (
|
||||||
QueueErrorEvent, QueueMessageEndEvent, QueueMessageEvent,
|
AnnotationReplyEvent,
|
||||||
QueueMessageFileEvent, QueueMessageReplaceEvent, QueuePingEvent,
|
QueueAgentMessageEvent,
|
||||||
QueueRetrieverResourcesEvent, QueueStopEvent)
|
QueueAgentThoughtEvent,
|
||||||
|
QueueErrorEvent,
|
||||||
|
QueueMessageEndEvent,
|
||||||
|
QueueMessageEvent,
|
||||||
|
QueueMessageFileEvent,
|
||||||
|
QueueMessageReplaceEvent,
|
||||||
|
QueuePingEvent,
|
||||||
|
QueueRetrieverResourcesEvent,
|
||||||
|
QueueStopEvent,
|
||||||
|
)
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
|
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
|
||||||
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, ImagePromptMessageContent,
|
from core.model_runtime.entities.message_entities import (
|
||||||
PromptMessage, PromptMessageContentType, PromptMessageRole,
|
AssistantPromptMessage,
|
||||||
TextPromptMessageContent)
|
ImagePromptMessageContent,
|
||||||
|
PromptMessage,
|
||||||
|
PromptMessageContentType,
|
||||||
|
PromptMessageRole,
|
||||||
|
TextPromptMessageContent,
|
||||||
|
)
|
||||||
from core.model_runtime.errors.invoke import InvokeAuthorizationError, InvokeError
|
from core.model_runtime.errors.invoke import InvokeAuthorizationError, InvokeError
|
||||||
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
||||||
from core.model_runtime.utils.encoders import jsonable_encoder
|
from core.model_runtime.utils.encoders import jsonable_encoder
|
||||||
from core.prompt.prompt_template import PromptTemplateParser
|
from core.prompt.prompt_template import PromptTemplateParser
|
||||||
from core.tools.tool_file_manager import ToolFileManager
|
from core.tools.tool_file_manager import ToolFileManager
|
||||||
from core.tools.tool_manager import ToolManager
|
|
||||||
from events.message_event import message_was_created
|
from events.message_event import message_was_created
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from models.model import Conversation, Message, MessageAgentThought, MessageFile
|
from models.model import Conversation, Message, MessageAgentThought, MessageFile
|
||||||
from pydantic import BaseModel
|
|
||||||
from services.annotation_service import AppAnnotationService
|
from services.annotation_service import AppAnnotationService
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -3,11 +3,12 @@ import threading
|
|||||||
import time
|
import time
|
||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
|
from flask import Flask, current_app
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from core.application_queue_manager import PublishFrom
|
from core.application_queue_manager import PublishFrom
|
||||||
from core.moderation.base import ModerationAction, ModerationOutputsResult
|
from core.moderation.base import ModerationAction, ModerationOutputsResult
|
||||||
from core.moderation.factory import ModerationFactory
|
from core.moderation.factory import ModerationFactory
|
||||||
from flask import Flask, current_app
|
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -4,17 +4,30 @@ import threading
|
|||||||
import uuid
|
import uuid
|
||||||
from typing import Any, Generator, Optional, Tuple, Union, cast
|
from typing import Any, Generator, Optional, Tuple, Union, cast
|
||||||
|
|
||||||
|
from flask import Flask, current_app
|
||||||
|
from pydantic import ValidationError
|
||||||
|
|
||||||
from core.app_runner.assistant_app_runner import AssistantApplicationRunner
|
from core.app_runner.assistant_app_runner import AssistantApplicationRunner
|
||||||
from core.app_runner.basic_app_runner import BasicApplicationRunner
|
from core.app_runner.basic_app_runner import BasicApplicationRunner
|
||||||
from core.app_runner.generate_task_pipeline import GenerateTaskPipeline
|
from core.app_runner.generate_task_pipeline import GenerateTaskPipeline
|
||||||
from core.application_queue_manager import ApplicationQueueManager, ConversationTaskStoppedException, PublishFrom
|
from core.application_queue_manager import ApplicationQueueManager, ConversationTaskStoppedException, PublishFrom
|
||||||
from core.entities.application_entities import (AdvancedChatPromptTemplateEntity,
|
from core.entities.application_entities import (
|
||||||
AdvancedCompletionPromptTemplateEntity, AgentEntity, AgentPromptEntity,
|
AdvancedChatPromptTemplateEntity,
|
||||||
AgentToolEntity, ApplicationGenerateEntity,
|
AdvancedCompletionPromptTemplateEntity,
|
||||||
AppOrchestrationConfigEntity, DatasetEntity,
|
AgentEntity,
|
||||||
DatasetRetrieveConfigEntity, ExternalDataVariableEntity,
|
AgentPromptEntity,
|
||||||
FileUploadEntity, InvokeFrom, ModelConfigEntity, PromptTemplateEntity,
|
AgentToolEntity,
|
||||||
SensitiveWordAvoidanceEntity)
|
ApplicationGenerateEntity,
|
||||||
|
AppOrchestrationConfigEntity,
|
||||||
|
DatasetEntity,
|
||||||
|
DatasetRetrieveConfigEntity,
|
||||||
|
ExternalDataVariableEntity,
|
||||||
|
FileUploadEntity,
|
||||||
|
InvokeFrom,
|
||||||
|
ModelConfigEntity,
|
||||||
|
PromptTemplateEntity,
|
||||||
|
SensitiveWordAvoidanceEntity,
|
||||||
|
)
|
||||||
from core.entities.model_entities import ModelStatus
|
from core.entities.model_entities import ModelStatus
|
||||||
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError
|
||||||
from core.file.file_obj import FileObj
|
from core.file.file_obj import FileObj
|
||||||
@ -26,10 +39,8 @@ from core.prompt.prompt_template import PromptTemplateParser
|
|||||||
from core.provider_manager import ProviderManager
|
from core.provider_manager import ProviderManager
|
||||||
from core.tools.prompt.template import REACT_PROMPT_TEMPLATES
|
from core.tools.prompt.template import REACT_PROMPT_TEMPLATES
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from flask import Flask, current_app
|
|
||||||
from models.account import Account
|
from models.account import Account
|
||||||
from models.model import App, Conversation, EndUser, Message, MessageFile
|
from models.model import App, Conversation, EndUser, Message, MessageFile
|
||||||
from pydantic import ValidationError
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -3,15 +3,27 @@ import time
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any, Generator
|
from typing import Any, Generator
|
||||||
|
|
||||||
|
from sqlalchemy.orm import DeclarativeMeta
|
||||||
|
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
from core.entities.queue_entities import (AnnotationReplyEvent, AppQueueEvent, QueueAgentMessageEvent,
|
from core.entities.queue_entities import (
|
||||||
QueueAgentThoughtEvent, QueueErrorEvent, QueueMessage, QueueMessageEndEvent,
|
AnnotationReplyEvent,
|
||||||
QueueMessageEvent, QueueMessageFileEvent, QueueMessageReplaceEvent,
|
AppQueueEvent,
|
||||||
QueuePingEvent, QueueRetrieverResourcesEvent, QueueStopEvent)
|
QueueAgentMessageEvent,
|
||||||
|
QueueAgentThoughtEvent,
|
||||||
|
QueueErrorEvent,
|
||||||
|
QueueMessage,
|
||||||
|
QueueMessageEndEvent,
|
||||||
|
QueueMessageEvent,
|
||||||
|
QueueMessageFileEvent,
|
||||||
|
QueueMessageReplaceEvent,
|
||||||
|
QueuePingEvent,
|
||||||
|
QueueRetrieverResourcesEvent,
|
||||||
|
QueueStopEvent,
|
||||||
|
)
|
||||||
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk
|
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk
|
||||||
from extensions.ext_redis import redis_client
|
from extensions.ext_redis import redis_client
|
||||||
from models.model import MessageAgentThought, MessageFile
|
from models.model import MessageAgentThought, MessageFile
|
||||||
from sqlalchemy.orm import DeclarativeMeta
|
|
||||||
|
|
||||||
|
|
||||||
class PublishFrom(Enum):
|
class PublishFrom(Enum):
|
||||||
|
@ -3,6 +3,10 @@ import logging
|
|||||||
import time
|
import time
|
||||||
from typing import Any, Dict, List, Optional, Union, cast
|
from typing import Any, Dict, List, Optional, Union, cast
|
||||||
|
|
||||||
|
from langchain.agents import openai_functions_agent, openai_functions_multi_agent
|
||||||
|
from langchain.callbacks.base import BaseCallbackHandler
|
||||||
|
from langchain.schema import AgentAction, AgentFinish, BaseMessage, LLMResult
|
||||||
|
|
||||||
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
||||||
from core.callback_handler.entity.agent_loop import AgentLoop
|
from core.callback_handler.entity.agent_loop import AgentLoop
|
||||||
from core.entities.application_entities import ModelConfigEntity
|
from core.entities.application_entities import ModelConfigEntity
|
||||||
@ -10,9 +14,6 @@ from core.model_runtime.entities.llm_entities import LLMResult as RuntimeLLMResu
|
|||||||
from core.model_runtime.entities.message_entities import AssistantPromptMessage, PromptMessage, UserPromptMessage
|
from core.model_runtime.entities.message_entities import AssistantPromptMessage, PromptMessage, UserPromptMessage
|
||||||
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from langchain.agents import openai_functions_agent, openai_functions_multi_agent
|
|
||||||
from langchain.callbacks.base import BaseCallbackHandler
|
|
||||||
from langchain.schema import AgentAction, AgentFinish, BaseMessage, ChatGeneration, LLMResult
|
|
||||||
from models.model import Message, MessageAgentThought, MessageChain
|
from models.model import Message, MessageAgentThought, MessageChain
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
from typing import List, Union
|
from typing import List
|
||||||
|
|
||||||
|
from langchain.schema import Document
|
||||||
|
|
||||||
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
|
||||||
from core.entities.application_entities import InvokeFrom
|
from core.entities.application_entities import InvokeFrom
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from langchain.schema import Document
|
|
||||||
from models.dataset import DatasetQuery, DocumentSegment
|
from models.dataset import DatasetQuery, DocumentSegment
|
||||||
from models.model import DatasetRetrieverResource
|
from models.model import DatasetRetrieverResource
|
||||||
|
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
|
from langchain import LLMChain as LCLLMChain
|
||||||
|
from langchain.callbacks.manager import CallbackManagerForChainRun
|
||||||
|
from langchain.schema import Generation, LLMResult
|
||||||
|
from langchain.schema.language_model import BaseLanguageModel
|
||||||
|
|
||||||
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
||||||
from core.entities.application_entities import ModelConfigEntity
|
from core.entities.application_entities import ModelConfigEntity
|
||||||
from core.entities.message_entities import lc_messages_to_prompt_messages
|
from core.entities.message_entities import lc_messages_to_prompt_messages
|
||||||
from core.model_manager import ModelInstance
|
from core.model_manager import ModelInstance
|
||||||
from core.third_party.langchain.llms.fake import FakeLLM
|
from core.third_party.langchain.llms.fake import FakeLLM
|
||||||
from langchain import LLMChain as LCLLMChain
|
|
||||||
from langchain.callbacks.manager import CallbackManagerForChainRun
|
|
||||||
from langchain.schema import Generation, LLMResult
|
|
||||||
from langchain.schema.language_model import BaseLanguageModel
|
|
||||||
|
|
||||||
|
|
||||||
class LLMChain(LCLLMChain):
|
class LLMChain(LCLLMChain):
|
||||||
|
@ -3,6 +3,10 @@ from pathlib import Path
|
|||||||
from typing import List, Optional, Union
|
from typing import List, Optional, Union
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
from flask import current_app
|
||||||
|
from langchain.document_loaders import Docx2txtLoader, TextLoader
|
||||||
|
from langchain.schema import Document
|
||||||
|
|
||||||
from core.data_loader.loader.csv_loader import CSVLoader
|
from core.data_loader.loader.csv_loader import CSVLoader
|
||||||
from core.data_loader.loader.excel import ExcelLoader
|
from core.data_loader.loader.excel import ExcelLoader
|
||||||
from core.data_loader.loader.html import HTMLLoader
|
from core.data_loader.loader.html import HTMLLoader
|
||||||
@ -16,9 +20,6 @@ from core.data_loader.loader.unstructured.unstructured_pptx import UnstructuredP
|
|||||||
from core.data_loader.loader.unstructured.unstructured_text import UnstructuredTextLoader
|
from core.data_loader.loader.unstructured.unstructured_text import UnstructuredTextLoader
|
||||||
from core.data_loader.loader.unstructured.unstructured_xml import UnstructuredXmlLoader
|
from core.data_loader.loader.unstructured.unstructured_xml import UnstructuredXmlLoader
|
||||||
from extensions.ext_storage import storage
|
from extensions.ext_storage import storage
|
||||||
from flask import current_app
|
|
||||||
from langchain.document_loaders import Docx2txtLoader, TextLoader
|
|
||||||
from langchain.schema import Document
|
|
||||||
from models.model import UploadFile
|
from models.model import UploadFile
|
||||||
|
|
||||||
SUPPORT_URL_CONTENT_TYPES = ['application/pdf', 'text/plain']
|
SUPPORT_URL_CONTENT_TYPES = ['application/pdf', 'text/plain']
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import json
|
|
||||||
import logging
|
import logging
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
|
@ -3,10 +3,11 @@ import logging
|
|||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from extensions.ext_database import db
|
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
from langchain.document_loaders.base import BaseLoader
|
from langchain.document_loaders.base import BaseLoader
|
||||||
from langchain.schema import Document
|
from langchain.schema import Document
|
||||||
|
|
||||||
|
from extensions.ext_database import db
|
||||||
from models.dataset import Document as DocumentModel
|
from models.dataset import Document as DocumentModel
|
||||||
from models.source import DataSourceBinding
|
from models.source import DataSourceBinding
|
||||||
|
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
import logging
|
import logging
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from extensions.ext_storage import storage
|
|
||||||
from langchain.document_loaders import PyPDFium2Loader
|
from langchain.document_loaders import PyPDFium2Loader
|
||||||
from langchain.document_loaders.base import BaseLoader
|
from langchain.document_loaders.base import BaseLoader
|
||||||
from langchain.schema import Document
|
from langchain.schema import Document
|
||||||
|
|
||||||
|
from extensions.ext_storage import storage
|
||||||
from models.model import UploadFile
|
from models.model import UploadFile
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
from typing import Any, Dict, Optional, Sequence, cast
|
from typing import Any, Dict, Optional, Sequence, cast
|
||||||
|
|
||||||
|
from langchain.schema import Document
|
||||||
|
from sqlalchemy import func
|
||||||
|
|
||||||
from core.model_manager import ModelManager
|
from core.model_manager import ModelManager
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel
|
from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from langchain.schema import Document
|
|
||||||
from models.dataset import Dataset, DocumentSegment
|
from models.dataset import Dataset, DocumentSegment
|
||||||
from sqlalchemy import func
|
|
||||||
|
|
||||||
|
|
||||||
class DatasetDocumentStore:
|
class DatasetDocumentStore:
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
import base64
|
import base64
|
||||||
import json
|
|
||||||
import logging
|
import logging
|
||||||
from typing import List, Optional, cast
|
from typing import List, Optional, cast
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
from langchain.embeddings.base import Embeddings
|
||||||
|
from sqlalchemy.exc import IntegrityError
|
||||||
|
|
||||||
from core.model_manager import ModelInstance
|
from core.model_manager import ModelInstance
|
||||||
from core.model_runtime.entities.model_entities import ModelPropertyKey
|
from core.model_runtime.entities.model_entities import ModelPropertyKey
|
||||||
from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel
|
from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from extensions.ext_redis import redis_client
|
from extensions.ext_redis import redis_client
|
||||||
from langchain.embeddings.base import Embeddings
|
|
||||||
from libs import helper
|
from libs import helper
|
||||||
from models.dataset import Embedding
|
|
||||||
from sqlalchemy.exc import IntegrityError
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any, Literal, Optional, Union, cast
|
from typing import Any, Literal, Optional, Union
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from core.entities.provider_configuration import ProviderModelBundle
|
from core.entities.provider_configuration import ProviderModelBundle
|
||||||
from core.file.file_obj import FileObj
|
from core.file.file_obj import FileObj
|
||||||
from core.model_runtime.entities.message_entities import PromptMessageRole
|
from core.model_runtime.entities.message_entities import PromptMessageRole
|
||||||
from core.model_runtime.entities.model_entities import AIModelEntity
|
from core.model_runtime.entities.model_entities import AIModelEntity
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
|
|
||||||
class ModelConfigEntity(BaseModel):
|
class ModelConfigEntity(BaseModel):
|
||||||
|
@ -1,12 +1,19 @@
|
|||||||
import enum
|
import enum
|
||||||
from typing import Any, cast
|
from typing import Any, cast
|
||||||
|
|
||||||
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, ImagePromptMessageContent,
|
|
||||||
PromptMessage, SystemPromptMessage, TextPromptMessageContent,
|
|
||||||
ToolPromptMessage, UserPromptMessage)
|
|
||||||
from langchain.schema import AIMessage, BaseMessage, FunctionMessage, HumanMessage, SystemMessage
|
from langchain.schema import AIMessage, BaseMessage, FunctionMessage, HumanMessage, SystemMessage
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
from core.model_runtime.entities.message_entities import (
|
||||||
|
AssistantPromptMessage,
|
||||||
|
ImagePromptMessageContent,
|
||||||
|
PromptMessage,
|
||||||
|
SystemPromptMessage,
|
||||||
|
TextPromptMessageContent,
|
||||||
|
ToolPromptMessage,
|
||||||
|
UserPromptMessage,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class PromptMessageFileType(enum.Enum):
|
class PromptMessageFileType(enum.Enum):
|
||||||
IMAGE = 'image'
|
IMAGE = 'image'
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from core.model_runtime.entities.common_entities import I18nObject
|
from core.model_runtime.entities.common_entities import I18nObject
|
||||||
from core.model_runtime.entities.model_entities import ModelType, ProviderModel
|
from core.model_runtime.entities.model_entities import ModelType, ProviderModel
|
||||||
from core.model_runtime.entities.provider_entities import ProviderEntity, SimpleProviderEntity
|
from core.model_runtime.entities.provider_entities import ProviderEntity
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
|
|
||||||
class ModelStatus(Enum):
|
class ModelStatus(Enum):
|
||||||
|
@ -4,20 +4,24 @@ import logging
|
|||||||
from json import JSONDecodeError
|
from json import JSONDecodeError
|
||||||
from typing import Dict, Iterator, List, Optional, Tuple
|
from typing import Dict, Iterator, List, Optional, Tuple
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from core.entities.model_entities import ModelStatus, ModelWithProviderEntity, SimpleModelProviderEntity
|
from core.entities.model_entities import ModelStatus, ModelWithProviderEntity, SimpleModelProviderEntity
|
||||||
from core.entities.provider_entities import CustomConfiguration, SystemConfiguration, SystemConfigurationStatus
|
from core.entities.provider_entities import CustomConfiguration, SystemConfiguration, SystemConfigurationStatus
|
||||||
from core.helper import encrypter
|
from core.helper import encrypter
|
||||||
from core.helper.model_provider_cache import ProviderCredentialsCache, ProviderCredentialsCacheType
|
from core.helper.model_provider_cache import ProviderCredentialsCache, ProviderCredentialsCacheType
|
||||||
from core.model_runtime.entities.model_entities import FetchFrom, ModelType
|
from core.model_runtime.entities.model_entities import FetchFrom, ModelType
|
||||||
from core.model_runtime.entities.provider_entities import (ConfigurateMethod, CredentialFormSchema, FormType,
|
from core.model_runtime.entities.provider_entities import (
|
||||||
ProviderEntity)
|
ConfigurateMethod,
|
||||||
|
CredentialFormSchema,
|
||||||
|
FormType,
|
||||||
|
ProviderEntity,
|
||||||
|
)
|
||||||
from core.model_runtime.model_providers import model_provider_factory
|
from core.model_runtime.model_providers import model_provider_factory
|
||||||
from core.model_runtime.model_providers.__base.ai_model import AIModel
|
from core.model_runtime.model_providers.__base.ai_model import AIModel
|
||||||
from core.model_runtime.model_providers.__base.model_provider import ModelProvider
|
from core.model_runtime.model_providers.__base.model_provider import ModelProvider
|
||||||
from core.model_runtime.utils import encoders
|
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from models.provider import Provider, ProviderModel, ProviderType, TenantPreferredModelProvider
|
from models.provider import Provider, ProviderModel, ProviderType, TenantPreferredModelProvider
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
from core.model_runtime.entities.model_entities import ModelType
|
||||||
from models.provider import ProviderQuotaType
|
from models.provider import ProviderQuotaType
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
|
|
||||||
class QuotaUnit(Enum):
|
class QuotaUnit(Enum):
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk
|
||||||
|
|
||||||
|
|
||||||
class QueueEvent(Enum):
|
class QueueEvent(Enum):
|
||||||
"""
|
"""
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from models.api_based_extension import APIBasedExtensionPoint
|
from models.api_based_extension import APIBasedExtensionPoint
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import logging
|
import logging
|
||||||
from typing import List, Optional, cast
|
from typing import Optional, cast
|
||||||
|
|
||||||
|
from langchain.tools import BaseTool
|
||||||
|
|
||||||
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
from core.agent.agent.agent_llm_callback import AgentLLMCallback
|
||||||
from core.agent.agent_executor import AgentConfiguration, AgentExecutor, PlanningStrategy
|
from core.agent.agent_executor import AgentConfiguration, AgentExecutor, PlanningStrategy
|
||||||
@ -7,20 +9,20 @@ from core.application_queue_manager import ApplicationQueueManager
|
|||||||
from core.callback_handler.agent_loop_gather_callback_handler import AgentLoopGatherCallbackHandler
|
from core.callback_handler.agent_loop_gather_callback_handler import AgentLoopGatherCallbackHandler
|
||||||
from core.callback_handler.index_tool_callback_handler import DatasetIndexToolCallbackHandler
|
from core.callback_handler.index_tool_callback_handler import DatasetIndexToolCallbackHandler
|
||||||
from core.callback_handler.std_out_callback_handler import DifyStdOutCallbackHandler
|
from core.callback_handler.std_out_callback_handler import DifyStdOutCallbackHandler
|
||||||
from core.entities.application_entities import (AgentEntity, AgentToolEntity, AppOrchestrationConfigEntity, InvokeFrom,
|
from core.entities.application_entities import (
|
||||||
ModelConfigEntity)
|
AgentEntity,
|
||||||
|
AppOrchestrationConfigEntity,
|
||||||
|
InvokeFrom,
|
||||||
|
ModelConfigEntity,
|
||||||
|
)
|
||||||
from core.memory.token_buffer_memory import TokenBufferMemory
|
from core.memory.token_buffer_memory import TokenBufferMemory
|
||||||
from core.model_runtime.entities.model_entities import ModelFeature, ModelType
|
from core.model_runtime.entities.model_entities import ModelFeature, ModelType
|
||||||
from core.model_runtime.model_providers import model_provider_factory
|
from core.model_runtime.model_providers import model_provider_factory
|
||||||
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel
|
||||||
from core.tools.tool.dataset_retriever.dataset_retriever_tool import DatasetRetrieverTool
|
from core.tools.tool.dataset_retriever.dataset_retriever_tool import DatasetRetrieverTool
|
||||||
from extensions.ext_database import db
|
from extensions.ext_database import db
|
||||||
from langchain import WikipediaAPIWrapper
|
|
||||||
from langchain.callbacks.base import BaseCallbackHandler
|
|
||||||
from langchain.tools import BaseTool, Tool, WikipediaQueryRun
|
|
||||||
from models.dataset import Dataset
|
from models.dataset import Dataset
|
||||||
from models.model import Message
|
from models.model import Message
|
||||||
from pydantic import BaseModel, Field
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user