浏览代码

bump version to 0.5.3 (#2306)

tags/0.5.3
takatost 1年前
父节点
当前提交
9f637ead38
没有帐户链接到提交者的电子邮件
共有 100 个文件被更改,包括 309 次插入363 次删除
  1. 1
    1
      api/app.py
  2. 1
    1
      api/config.py
  3. 1
    0
      api/constants/languages.py
  4. 2
    2
      api/controllers/console/__init__.py
  5. 1
    1
      api/controllers/console/admin.py
  6. 2
    1
      api/controllers/console/app/app.py
  7. 1
    1
      api/controllers/console/app/site.py
  8. 1
    1
      api/controllers/console/auth/activate.py
  9. 1
    1
      api/controllers/console/datasets/file.py
  10. 2
    2
      api/controllers/console/explore/message.py
  11. 2
    2
      api/controllers/console/explore/parameter.py
  12. 1
    1
      api/controllers/console/explore/recommended_app.py
  13. 1
    0
      api/controllers/console/init_validate.py
  14. 1
    1
      api/controllers/console/setup.py
  15. 1
    1
      api/controllers/console/workspace/account.py
  16. 3
    4
      api/controllers/console/workspace/members.py
  17. 6
    8
      api/controllers/console/workspace/tool_providers.py
  18. 1
    2
      api/controllers/console/wraps.py
  19. 1
    2
      api/controllers/files/__init__.py
  20. 2
    2
      api/controllers/files/tool_files.py
  21. 3
    4
      api/controllers/service_api/app/app.py
  22. 1
    1
      api/controllers/service_api/dataset/dataset.py
  23. 1
    2
      api/controllers/service_api/index.py
  24. 3
    4
      api/controllers/web/app.py
  25. 9
    7
      api/core/app_runner/app_runner.py
  26. 3
    4
      api/core/app_runner/assistant_app_runner.py
  27. 1
    2
      api/core/app_runner/basic_app_runner.py
  28. 7
    7
      api/core/app_runner/generate_task_pipeline.py
  29. 4
    3
      api/core/application_manager.py
  30. 4
    4
      api/core/application_queue_manager.py
  31. 2
    1
      api/core/callback_handler/agent_tool_callback_handler.py
  32. 1
    0
      api/core/data_loader/loader/unstructured/unstructured_ppt.py
  33. 1
    2
      api/core/embedding/cached_embedding.py
  34. 2
    3
      api/core/entities/application_entities.py
  35. 8
    9
      api/core/features/agent_runner.py
  36. 18
    23
      api/core/features/assistant_base_runner.py
  37. 10
    13
      api/core/features/assistant_cot_runner.py
  38. 7
    12
      api/core/features/assistant_fc_runner.py
  39. 2
    2
      api/core/file/message_file_parser.py
  40. 1
    1
      api/core/hosting_configuration.py
  41. 1
    1
      api/core/indexing_runner.py
  42. 1
    1
      api/core/model_manager.py
  43. 2
    3
      api/core/model_runtime/model_providers/__base/tts_model.py
  44. 5
    6
      api/core/model_runtime/model_providers/bedrock/llm/llm.py
  45. 2
    1
      api/core/model_runtime/model_providers/chatglm/llm/llm.py
  46. 8
    9
      api/core/model_runtime/model_providers/cohere/llm/llm.py
  47. 2
    3
      api/core/model_runtime/model_providers/cohere/text_embedding/text_embedding.py
  48. 1
    1
      api/core/model_runtime/model_providers/minimax/llm/llm.py
  49. 11
    12
      api/core/model_runtime/model_providers/ollama/llm/llm.py
  50. 7
    8
      api/core/model_runtime/model_providers/ollama/text_embedding/text_embedding.py
  51. 4
    5
      api/core/model_runtime/model_providers/openai/tts/tts.py
  52. 2
    3
      api/core/model_runtime/model_providers/tongyi/llm/llm.py
  53. 5
    6
      api/core/model_runtime/model_providers/tongyi/tts/tts.py
  54. 4
    4
      api/core/model_runtime/model_providers/xinference/llm/llm.py
  55. 2
    2
      api/core/model_runtime/model_providers/xinference/text_embedding/text_embedding.py
  56. 1
    1
      api/core/model_runtime/model_providers/xinference/xinference_helper.py
  57. 8
    5
      api/core/model_runtime/model_providers/zhipuai/llm/llm.py
  58. 1
    1
      api/core/model_runtime/model_providers/zhipuai/text_embedding/text_embedding.py
  59. 4
    15
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/__init__.py
  60. 7
    7
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/_client.py
  61. 1
    1
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/__init__.py
  62. 3
    3
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/chat/async_completions.py
  63. 3
    2
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/chat/chat.py
  64. 2
    2
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/chat/completions.py
  65. 2
    2
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/embeddings.py
  66. 2
    4
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/files.py
  67. 2
    1
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/fine_tuning/fine_tuning.py
  68. 3
    10
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/fine_tuning/jobs.py
  69. 2
    2
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/images.py
  70. 1
    0
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_base_api.py
  71. 2
    12
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_base_type.py
  72. 1
    6
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_files.py
  73. 2
    8
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_http_client.py
  74. 3
    5
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_request_opt.py
  75. 2
    2
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_response.py
  76. 1
    1
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_sse_client.py
  77. 1
    1
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_utils.py
  78. 3
    1
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/embeddings.py
  79. 1
    1
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/file_object.py
  80. 2
    2
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/fine_tuning/fine_tuning_job.py
  81. 2
    2
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/fine_tuning/fine_tuning_job_event.py
  82. 1
    1
      api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/image.py
  83. 3
    2
      api/core/tools/entities/tool_bundle.py
  84. 3
    2
      api/core/tools/entities/tool_entities.py
  85. 3
    2
      api/core/tools/entities/user_entities.py
  86. 7
    9
      api/core/tools/model/tool_model_manager.py
  87. 6
    5
      api/core/tools/provider/api_tool_provider.py
  88. 5
    6
      api/core/tools/provider/app_tool_provider.py
  89. 2
    1
      api/core/tools/provider/builtin/_positions.py
  90. 4
    3
      api/core/tools/provider/builtin/azuredalle/azuredalle.py
  91. 4
    4
      api/core/tools/provider/builtin/azuredalle/tools/dalle3.py
  92. 2
    3
      api/core/tools/provider/builtin/chart/chart.py
  93. 5
    4
      api/core/tools/provider/builtin/chart/tools/bar.py
  94. 5
    4
      api/core/tools/provider/builtin/chart/tools/line.py
  95. 5
    4
      api/core/tools/provider/builtin/chart/tools/pie.py
  96. 4
    3
      api/core/tools/provider/builtin/dalle/dalle.py
  97. 4
    4
      api/core/tools/provider/builtin/dalle/tools/dalle2.py
  98. 4
    4
      api/core/tools/provider/builtin/dalle/tools/dalle3.py
  99. 3
    2
      api/core/tools/provider/builtin/gaode/gaode.py
  100. 0
    0
      api/core/tools/provider/builtin/gaode/tools/gaode_weather.py

+ 1
- 1
api/app.py 查看文件

from flask_cors import CORS from flask_cors import CORS
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, web, tools
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

+ 1
- 1
api/config.py 查看文件

# ------------------------ # ------------------------
# General Configurations. # General Configurations.
# ------------------------ # ------------------------
self.CURRENT_VERSION = "0.5.2"
self.CURRENT_VERSION = "0.5.3"
self.COMMIT_SHA = get_env('COMMIT_SHA') self.COMMIT_SHA = get_env('COMMIT_SHA')
self.EDITION = "SELF_HOSTED" self.EDITION = "SELF_HOSTED"
self.DEPLOY_ENV = get_env('DEPLOY_ENV') self.DEPLOY_ENV = get_env('DEPLOY_ENV')

+ 1
- 0
api/constants/languages.py 查看文件



import json import json

from models.model import AppModelConfig from models.model import AppModelConfig


languages = ['en-US', 'zh-Hans', 'pt-BR', 'es-ES', 'fr-FR', 'de-DE', 'ja-JP', 'ko-KR', 'ru-RU', 'it-IT'] languages = ['en-US', 'zh-Hans', 'pt-BR', 'es-ES', 'fr-FR', 'de-DE', 'ja-JP', 'ko-KR', 'ru-RU', 'it-IT']

+ 2
- 2
api/controllers/console/__init__.py 查看文件

model_config, site, statistic) model_config, site, statistic)
# Import auth controllers # Import auth controllers
from .auth import activate, data_source_oauth, login, oauth from .auth import activate, data_source_oauth, login, oauth
# Import billing controllers
from .billing import billing
# Import datasets controllers # Import datasets controllers
from .datasets import data_source, datasets, datasets_document, datasets_segments, file, hit_testing from .datasets import data_source, datasets, datasets_document, datasets_segments, file, hit_testing
# Import explore controllers # Import explore controllers
from .explore import audio, completion, conversation, installed_app, message, parameter, recommended_app, saved_message from .explore import audio, completion, conversation, installed_app, message, parameter, recommended_app, saved_message
# Import workspace controllers # Import workspace controllers
from .workspace import account, members, model_providers, models, tool_providers, workspace from .workspace import account, members, model_providers, models, tool_providers, workspace
# Import billing controllers
from .billing import billing

+ 1
- 1
api/controllers/console/admin.py 查看文件

import os import os
from functools import wraps from functools import wraps


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 import request
from flask_restful import Resource, reqparse from flask_restful import Resource, reqparse
from constants.languages import supported_language
from models.model import App, InstalledApp, RecommendedApp from models.model import App, InstalledApp, RecommendedApp
from werkzeug.exceptions import NotFound, Unauthorized from werkzeug.exceptions import NotFound, Unauthorized



+ 2
- 1
api/controllers/console/app/app.py 查看文件

import logging import logging
from datetime import datetime from datetime import datetime


from constants.model_template import model_templates
from constants.languages import demo_model_templates, languages from constants.languages import demo_model_templates, languages
from constants.model_template import model_templates
from controllers.console import api from controllers.console import api
from controllers.console.app.error import AppNotFoundError, ProviderNotInitializeError from controllers.console.app.error import AppNotFoundError, ProviderNotInitializeError
from controllers.console.setup import setup_required from controllers.console.setup import setup_required
from services.app_model_config_service import AppModelConfigService from services.app_model_config_service import AppModelConfigService
from werkzeug.exceptions import Forbidden from werkzeug.exceptions import Forbidden



def _get_app(app_id, tenant_id): def _get_app(app_id, tenant_id):
app = db.session.query(App).filter(App.id == app_id, App.tenant_id == tenant_id).first() app = db.session.query(App).filter(App.id == app_id, App.tenant_id == tenant_id).first()
if not app: if not app:

+ 1
- 1
api/controllers/console/app/site.py 查看文件

# -*- coding:utf-8 -*- # -*- coding:utf-8 -*-
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
from controllers.console.setup import setup_required from controllers.console.setup import setup_required
from fields.app_fields import app_site_fields from fields.app_fields import app_site_fields
from flask_login import current_user from flask_login import current_user
from flask_restful import Resource, marshal_with, reqparse from flask_restful import Resource, marshal_with, reqparse
from constants.languages import supported_language
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 from werkzeug.exceptions import Forbidden, NotFound

+ 1
- 1
api/controllers/console/auth/activate.py 查看文件

import secrets import secrets
from datetime import datetime from datetime import datetime


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 flask_restful import Resource, reqparse
from libs.helper import email, str_len, timezone from libs.helper import email, str_len, timezone
from constants.languages import supported_language
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, Tenant
from services.account_service import RegisterService from services.account_service import RegisterService

+ 1
- 1
api/controllers/console/datasets/file.py 查看文件

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
from libs.login import login_required from libs.login import login_required
from services.file_service import FileService, ALLOWED_EXTENSIONS, UNSTRUSTURED_ALLOWED_EXTENSIONS
from services.file_service import ALLOWED_EXTENSIONS, UNSTRUSTURED_ALLOWED_EXTENSIONS, FileService


PREVIEW_WORDS_LIMIT = 3000 PREVIEW_WORDS_LIMIT = 3000



+ 2
- 2
api/controllers/console/explore/message.py 查看文件

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 flask import Response, stream_with_context
from flask_login import current_user from flask_login import current_user
from flask_restful import marshal_with, reqparse, fields
from flask_restful import fields, marshal_with, reqparse
from flask_restful.inputs import int_range from flask_restful.inputs import int_range
from libs.helper import uuid_value, TimestampField
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

+ 2
- 2
api/controllers/console/explore/parameter.py 查看文件



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 flask import current_app from flask import current_app
from flask_restful import fields, marshal_with from flask_restful import fields, marshal_with
from models.model import InstalledApp, AppModelConfig
from models.model import AppModelConfig, InstalledApp
from models.tools import ApiToolProvider from models.tools import ApiToolProvider


from extensions.ext_database import db


class AppParameterApi(InstalledAppResource): class AppParameterApi(InstalledAppResource):
"""Resource for app variables.""" """Resource for app variables."""

+ 1
- 1
api/controllers/console/explore/recommended_app.py 查看文件

# -*- coding:utf-8 -*- # -*- coding:utf-8 -*-
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 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 sqlalchemy import and_
from constants.languages import languages


app_fields = { app_fields = {
'id': fields.String, 'id': fields.String,

+ 1
- 0
api/controllers/console/init_validate.py 查看文件

import os 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

+ 1
- 1
api/controllers/console/setup.py 查看文件

from services.account_service import AccountService, RegisterService, TenantService from services.account_service import AccountService, RegisterService, TenantService


from . import api from . import api
from .error import AlreadySetupError, NotSetupError, NotInitValidateError
from .error import AlreadySetupError, NotInitValidateError, NotSetupError
from .init_validate import get_init_validate_status from .init_validate import get_init_validate_status
from .wraps import only_edition_self_hosted from .wraps import only_edition_self_hosted



+ 1
- 1
api/controllers/console/workspace/account.py 查看文件

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 import api
from controllers.console.setup import setup_required from controllers.console.setup import setup_required
from controllers.console.workspace.error import (AccountAlreadyInitedError, CurrentPasswordIncorrectError, from controllers.console.workspace.error import (AccountAlreadyInitedError, CurrentPasswordIncorrectError,
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 libs.helper import TimestampField, timezone from libs.helper import TimestampField, timezone
from constants.languages import supported_language
from libs.login import login_required from libs.login import login_required
from models.account import AccountIntegrate, InvitationCode from models.account import AccountIntegrate, InvitationCode
from services.account_service import AccountService from services.account_service import AccountService

+ 3
- 4
api/controllers/console/workspace/members.py 查看文件

# -*- 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

+ 6
- 8
api/controllers/console/workspace/tool_providers.py 查看文件

import io
import json import json


from libs.login import login_required
from flask_login import current_user
from flask_restful import Resource, reqparse
from flask import send_file
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 services.tools_manage_service import ToolManageService from services.tools_manage_service import ToolManageService
from werkzeug.exceptions import Forbidden


import io


class ToolProviderListApi(Resource): class ToolProviderListApi(Resource):
@setup_required @setup_required

+ 1
- 2
api/controllers/console/wraps.py 查看文件

# -*- coding:utf-8 -*- # -*- coding:utf-8 -*-
import json import json
from functools import wraps from functools import wraps
from flask import request


from controllers.console.workspace.error import AccountNotInitializedError from controllers.console.workspace.error import AccountNotInitializedError
from flask import abort, current_app
from flask import abort, current_app, request
from flask_login import current_user from flask_login import current_user
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
- 2
api/controllers/files/__init__.py 查看文件

api = ExternalApi(bp) api = ExternalApi(bp)




from . import image_preview
from . import tool_files
from . import image_preview, tool_files

+ 2
- 2
api/controllers/files/tool_files.py 查看文件

from controllers.files import api 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 libs.exception import BaseHTTPException
from werkzeug.exceptions import NotFound, Forbidden
from werkzeug.exceptions import Forbidden, NotFound


from core.tools.tool_file_manager import ToolFileManager


class ToolFilePreviewApi(Resource): class ToolFilePreviewApi(Resource):
def get(self, file_id, extension): def get(self, file_id, extension):

+ 3
- 4
api/controllers/service_api/app/app.py 查看文件

# -*- coding:utf-8 -*- # -*- coding:utf-8 -*-
import json

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 flask import current_app from flask import current_app
from flask_restful import fields, marshal_with 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


import json

from extensions.ext_database import db



class AppParameterApi(AppApiResource): class AppParameterApi(AppApiResource):
"""Resource for app variables.""" """Resource for app variables."""

+ 1
- 1
api/controllers/service_api/dataset/dataset.py 查看文件

from models.dataset import Dataset
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
from flask import request from flask import request
from flask_restful import marshal, reqparse from flask_restful import marshal, reqparse
from libs.login import current_user from libs.login import current_user
from models.dataset import Dataset
from services.dataset_service import DatasetService from services.dataset_service import DatasetService





+ 1
- 2
api/controllers/service_api/index.py 查看文件

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):

+ 3
- 4
api/controllers/web/app.py 查看文件

# -*- coding:utf-8 -*- # -*- coding:utf-8 -*-
import json

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 flask import current_app from flask import current_app
from flask_restful import fields, marshal_with 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


from extensions.ext_database import db

import json



class AppParameterApi(WebApiResource): class AppParameterApi(WebApiResource):
"""Resource for app variables.""" """Resource for app variables."""

+ 9
- 7
api/core/app_runner/app_runner.py 查看文件

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 AppOrchestrationConfigEntity, ModelConfigEntity, \
PromptTemplateEntity, ExternalDataVariableEntity, ApplicationGenerateEntity, InvokeFrom
from core.entities.application_entities import (ApplicationGenerateEntity, AppOrchestrationConfigEntity,
ExternalDataVariableEntity, InvokeFrom, ModelConfigEntity,
PromptTemplateEntity)
from core.features.annotation_reply import AnnotationReplyFeature
from core.features.external_data_fetch import ExternalDataFetchFeature
from core.features.hosting_moderation import HostingModerationFeature
from core.features.moderation import ModerationFeature
from core.file.file_obj import FileObj from core.file.file_obj import FileObj
from core.memory.token_buffer_memory import TokenBufferMemory from core.memory.token_buffer_memory import TokenBufferMemory
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.model_entities import ModelPropertyKey from core.model_runtime.entities.model_entities import ModelPropertyKey
from core.model_runtime.errors.invoke import InvokeBadRequestError from core.model_runtime.errors.invoke import InvokeBadRequestError
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.features.hosting_moderation import HostingModerationFeature
from core.features.moderation import ModerationFeature
from core.features.external_data_fetch import ExternalDataFetchFeature
from core.features.annotation_reply import AnnotationReplyFeature
from core.prompt.prompt_transform import PromptTransform from core.prompt.prompt_transform import PromptTransform
from models.model import App, MessageAnnotation, Message
from models.model import App, Message, MessageAnnotation



class AppRunner: class AppRunner:
def get_pre_calculate_rest_tokens(self, app_record: App, def get_pre_calculate_rest_tokens(self, app_record: App,

+ 3
- 4
api/core/app_runner/assistant_app_runner.py 查看文件

from typing import cast from typing import cast


from core.app_runner.app_runner import AppRunner from core.app_runner.app_runner import AppRunner
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
from core.entities.application_entities import AgentEntity, ApplicationGenerateEntity, ModelConfigEntity
from core.features.assistant_cot_runner import AssistantCotApplicationRunner from core.features.assistant_cot_runner import AssistantCotApplicationRunner
from core.features.assistant_fc_runner import AssistantFunctionCallApplicationRunner from core.features.assistant_fc_runner import AssistantFunctionCallApplicationRunner
from core.entities.application_entities import ApplicationGenerateEntity, ModelConfigEntity, \
AgentEntity
from core.application_queue_manager import ApplicationQueueManager, PublishFrom
from core.memory.token_buffer_memory import TokenBufferMemory from core.memory.token_buffer_memory import TokenBufferMemory
from core.model_manager import ModelInstance from core.model_manager import ModelInstance
from core.model_runtime.entities.llm_entities import LLMUsage from core.model_runtime.entities.llm_entities import LLMUsage
from core.moderation.base import ModerationException from core.moderation.base import ModerationException
from core.tools.entities.tool_entities import ToolRuntimeVariablePool from core.tools.entities.tool_entities import ToolRuntimeVariablePool
from extensions.ext_database import db from extensions.ext_database import db
from models.model import Conversation, Message, App, MessageChain, MessageAgentThought
from models.model import App, Conversation, Message, MessageAgentThought, MessageChain
from models.tools import ToolConversationVariables from models.tools import ToolConversationVariables


logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

+ 1
- 2
api/core/app_runner/basic_app_runner.py 查看文件

from core.app_runner.app_runner import AppRunner from core.app_runner.app_runner import AppRunner
from core.application_queue_manager import ApplicationQueueManager, PublishFrom from core.application_queue_manager import ApplicationQueueManager, PublishFrom
from core.callback_handler.index_tool_callback_handler import DatasetIndexToolCallbackHandler from core.callback_handler.index_tool_callback_handler import DatasetIndexToolCallbackHandler
from core.entities.application_entities import (ApplicationGenerateEntity, DatasetEntity,
InvokeFrom, ModelConfigEntity)
from core.entities.application_entities import ApplicationGenerateEntity, DatasetEntity, InvokeFrom, ModelConfigEntity
from core.features.dataset_retrieval import DatasetRetrievalFeature from core.features.dataset_retrieval import DatasetRetrievalFeature
from core.memory.token_buffer_memory import TokenBufferMemory from core.memory.token_buffer_memory import TokenBufferMemory
from core.model_manager import ModelInstance from core.model_manager import ModelInstance

+ 7
- 7
api/core/app_runner/generate_task_pipeline.py 查看文件

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, QueueAgentThoughtEvent, QueueErrorEvent,
QueueMessageEndEvent, QueueMessageEvent, QueueMessageReplaceEvent,
QueuePingEvent, QueueRetrieverResourcesEvent, QueueStopEvent,
QueueMessageFileEvent, QueueAgentMessageEvent)
from core.errors.error import ProviderTokenNotInitError, QuotaExceededError, ModelCurrentlyNotSupportError
from core.entities.queue_entities import (AnnotationReplyEvent, QueueAgentMessageEvent, QueueAgentThoughtEvent,
QueueErrorEvent, QueueMessageEndEvent, QueueMessageEvent,
QueueMessageFileEvent, QueueMessageReplaceEvent, QueuePingEvent,
QueueRetrieverResourcesEvent, QueueStopEvent)
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 (AssistantPromptMessage, ImagePromptMessageContent,
PromptMessage, PromptMessageContentType, PromptMessageRole, PromptMessage, PromptMessageContentType, PromptMessageRole,
TextPromptMessageContent) 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.tools.tool_file_manager import ToolFileManager
from core.tools.tool_manager import ToolManager
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_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

+ 4
- 3
api/core/application_manager.py 查看文件

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 (AdvancedChatPromptTemplateEntity,
AdvancedCompletionPromptTemplateEntity, AgentEntity, AgentToolEntity,
ApplicationGenerateEntity, AppOrchestrationConfigEntity, DatasetEntity,
AdvancedCompletionPromptTemplateEntity, AgentEntity, AgentPromptEntity,
AgentToolEntity, ApplicationGenerateEntity,
AppOrchestrationConfigEntity, DatasetEntity,
DatasetRetrieveConfigEntity, ExternalDataVariableEntity, DatasetRetrieveConfigEntity, ExternalDataVariableEntity,
FileUploadEntity, InvokeFrom, ModelConfigEntity, PromptTemplateEntity, FileUploadEntity, InvokeFrom, ModelConfigEntity, PromptTemplateEntity,
SensitiveWordAvoidanceEntity, AgentPromptEntity)
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

+ 4
- 4
api/core/application_queue_manager.py 查看文件

from typing import Any, Generator from typing import Any, Generator


from core.entities.application_entities import InvokeFrom from core.entities.application_entities import InvokeFrom
from core.entities.queue_entities import (AnnotationReplyEvent, AppQueueEvent, QueueAgentThoughtEvent, QueueErrorEvent,
QueueMessage, QueueMessageEndEvent, QueueMessageEvent,
QueueMessageReplaceEvent, QueuePingEvent, QueueRetrieverResourcesEvent,
QueueStopEvent, QueueMessageFileEvent, QueueAgentMessageEvent)
from core.entities.queue_entities import (AnnotationReplyEvent, AppQueueEvent, 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

+ 2
- 1
api/core/callback_handler/agent_tool_callback_handler.py 查看文件

import os import os
from typing import Any, Dict, Optional, Union from typing import Any, Dict, Optional, Union
from pydantic import BaseModel


from langchain.callbacks.base import BaseCallbackHandler from langchain.callbacks.base import BaseCallbackHandler
from langchain.input import print_text from langchain.input import print_text
from pydantic import BaseModel



class DifyAgentCallbackHandler(BaseCallbackHandler, BaseModel): class DifyAgentCallbackHandler(BaseCallbackHandler, BaseModel):
"""Callback Handler that prints to std out.""" """Callback Handler that prints to std out."""

+ 1
- 0
api/core/data_loader/loader/unstructured/unstructured_ppt.py 查看文件

import logging import logging
from typing import List from typing import List

from langchain.document_loaders.base import BaseLoader from langchain.document_loaders.base import BaseLoader
from langchain.schema import Document from langchain.schema import Document



+ 1
- 2
api/core/embedding/cached_embedding.py 查看文件

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 langchain.embeddings.base import Embeddings

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 models.dataset import Embedding
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError

+ 2
- 3
api/core/entities/application_entities.py 查看文件

from enum import Enum from enum import Enum
from typing import Optional, Any, cast, Literal, Union

from pydantic import BaseModel
from typing import Any, Literal, Optional, Union, cast


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):

+ 8
- 9
api/core/features/agent_runner.py 查看文件

import logging import logging
from typing import cast, Optional, List

from langchain import WikipediaAPIWrapper
from langchain.callbacks.base import BaseCallbackHandler
from langchain.tools import BaseTool, WikipediaQueryRun, Tool
from pydantic import BaseModel, Field
from typing import List, Optional, cast


from core.agent.agent.agent_llm_callback import AgentLLMCallback from core.agent.agent.agent_llm_callback import AgentLLMCallback
from core.agent.agent_executor import PlanningStrategy, AgentConfiguration, AgentExecutor
from core.agent.agent_executor import AgentConfiguration, AgentExecutor, PlanningStrategy
from core.application_queue_manager import ApplicationQueueManager 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 ModelConfigEntity, InvokeFrom, \
AgentEntity, AgentToolEntity, AppOrchestrationConfigEntity
from core.entities.application_entities import (AgentEntity, AgentToolEntity, 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__)



+ 18
- 23
api/core/features/assistant_base_runner.py 查看文件

import logging
import json import json

from typing import Optional, List, Tuple, Union, cast
import logging
from datetime import datetime from datetime import datetime
from mimetypes import guess_extension from mimetypes import guess_extension
from typing import List, Optional, Tuple, Union, cast


from core.app_runner.app_runner import AppRunner from core.app_runner.app_runner import AppRunner
from extensions.ext_database import db

from models.model import MessageAgentThought, Message, MessageFile
from models.tools import ToolConversationVariables

from core.tools.entities.tool_entities import ToolInvokeMessage, ToolInvokeMessageBinary, \
ToolRuntimeVariablePool, ToolParameter
from core.tools.tool.tool import Tool
from core.tools.tool_manager import ToolManager
from core.tools.tool_file_manager import ToolFileManager
from core.tools.tool.dataset_retriever_tool import DatasetRetrieverTool
from core.app_runner.app_runner import AppRunner
from core.application_queue_manager import ApplicationQueueManager
from core.callback_handler.agent_tool_callback_handler import DifyAgentCallbackHandler from core.callback_handler.agent_tool_callback_handler import DifyAgentCallbackHandler
from core.callback_handler.index_tool_callback_handler import DatasetIndexToolCallbackHandler from core.callback_handler.index_tool_callback_handler import DatasetIndexToolCallbackHandler
from core.entities.application_entities import ModelConfigEntity, AgentEntity, AgentToolEntity
from core.application_queue_manager import ApplicationQueueManager
from core.entities.application_entities import (AgentEntity, AgentToolEntity, ApplicationGenerateEntity,
AppOrchestrationConfigEntity, InvokeFrom, ModelConfigEntity)
from core.file.message_file_parser import FileTransferMethod
from core.memory.token_buffer_memory import TokenBufferMemory from core.memory.token_buffer_memory import TokenBufferMemory
from core.entities.application_entities import ModelConfigEntity, \
AgentEntity, AppOrchestrationConfigEntity, ApplicationGenerateEntity, InvokeFrom
from core.model_runtime.entities.message_entities import PromptMessage, PromptMessageTool
from core.model_manager import ModelInstance
from core.model_runtime.entities.llm_entities import LLMUsage from core.model_runtime.entities.llm_entities import LLMUsage
from core.model_runtime.entities.message_entities import PromptMessage, PromptMessageTool
from core.model_runtime.entities.model_entities import ModelFeature from core.model_runtime.entities.model_entities import ModelFeature
from core.model_runtime.utils.encoders import jsonable_encoder
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_manager import ModelInstance
from core.file.message_file_parser import FileTransferMethod
from core.model_runtime.utils.encoders import jsonable_encoder
from core.tools.entities.tool_entities import (ToolInvokeMessage, ToolInvokeMessageBinary, ToolParameter,
ToolRuntimeVariablePool)
from core.tools.tool.dataset_retriever_tool import DatasetRetrieverTool
from core.tools.tool.tool import Tool
from core.tools.tool_file_manager import ToolFileManager
from core.tools.tool_manager import ToolManager
from extensions.ext_database import db
from models.model import Message, MessageAgentThought, MessageFile
from models.tools import ToolConversationVariables


logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)



+ 10
- 13
api/core/features/assistant_cot_runner.py 查看文件

import json import json
import logging import logging
import re import re
from typing import Literal, Union, Generator, Dict, List
from typing import Dict, Generator, List, Literal, Union


from core.entities.application_entities import AgentPromptEntity, AgentScratchpadUnit
from core.application_queue_manager import PublishFrom from core.application_queue_manager import PublishFrom
from core.model_runtime.utils.encoders import jsonable_encoder
from core.model_runtime.entities.message_entities import PromptMessageTool, PromptMessage, \
UserPromptMessage, SystemPromptMessage, AssistantPromptMessage
from core.model_runtime.entities.llm_entities import LLMResult, LLMUsage, LLMResultChunk, LLMResultChunkDelta
from core.model_manager import ModelInstance

from core.tools.errors import ToolInvokeError, ToolNotFoundError, \
ToolNotSupportedError, ToolProviderNotFoundError, ToolParameterValidationError, \
ToolProviderCredentialValidationError

from core.entities.application_entities import AgentPromptEntity, AgentScratchpadUnit
from core.features.assistant_base_runner import BaseAssistantApplicationRunner from core.features.assistant_base_runner import BaseAssistantApplicationRunner

from core.model_manager import ModelInstance
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool,
SystemPromptMessage, UserPromptMessage)
from core.model_runtime.utils.encoders import jsonable_encoder
from core.tools.errors import (ToolInvokeError, ToolNotFoundError, ToolNotSupportedError, ToolParameterValidationError,
ToolProviderCredentialValidationError, ToolProviderNotFoundError)
from models.model import Conversation, Message from models.model import Conversation, Message



class AssistantCotApplicationRunner(BaseAssistantApplicationRunner): class AssistantCotApplicationRunner(BaseAssistantApplicationRunner):
def run(self, conversation: Conversation, def run(self, conversation: Conversation,
message: Message, message: Message,

+ 7
- 12
api/core/features/assistant_fc_runner.py 查看文件

import json import json
import logging import logging
from typing import Any, Dict, Generator, List, Tuple, Union


from typing import Union, Generator, Dict, Any, Tuple, List

from core.model_runtime.entities.message_entities import PromptMessage, UserPromptMessage,\
SystemPromptMessage, AssistantPromptMessage, ToolPromptMessage, PromptMessageTool
from core.model_runtime.entities.llm_entities import LLMResultChunk, LLMResult, LLMUsage, LLMResultChunkDelta
from core.model_manager import ModelInstance
from core.application_queue_manager import PublishFrom from core.application_queue_manager import PublishFrom

from core.tools.errors import ToolInvokeError, ToolNotFoundError, \
ToolNotSupportedError, ToolProviderNotFoundError, ToolParameterValidationError, \
ToolProviderCredentialValidationError

from core.features.assistant_base_runner import BaseAssistantApplicationRunner from core.features.assistant_base_runner import BaseAssistantApplicationRunner

from core.model_manager import ModelInstance
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMUsage
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool,
SystemPromptMessage, ToolPromptMessage, UserPromptMessage)
from core.tools.errors import (ToolInvokeError, ToolNotFoundError, ToolNotSupportedError, ToolParameterValidationError,
ToolProviderCredentialValidationError, ToolProviderNotFoundError)
from models.model import Conversation, Message, MessageAgentThought from models.model import Conversation, Message, MessageAgentThought


logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

+ 2
- 2
api/core/file/message_file_parser.py 查看文件

from typing import Dict, List, Optional, Union from typing import Dict, List, Optional, Union


import requests import requests
from core.file.file_obj import FileObj, FileTransferMethod, FileType, FileBelongsTo
from services.file_service import IMAGE_EXTENSIONS
from core.file.file_obj import FileBelongsTo, FileObj, FileTransferMethod, FileType
from extensions.ext_database import db from extensions.ext_database import db
from models.account import Account from models.account import Account
from models.model import AppModelConfig, EndUser, MessageFile, UploadFile from models.model import AppModelConfig, EndUser, MessageFile, UploadFile
from services.file_service import IMAGE_EXTENSIONS




class MessageFileParser: class MessageFileParser:

+ 1
- 1
api/core/hosting_configuration.py 查看文件



from core.entities.provider_entities import QuotaUnit, RestrictModel from core.entities.provider_entities import QuotaUnit, RestrictModel
from core.model_runtime.entities.model_entities import ModelType from core.model_runtime.entities.model_entities import ModelType
from flask import Flask, Config
from flask import Config, Flask
from models.provider import ProviderQuotaType from models.provider import ProviderQuotaType
from pydantic import BaseModel from pydantic import BaseModel



+ 1
- 1
api/core/indexing_runner.py 查看文件

from core.errors.error import ProviderTokenNotInitError from core.errors.error import ProviderTokenNotInitError
from core.generator.llm_generator import LLMGenerator from core.generator.llm_generator import LLMGenerator
from core.index.index import IndexBuilder from core.index.index import IndexBuilder
from core.model_manager import ModelManager, ModelInstance
from core.model_manager import ModelInstance, ModelManager
from core.model_runtime.entities.model_entities import ModelType, PriceType from core.model_runtime.entities.model_entities import ModelType, PriceType
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.model_providers.__base.text_embedding_model import TextEmbeddingModel from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel

+ 1
- 1
api/core/model_manager.py 查看文件

from core.model_runtime.model_providers.__base.moderation_model import ModerationModel from core.model_runtime.model_providers.__base.moderation_model import ModerationModel
from core.model_runtime.model_providers.__base.rerank_model import RerankModel from core.model_runtime.model_providers.__base.rerank_model import RerankModel
from core.model_runtime.model_providers.__base.speech2text_model import Speech2TextModel from core.model_runtime.model_providers.__base.speech2text_model import Speech2TextModel
from core.model_runtime.model_providers.__base.tts_model import TTSModel
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 core.model_runtime.model_providers.__base.tts_model import TTSModel
from core.provider_manager import ProviderManager from core.provider_manager import ProviderManager





+ 2
- 3
api/core/model_runtime/model_providers/__base/tts_model.py 查看文件

import uuid
import hashlib import hashlib
import subprocess import subprocess
import uuid
from abc import abstractmethod from abc import abstractmethod
from typing import Optional from typing import Optional


from core.model_runtime.entities.model_entities import ModelPropertyKey, ModelType
from core.model_runtime.errors.invoke import InvokeBadRequestError from core.model_runtime.errors.invoke import InvokeBadRequestError
from core.model_runtime.entities.model_entities import ModelType
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.entities.model_entities import ModelPropertyKey




class TTSModel(AIModel): class TTSModel(AIModel):

+ 5
- 6
api/core/model_runtime/model_providers/bedrock/llm/llm.py 查看文件

import json
import logging import logging
from typing import Generator, List, Optional, Union from typing import Generator, List, Optional, Union


import boto3 import boto3
from botocore.exceptions import ClientError, EndpointConnectionError, NoRegionError, ServiceNotInRegionError, UnknownServiceError
from botocore.config import Config from botocore.config import Config
import json
from botocore.exceptions import (ClientError, EndpointConnectionError, NoRegionError, ServiceNotInRegionError,
UnknownServiceError)
from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta

from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage,
PromptMessageTool, SystemPromptMessage, UserPromptMessage)
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool,
SystemPromptMessage, UserPromptMessage)
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError, from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError) InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError

+ 2
- 1
api/core/model_runtime/model_providers/chatglm/llm/llm.py 查看文件



from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageFunction, from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageFunction,
PromptMessageTool, SystemPromptMessage, UserPromptMessage, ToolPromptMessage)
PromptMessageTool, SystemPromptMessage, ToolPromptMessage,
UserPromptMessage)
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError, from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError) InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError

+ 8
- 9
api/core/model_runtime/model_providers/cohere/llm/llm.py 查看文件

import logging import logging
from typing import Generator, List, Optional, Union, cast, Tuple
from typing import Generator, List, Optional, Tuple, Union, cast


import cohere import cohere
from cohere.responses import Chat, Generations from cohere.responses import Chat, Generations
from cohere.responses.chat import StreamingChat, StreamTextGeneration, StreamEnd
from cohere.responses.generation import StreamingText, StreamingGenerations

from cohere.responses.chat import StreamEnd, StreamingChat, StreamTextGeneration
from cohere.responses.generation import StreamingGenerations, StreamingText
from core.model_runtime.entities.llm_entities import LLMMode, LLMResult, LLMResultChunk, LLMResultChunkDelta from core.model_runtime.entities.llm_entities import LLMMode, LLMResult, LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage,
PromptMessageContentType, SystemPromptMessage,
TextPromptMessageContent, UserPromptMessage,
PromptMessageTool)
PromptMessageContentType, PromptMessageTool,
SystemPromptMessage, TextPromptMessageContent,
UserPromptMessage)
from core.model_runtime.entities.model_entities import AIModelEntity, FetchFrom, I18nObject, ModelType from core.model_runtime.entities.model_entities import AIModelEntity, FetchFrom, I18nObject, ModelType
from core.model_runtime.errors.invoke import InvokeConnectionError, InvokeServerUnavailableError, InvokeError, \
InvokeRateLimitError, InvokeAuthorizationError, InvokeBadRequestError
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel



+ 2
- 3
api/core/model_runtime/model_providers/cohere/text_embedding/text_embedding.py 查看文件

import cohere import cohere
import numpy as np import numpy as np
from cohere.responses import Tokens from cohere.responses import Tokens

from core.model_runtime.entities.model_entities import PriceType from core.model_runtime.entities.model_entities import PriceType
from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult
from core.model_runtime.errors.invoke import InvokeConnectionError, InvokeServerUnavailableError, InvokeRateLimitError, \
InvokeAuthorizationError, InvokeBadRequestError, InvokeError
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel



+ 1
- 1
api/core/model_runtime/model_providers/minimax/llm/llm.py 查看文件



from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool, from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool,
SystemPromptMessage, UserPromptMessage, ToolPromptMessage)
SystemPromptMessage, ToolPromptMessage, UserPromptMessage)
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError, from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError) InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError

+ 11
- 12
api/core/model_runtime/model_providers/ollama/llm/llm.py 查看文件

import logging import logging
import re import re
from decimal import Decimal from decimal import Decimal
from typing import Optional, Generator, Union, List, cast
from typing import Generator, List, Optional, Union, cast
from urllib.parse import urljoin from urllib.parse import urljoin


import requests import requests

from core.model_runtime.entities.message_entities import PromptMessageTool, PromptMessage, AssistantPromptMessage, \
UserPromptMessage, PromptMessageContentType, ImagePromptMessageContent, \
TextPromptMessageContent, SystemPromptMessage
from core.model_runtime.entities.model_entities import I18nObject, ModelType, \
PriceConfig, AIModelEntity, FetchFrom, ModelPropertyKey, ParameterRule, ParameterType, DefaultParameterName, \
ModelFeature
from core.model_runtime.entities.llm_entities import LLMMode, LLMResult, \
LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.errors.invoke import InvokeError, InvokeAuthorizationError, InvokeBadRequestError, \
InvokeRateLimitError, InvokeServerUnavailableError, InvokeConnectionError
from core.model_runtime.entities.llm_entities import LLMMode, LLMResult, LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, ImagePromptMessageContent,
PromptMessage, PromptMessageContentType, PromptMessageTool,
SystemPromptMessage, TextPromptMessageContent,
UserPromptMessage)
from core.model_runtime.entities.model_entities import (AIModelEntity, DefaultParameterName, FetchFrom, I18nObject,
ModelFeature, ModelPropertyKey, ModelType, ParameterRule,
ParameterType, PriceConfig)
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel



+ 7
- 8
api/core/model_runtime/model_providers/ollama/text_embedding/text_embedding.py 查看文件

import json
import logging import logging
import time import time
from decimal import Decimal from decimal import Decimal
from typing import Optional from typing import Optional
from urllib.parse import urljoin from urllib.parse import urljoin
import requests
import json


import numpy as np import numpy as np
import requests
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 PriceType, ModelPropertyKey, ModelType, AIModelEntity, FetchFrom, \
PriceConfig
from core.model_runtime.entities.text_embedding_entities import TextEmbeddingResult, EmbeddingUsage
from core.model_runtime.errors.invoke import InvokeError, InvokeAuthorizationError, InvokeBadRequestError, \
InvokeRateLimitError, InvokeServerUnavailableError, InvokeConnectionError
from core.model_runtime.entities.model_entities import (AIModelEntity, FetchFrom, ModelPropertyKey, ModelType,
PriceConfig, PriceType)
from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel



+ 4
- 5
api/core/model_runtime/model_providers/openai/tts/tts.py 查看文件

import concurrent.futures
from functools import reduce
from io import BytesIO from io import BytesIO
from typing import Optional from typing import Optional
from functools import reduce
from pydub import AudioSegment


from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.errors.invoke import InvokeBadRequestError from core.model_runtime.errors.invoke import InvokeBadRequestError
from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.model_providers.__base.tts_model import TTSModel from core.model_runtime.model_providers.__base.tts_model import TTSModel
from core.model_runtime.model_providers.openai._common import _CommonOpenAI from core.model_runtime.model_providers.openai._common import _CommonOpenAI

from flask import Response, stream_with_context from flask import Response, stream_with_context
from openai import OpenAI from openai import OpenAI
import concurrent.futures
from pydub import AudioSegment




class OpenAIText2SpeechModel(_CommonOpenAI, TTSModel): class OpenAIText2SpeechModel(_CommonOpenAI, TTSModel):

+ 2
- 3
api/core/model_runtime/model_providers/tongyi/llm/llm.py 查看文件

from typing import Generator, List, Optional, Union from typing import Generator, List, Optional, Union


from dashscope import get_tokenizer

from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta, LLMMode
from core.model_runtime.entities.llm_entities import LLMMode, LLMResult, LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool, from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool,
SystemPromptMessage, UserPromptMessage) SystemPromptMessage, UserPromptMessage)
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError, from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError) InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
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 dashscope import get_tokenizer
from dashscope.api_entities.dashscope_response import DashScopeAPIResponse from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
from dashscope.common.error import (AuthenticationError, InvalidParameter, RequestFailure, ServiceUnavailableError, from dashscope.common.error import (AuthenticationError, InvalidParameter, RequestFailure, ServiceUnavailableError,
UnsupportedHTTPMethod, UnsupportedModel) UnsupportedHTTPMethod, UnsupportedModel)

+ 5
- 6
api/core/model_runtime/model_providers/tongyi/tts/tts.py 查看文件

import concurrent.futures
from functools import reduce
from io import BytesIO from io import BytesIO
from typing import Optional from typing import Optional
from functools import reduce
from pydub import AudioSegment


from core.model_runtime.errors.validate import CredentialsValidateFailedError
import dashscope
from core.model_runtime.errors.invoke import InvokeBadRequestError from core.model_runtime.errors.invoke import InvokeBadRequestError
from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.model_providers.__base.tts_model import TTSModel from core.model_runtime.model_providers.__base.tts_model import TTSModel
from core.model_runtime.model_providers.tongyi._common import _CommonTongyi from core.model_runtime.model_providers.tongyi._common import _CommonTongyi

import dashscope
from flask import Response, stream_with_context from flask import Response, stream_with_context
import concurrent.futures
from pydub import AudioSegment




class TongyiText2SpeechModel(_CommonTongyi, TTSModel): class TongyiText2SpeechModel(_CommonTongyi, TTSModel):

+ 4
- 4
api/core/model_runtime/model_providers/xinference/llm/llm.py 查看文件

from core.model_runtime.entities.common_entities import I18nObject from core.model_runtime.entities.common_entities import I18nObject
from core.model_runtime.entities.llm_entities import LLMMode, LLMResult, LLMResultChunk, LLMResultChunkDelta from core.model_runtime.entities.llm_entities import LLMMode, LLMResult, LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool, from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageTool,
SystemPromptMessage, UserPromptMessage, ToolPromptMessage)
from core.model_runtime.entities.model_entities import (AIModelEntity, FetchFrom, ModelPropertyKey, ModelType,
ParameterRule, ParameterType, ModelFeature)
SystemPromptMessage, ToolPromptMessage, UserPromptMessage)
from core.model_runtime.entities.model_entities import (AIModelEntity, FetchFrom, ModelFeature, ModelPropertyKey,
ModelType, ParameterRule, ParameterType)
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError, from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError) InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
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.model_providers.xinference.xinference_helper import (XinferenceHelper, from core.model_runtime.model_providers.xinference.xinference_helper import (XinferenceHelper,
XinferenceModelExtraParameter)
XinferenceModelExtraParameter)
from core.model_runtime.utils import helper from core.model_runtime.utils import helper
from openai import (APIConnectionError, APITimeoutError, AuthenticationError, ConflictError, InternalServerError, from openai import (APIConnectionError, APITimeoutError, AuthenticationError, ConflictError, InternalServerError,
NotFoundError, OpenAI, PermissionDeniedError, RateLimitError, Stream, UnprocessableEntityError) NotFoundError, OpenAI, PermissionDeniedError, RateLimitError, Stream, UnprocessableEntityError)

+ 2
- 2
api/core/model_runtime/model_providers/xinference/text_embedding/text_embedding.py 查看文件

from typing import Optional from typing import Optional


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 AIModelEntity, FetchFrom, ModelType, PriceType, ModelPropertyKey
from core.model_runtime.entities.model_entities import AIModelEntity, FetchFrom, ModelPropertyKey, ModelType, PriceType
from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult
from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError, from core.model_runtime.errors.invoke import (InvokeAuthorizationError, InvokeBadRequestError, InvokeConnectionError,
InvokeError, InvokeRateLimitError, InvokeServerUnavailableError) InvokeError, InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
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 core.model_runtime.model_providers.xinference.xinference_helper import XinferenceHelper
from xinference_client.client.restful.restful_client import Client, RESTfulEmbeddingModelHandle, RESTfulModelHandle from xinference_client.client.restful.restful_client import Client, RESTfulEmbeddingModelHandle, RESTfulModelHandle


from core.model_runtime.model_providers.xinference.xinference_helper import XinferenceHelper


class XinferenceTextEmbeddingModel(TextEmbeddingModel): class XinferenceTextEmbeddingModel(TextEmbeddingModel):
""" """

+ 1
- 1
api/core/model_runtime/model_providers/xinference/xinference_helper.py 查看文件

from os import path
from threading import Lock from threading import Lock
from time import time from time import time
from typing import List from typing import List
from os import path


from requests import get from requests import get
from requests.adapters import HTTPAdapter from requests.adapters import HTTPAdapter

+ 8
- 5
api/core/model_runtime/model_providers/zhipuai/llm/llm.py 查看文件

from typing import Any, Dict, Generator, List, Optional, Union from typing import Any, Dict, Generator, List, Optional, Union


from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk, LLMResultChunkDelta
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, PromptMessage, PromptMessageRole,
PromptMessageTool, SystemPromptMessage, UserPromptMessage, ToolPromptMessage,
TextPromptMessageContent, ImagePromptMessageContent, PromptMessageContentType)
from core.model_runtime.entities.message_entities import (AssistantPromptMessage, ImagePromptMessageContent,
PromptMessage, PromptMessageContentType, PromptMessageRole,
PromptMessageTool, SystemPromptMessage,
TextPromptMessageContent, ToolPromptMessage,
UserPromptMessage)
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
from core.model_runtime.utils import helper
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.model_providers.zhipuai._common import _CommonZhipuaiAI from core.model_runtime.model_providers.zhipuai._common import _CommonZhipuaiAI
from core.model_runtime.model_providers.zhipuai.zhipuai_sdk._client import ZhipuAI from core.model_runtime.model_providers.zhipuai.zhipuai_sdk._client import ZhipuAI
from core.model_runtime.model_providers.zhipuai.zhipuai_sdk.types.chat.chat_completion_chunk import ChatCompletionChunk
from core.model_runtime.model_providers.zhipuai.zhipuai_sdk.types.chat.chat_completion import Completion from core.model_runtime.model_providers.zhipuai.zhipuai_sdk.types.chat.chat_completion import Completion
from core.model_runtime.model_providers.zhipuai.zhipuai_sdk.types.chat.chat_completion_chunk import ChatCompletionChunk
from core.model_runtime.utils import helper



class ZhipuAILargeLanguageModel(_CommonZhipuaiAI, LargeLanguageModel): class ZhipuAILargeLanguageModel(_CommonZhipuaiAI, LargeLanguageModel):



+ 1
- 1
api/core/model_runtime/model_providers/zhipuai/text_embedding/text_embedding.py 查看文件

from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult
from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.errors.validate import CredentialsValidateFailedError
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 core.model_runtime.model_providers.zhipuai.zhipuai_sdk._client import ZhipuAI
from core.model_runtime.model_providers.zhipuai._common import _CommonZhipuaiAI from core.model_runtime.model_providers.zhipuai._common import _CommonZhipuaiAI
from core.model_runtime.model_providers.zhipuai.zhipuai_sdk._client import ZhipuAI
from langchain.schema.language_model import _get_token_ids_default_method from langchain.schema.language_model import _get_token_ids_default_method





+ 4
- 15
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/__init__.py 查看文件



from ._client import ZhipuAI

from .core._errors import (
ZhipuAIError,
APIStatusError,
APIRequestFailedError,
APIAuthenticationError,
APIReachLimitError,
APIInternalError,
APIServerFlowExceedError,
APIResponseError,
APIResponseValidationError,
APITimeoutError,
)

from .__version__ import __version__ from .__version__ import __version__
from ._client import ZhipuAI
from .core._errors import (APIAuthenticationError, APIInternalError, APIReachLimitError, APIRequestFailedError,
APIResponseError, APIResponseValidationError, APIServerFlowExceedError, APIStatusError,
APITimeoutError, ZhipuAIError)

+ 7
- 7
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/_client.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Union, Mapping
import os
from typing import Mapping, Union


import httpx
from httpx import Timeout
from typing_extensions import override from typing_extensions import override


from . import api_resource
from .core import _jwt_token from .core import _jwt_token
from .core._base_type import NOT_GIVEN, NotGiven
from .core._errors import ZhipuAIError from .core._errors import ZhipuAIError
from .core._http_client import HttpClient, ZHIPUAI_DEFAULT_MAX_RETRIES
from .core._base_type import NotGiven, NOT_GIVEN
from . import api_resource
import os
import httpx
from httpx import Timeout
from .core._http_client import ZHIPUAI_DEFAULT_MAX_RETRIES, HttpClient




class ZhipuAI(HttpClient): class ZhipuAI(HttpClient):

+ 1
- 1
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/__init__.py 查看文件

from .chat import chat from .chat import chat
from .images import Images
from .embeddings import Embeddings from .embeddings import Embeddings
from .files import Files from .files import Files
from .fine_tuning import fine_tuning from .fine_tuning import fine_tuning
from .images import Images

+ 3
- 3
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/chat/async_completions.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Union, List, Optional, TYPE_CHECKING
from typing import TYPE_CHECKING, List, Optional, Union


import httpx import httpx
from typing_extensions import Literal from typing_extensions import Literal


from ...core._base_api import BaseAPI from ...core._base_api import BaseAPI
from ...core._base_type import NotGiven, NOT_GIVEN, Headers
from ...core._base_type import NOT_GIVEN, Headers, NotGiven
from ...core._http_client import make_user_request_input from ...core._http_client import make_user_request_input
from ...types.chat.async_chat_completion import AsyncTaskStatus, AsyncCompletion
from ...types.chat.async_chat_completion import AsyncCompletion, AsyncTaskStatus


if TYPE_CHECKING: if TYPE_CHECKING:
from ..._client import ZhipuAI from ..._client import ZhipuAI

+ 3
- 2
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/chat/chat.py 查看文件

from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from .completions import Completions
from .async_completions import AsyncCompletions

from ...core._base_api import BaseAPI from ...core._base_api import BaseAPI
from .async_completions import AsyncCompletions
from .completions import Completions


if TYPE_CHECKING: if TYPE_CHECKING:
from ..._client import ZhipuAI from ..._client import ZhipuAI

+ 2
- 2
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/chat/completions.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Union, List, Optional, TYPE_CHECKING
from typing import TYPE_CHECKING, List, Optional, Union


import httpx import httpx
from typing_extensions import Literal from typing_extensions import Literal


from ...core._base_api import BaseAPI from ...core._base_api import BaseAPI
from ...core._base_type import NotGiven, NOT_GIVEN, Headers
from ...core._base_type import NOT_GIVEN, Headers, NotGiven
from ...core._http_client import make_user_request_input from ...core._http_client import make_user_request_input
from ...core._sse_client import StreamResponse from ...core._sse_client import StreamResponse
from ...types.chat.chat_completion import Completion from ...types.chat.chat_completion import Completion

+ 2
- 2
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/embeddings.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Union, List, Optional, TYPE_CHECKING
from typing import TYPE_CHECKING, List, Optional, Union


import httpx import httpx


from ..core._base_api import BaseAPI from ..core._base_api import BaseAPI
from ..core._base_type import NotGiven, NOT_GIVEN, Headers
from ..core._base_type import NOT_GIVEN, Headers, NotGiven
from ..core._http_client import make_user_request_input from ..core._http_client import make_user_request_input
from ..types.embeddings import EmbeddingsResponded from ..types.embeddings import EmbeddingsResponded



+ 2
- 4
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/files.py 查看文件

import httpx import httpx


from ..core._base_api import BaseAPI from ..core._base_api import BaseAPI
from ..core._base_type import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
from ..core._base_type import NOT_GIVEN, Body, FileTypes, Headers, NotGiven, Query
from ..core._files import is_file_content from ..core._files import is_file_content
from ..core._http_client import (
make_user_request_input,
)
from ..core._http_client import make_user_request_input
from ..types.file_object import FileObject, ListOfFileObject from ..types.file_object import FileObject, ListOfFileObject


if TYPE_CHECKING: if TYPE_CHECKING:

+ 2
- 1
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/fine_tuning/fine_tuning.py 查看文件

from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from .jobs import Jobs
from ...core._base_api import BaseAPI from ...core._base_api import BaseAPI
from .jobs import Jobs


if TYPE_CHECKING: if TYPE_CHECKING:
from ..._client import ZhipuAI from ..._client import ZhipuAI

+ 3
- 10
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/fine_tuning/jobs.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Optional, TYPE_CHECKING
from typing import TYPE_CHECKING, Optional


import httpx import httpx


from ...core._base_api import BaseAPI from ...core._base_api import BaseAPI
from ...core._base_type import NOT_GIVEN, Headers, NotGiven from ...core._base_type import NOT_GIVEN, Headers, NotGiven
from ...core._http_client import (
make_user_request_input,
)
from ...types.fine_tuning import (
FineTuningJob,
job_create_params,
ListOfFineTuningJob,
FineTuningJobEvent,
)
from ...core._http_client import make_user_request_input
from ...types.fine_tuning import FineTuningJob, FineTuningJobEvent, ListOfFineTuningJob, job_create_params


if TYPE_CHECKING: if TYPE_CHECKING:
from ..._client import ZhipuAI from ..._client import ZhipuAI

+ 2
- 2
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/api_resource/images.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Union, List, Optional, TYPE_CHECKING
from typing import TYPE_CHECKING, List, Optional, Union


import httpx import httpx


from ..core._base_api import BaseAPI from ..core._base_api import BaseAPI
from ..core._base_type import NotGiven, NOT_GIVEN, Headers
from ..core._base_type import NOT_GIVEN, Headers, NotGiven
from ..core._http_client import make_user_request_input from ..core._http_client import make_user_request_input
from ..types.image import ImagesResponded from ..types.image import ImagesResponded



+ 1
- 0
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_base_api.py 查看文件

from __future__ import annotations from __future__ import annotations

from typing import TYPE_CHECKING from typing import TYPE_CHECKING


if TYPE_CHECKING: if TYPE_CHECKING:

+ 2
- 12
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_base_type.py 查看文件

from __future__ import annotations from __future__ import annotations


from os import PathLike from os import PathLike
from typing import (
TYPE_CHECKING,
Type,
Union,
Mapping,
TypeVar, IO, Tuple, Sequence, Any, List,
)
from typing import IO, TYPE_CHECKING, Any, List, Mapping, Sequence, Tuple, Type, TypeVar, Union


import pydantic import pydantic
from typing_extensions import (
Literal,
override,
)

from typing_extensions import Literal, override


Query = Mapping[str, object] Query = Mapping[str, object]
Body = object Body = object

+ 1
- 6
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_files.py 查看文件

from pathlib import Path from pathlib import Path
from typing import Mapping, Sequence from typing import Mapping, Sequence


from ._base_type import (
FileTypes,
HttpxFileTypes,
HttpxRequestFiles,
RequestFiles,
)
from ._base_type import FileTypes, HttpxFileTypes, HttpxRequestFiles, RequestFiles




def is_file_content(obj: object) -> bool: def is_file_content(obj: object) -> bool:

+ 2
- 8
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_http_client.py 查看文件

from __future__ import annotations from __future__ import annotations


import inspect import inspect
from typing import (
Any,
Type,
Union,
cast,
Mapping,
)
from typing import Any, Mapping, Type, Union, cast


import httpx import httpx
import pydantic import pydantic
from httpx import URL, Timeout from httpx import URL, Timeout


from . import _errors from . import _errors
from ._base_type import NotGiven, ResponseT, Body, Headers, NOT_GIVEN, RequestFiles, Query, Data
from ._base_type import NOT_GIVEN, Body, Data, Headers, NotGiven, Query, RequestFiles, ResponseT
from ._errors import APIResponseValidationError, APIStatusError, APITimeoutError from ._errors import APIResponseValidationError, APIStatusError, APITimeoutError
from ._files import make_httpx_files from ._files import make_httpx_files
from ._request_opt import ClientRequestParam, UserRequestInput from ._request_opt import ClientRequestParam, UserRequestInput

+ 3
- 5
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_request_opt.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Union, Any, cast
from typing import Any, Union, cast


import pydantic.generics import pydantic.generics
from httpx import Timeout from httpx import Timeout
from pydantic import ConfigDict from pydantic import ConfigDict
from typing_extensions import (
Unpack, ClassVar, TypedDict
)
from typing_extensions import ClassVar, TypedDict, Unpack


from ._base_type import Body, NotGiven, Headers, HttpxRequestFiles, Query
from ._base_type import Body, Headers, HttpxRequestFiles, NotGiven, Query
from ._utils import remove_notgiven_indict from ._utils import remove_notgiven_indict





+ 2
- 2
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_response.py 查看文件

from __future__ import annotations from __future__ import annotations


import datetime import datetime
from typing import TypeVar, Generic, cast, Any, TYPE_CHECKING
from typing import TYPE_CHECKING, Any, Generic, TypeVar, cast


import httpx import httpx
import pydantic import pydantic
from typing_extensions import ParamSpec, get_origin, get_args
from typing_extensions import ParamSpec, get_args, get_origin


from ._base_type import NoneType from ._base_type import NoneType
from ._sse_client import StreamResponse from ._sse_client import StreamResponse

+ 1
- 1
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_sse_client.py 查看文件

from __future__ import annotations from __future__ import annotations


import json import json
from typing import Generic, Iterator, TYPE_CHECKING, Mapping
from typing import TYPE_CHECKING, Generic, Iterator, Mapping


import httpx import httpx



+ 1
- 1
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/core/_utils.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Mapping, Iterable, TypeVar
from typing import Iterable, Mapping, TypeVar


from ._base_type import NotGiven from ._base_type import NotGiven



+ 3
- 1
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/embeddings.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Optional, List
from typing import List, Optional


from pydantic import BaseModel from pydantic import BaseModel

from .chat.chat_completion import CompletionUsage from .chat.chat_completion import CompletionUsage

__all__ = ["Embedding", "EmbeddingsResponded"] __all__ = ["Embedding", "EmbeddingsResponded"]





+ 1
- 1
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/file_object.py 查看文件

from typing import Optional, List
from typing import List, Optional


from pydantic import BaseModel from pydantic import BaseModel



+ 2
- 2
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/fine_tuning/fine_tuning_job.py 查看文件

from typing import List, Union, Optional
from typing_extensions import Literal
from typing import List, Optional, Union


from pydantic import BaseModel from pydantic import BaseModel
from typing_extensions import Literal


__all__ = ["FineTuningJob", "Error", "Hyperparameters", "ListOfFineTuningJob" ] __all__ = ["FineTuningJob", "Error", "Hyperparameters", "ListOfFineTuningJob" ]



+ 2
- 2
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/fine_tuning/fine_tuning_job_event.py 查看文件

from typing import List, Union, Optional
from typing_extensions import Literal
from typing import List, Optional, Union


from pydantic import BaseModel from pydantic import BaseModel
from typing_extensions import Literal


__all__ = ["FineTuningJobEvent", "Metric", "JobEvent"] __all__ = ["FineTuningJobEvent", "Metric", "JobEvent"]



+ 1
- 1
api/core/model_runtime/model_providers/zhipuai/zhipuai_sdk/types/image.py 查看文件

from __future__ import annotations from __future__ import annotations


from typing import Optional, List
from typing import List, Optional


from pydantic import BaseModel from pydantic import BaseModel



+ 3
- 2
api/core/tools/entities/tool_bundle.py 查看文件

from typing import Any, Dict, List, Optional

from core.tools.entities.tool_entities import ToolParameter, ToolProviderType
from pydantic import BaseModel from pydantic import BaseModel
from typing import Dict, Optional, Any, List


from core.tools.entities.tool_entities import ToolProviderType, ToolParameter


class ApiBasedToolBundle(BaseModel): class ApiBasedToolBundle(BaseModel):
""" """

+ 3
- 2
api/core/tools/entities/tool_entities.py 查看文件

from pydantic import BaseModel, Field
from enum import Enum from enum import Enum
from typing import Optional, List, Dict, Any, Union, cast
from typing import Any, Dict, List, Optional, Union, cast


from core.tools.entities.common_entities import I18nObject from core.tools.entities.common_entities import I18nObject
from pydantic import BaseModel, Field



class ToolProviderType(Enum): class ToolProviderType(Enum):
""" """

+ 3
- 2
api/core/tools/entities/user_entities.py 查看文件

from pydantic import BaseModel
from enum import Enum from enum import Enum
from typing import List, Dict, Optional
from typing import Dict, List, Optional


from core.tools.entities.common_entities import I18nObject from core.tools.entities.common_entities import I18nObject
from core.tools.entities.tool_entities import ToolProviderCredentials from core.tools.entities.tool_entities import ToolProviderCredentials
from core.tools.tool.tool import ToolParameter from core.tools.tool.tool import ToolParameter
from pydantic import BaseModel



class UserToolProvider(BaseModel): class UserToolProvider(BaseModel):
class ProviderType(Enum): class ProviderType(Enum):

+ 7
- 9
api/core/tools/model/tool_model_manager.py 查看文件

Therefore, a model manager is needed to list/invoke/validate models. Therefore, a model manager is needed to list/invoke/validate models.
""" """


from core.model_runtime.entities.message_entities import PromptMessage
import json
from typing import List, cast

from core.model_manager import ModelManager
from core.model_runtime.entities.llm_entities import LLMResult from core.model_runtime.entities.llm_entities import LLMResult
from core.model_runtime.entities.message_entities import PromptMessage
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, InvokeBadRequestError, InvokeConnectionError,
InvokeRateLimitError, InvokeServerUnavailableError)
from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel, ModelPropertyKey from core.model_runtime.model_providers.__base.large_language_model import LargeLanguageModel, ModelPropertyKey
from core.model_runtime.errors.invoke import InvokeRateLimitError, InvokeBadRequestError, \
InvokeConnectionError, InvokeAuthorizationError, InvokeServerUnavailableError
from core.model_runtime.utils.encoders import jsonable_encoder from core.model_runtime.utils.encoders import jsonable_encoder
from core.model_manager import ModelManager

from core.tools.model.errors import InvokeModelError from core.tools.model.errors import InvokeModelError

from extensions.ext_database import db from extensions.ext_database import db

from models.tools import ToolModelInvoke from models.tools import ToolModelInvoke


from typing import List, cast
import json


class ToolModelManager: class ToolModelManager:
@staticmethod @staticmethod

+ 6
- 5
api/core/tools/provider/api_tool_provider.py 查看文件

from typing import Any, Dict, List from typing import Any, Dict, List
from core.tools.entities.tool_entities import ToolProviderType, ApiProviderAuthType, ToolProviderCredentials, ToolCredentialsOption
from core.tools.entities.common_entities import I18nObject from core.tools.entities.common_entities import I18nObject
from core.tools.entities.tool_bundle import ApiBasedToolBundle from core.tools.entities.tool_bundle import ApiBasedToolBundle
from core.tools.tool.tool import Tool
from core.tools.tool.api_tool import ApiTool
from core.tools.entities.tool_entities import (ApiProviderAuthType, ToolCredentialsOption, ToolProviderCredentials,
ToolProviderType)
from core.tools.provider.tool_provider import ToolProviderController from core.tools.provider.tool_provider import ToolProviderController

from core.tools.tool.api_tool import ApiTool
from core.tools.tool.tool import Tool
from extensions.ext_database import db from extensions.ext_database import db

from models.tools import ApiToolProvider from models.tools import ApiToolProvider



class ApiBasedToolProviderController(ToolProviderController): class ApiBasedToolProviderController(ToolProviderController):
@staticmethod @staticmethod
def from_db(db_provider: ApiToolProvider, auth_type: ApiProviderAuthType) -> 'ApiBasedToolProviderController': def from_db(db_provider: ApiToolProvider, auth_type: ApiProviderAuthType) -> 'ApiBasedToolProviderController':

+ 5
- 6
api/core/tools/provider/app_tool_provider.py 查看文件

import logging
from typing import Any, Dict, List from typing import Any, Dict, List
from core.tools.entities.tool_entities import ToolProviderType, ToolParameter, ToolParameterOption
from core.tools.tool.tool import Tool

from core.tools.entities.common_entities import I18nObject from core.tools.entities.common_entities import I18nObject
from core.tools.entities.tool_entities import ToolParameter, ToolParameterOption, ToolProviderType
from core.tools.provider.tool_provider import ToolProviderController from core.tools.provider.tool_provider import ToolProviderController
from core.tools.tool.tool import Tool
from extensions.ext_database import db from extensions.ext_database import db
from models.tools import PublishedAppTool
from models.model import App, AppModelConfig from models.model import App, AppModelConfig

import logging
from models.tools import PublishedAppTool


logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)



+ 2
- 1
api/core/tools/provider/builtin/_positions.py 查看文件

from core.tools.entities.user_entities import UserToolProvider
from typing import List from typing import List


from core.tools.entities.user_entities import UserToolProvider

position = { position = {
'google': 1, 'google': 1,
'wikipedia': 2, 'wikipedia': 2,

+ 4
- 3
api/core/tools/provider/builtin/azuredalle/azuredalle.py 查看文件

from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
from core.tools.provider.builtin.azuredalle.tools.dalle3 import DallE3Tool
from typing import Any, Dict
from core.tools.errors import ToolProviderCredentialValidationError from core.tools.errors import ToolProviderCredentialValidationError
from core.tools.provider.builtin.azuredalle.tools.dalle3 import DallE3Tool
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController


from typing import Any, Dict


class AzureDALLEProvider(BuiltinToolProviderController): class AzureDALLEProvider(BuiltinToolProviderController):
def _validate_credentials(self, credentials: Dict[str, Any]) -> None: def _validate_credentials(self, credentials: Dict[str, Any]) -> None:

+ 4
- 4
api/core/tools/provider/builtin/azuredalle/tools/dalle3.py 查看文件

from typing import Any, Dict, List, Union
from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool

from base64 import b64decode from base64 import b64decode
from os.path import join from os.path import join
from typing import Any, Dict, List, Union


from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool
from openai import AzureOpenAI from openai import AzureOpenAI



class DallE3Tool(BuiltinTool): class DallE3Tool(BuiltinTool):
def _invoke(self, def _invoke(self,
user_id: str, user_id: str,

+ 2
- 3
api/core/tools/provider/builtin/chart/chart.py 查看文件

from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
import matplotlib.pyplot as plt
from core.tools.errors import ToolProviderCredentialValidationError from core.tools.errors import ToolProviderCredentialValidationError

from core.tools.provider.builtin.chart.tools.line import LinearChartTool from core.tools.provider.builtin.chart.tools.line import LinearChartTool
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController


import matplotlib.pyplot as plt
# use a business theme # use a business theme
plt.style.use('seaborn-v0_8-darkgrid') plt.style.use('seaborn-v0_8-darkgrid')



+ 5
- 4
api/core/tools/provider/builtin/chart/tools/bar.py 查看文件

from core.tools.tool.builtin_tool import BuiltinTool
from core.tools.entities.tool_entities import ToolInvokeMessage
import matplotlib.pyplot as plt
import io import io

from typing import Any, Dict, List, Union from typing import Any, Dict, List, Union


import matplotlib.pyplot as plt
from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool


class BarChartTool(BuiltinTool): class BarChartTool(BuiltinTool):
def _invoke(self, user_id: str, tool_parameters: Dict[str, Any]) \ def _invoke(self, user_id: str, tool_parameters: Dict[str, Any]) \
-> Union[ToolInvokeMessage, List[ToolInvokeMessage]]: -> Union[ToolInvokeMessage, List[ToolInvokeMessage]]:

+ 5
- 4
api/core/tools/provider/builtin/chart/tools/line.py 查看文件

from core.tools.tool.builtin_tool import BuiltinTool
from core.tools.entities.tool_entities import ToolInvokeMessage
import matplotlib.pyplot as plt
import io import io

from typing import Any, Dict, List, Union from typing import Any, Dict, List, Union


import matplotlib.pyplot as plt
from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool


class LinearChartTool(BuiltinTool): class LinearChartTool(BuiltinTool):
def _invoke(self, def _invoke(self,
user_id: str, user_id: str,

+ 5
- 4
api/core/tools/provider/builtin/chart/tools/pie.py 查看文件

from core.tools.tool.builtin_tool import BuiltinTool
from core.tools.entities.tool_entities import ToolInvokeMessage
import matplotlib.pyplot as plt
import io import io

from typing import Any, Dict, List, Union from typing import Any, Dict, List, Union


import matplotlib.pyplot as plt
from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool


class PieChartTool(BuiltinTool): class PieChartTool(BuiltinTool):
def _invoke(self, def _invoke(self,
user_id: str, user_id: str,

+ 4
- 3
api/core/tools/provider/builtin/dalle/dalle.py 查看文件

from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
from core.tools.provider.builtin.dalle.tools.dalle2 import DallE2Tool
from typing import Any, Dict
from core.tools.errors import ToolProviderCredentialValidationError from core.tools.errors import ToolProviderCredentialValidationError
from core.tools.provider.builtin.dalle.tools.dalle2 import DallE2Tool
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController


from typing import Any, Dict


class DALLEProvider(BuiltinToolProviderController): class DALLEProvider(BuiltinToolProviderController):
def _validate_credentials(self, credentials: Dict[str, Any]) -> None: def _validate_credentials(self, credentials: Dict[str, Any]) -> None:

+ 4
- 4
api/core/tools/provider/builtin/dalle/tools/dalle2.py 查看文件

from typing import Any, Dict, List, Union
from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool

from base64 import b64decode from base64 import b64decode
from os.path import join from os.path import join
from typing import Any, Dict, List, Union


from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool
from openai import OpenAI from openai import OpenAI



class DallE2Tool(BuiltinTool): class DallE2Tool(BuiltinTool):
def _invoke(self, def _invoke(self,
user_id: str, user_id: str,

+ 4
- 4
api/core/tools/provider/builtin/dalle/tools/dalle3.py 查看文件

from typing import Any, Dict, List, Union
from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool

from base64 import b64decode from base64 import b64decode
from os.path import join from os.path import join
from typing import Any, Dict, List, Union


from core.tools.entities.tool_entities import ToolInvokeMessage
from core.tools.tool.builtin_tool import BuiltinTool
from openai import OpenAI from openai import OpenAI



class DallE3Tool(BuiltinTool): class DallE3Tool(BuiltinTool):
def _invoke(self, def _invoke(self,
user_id: str, user_id: str,

+ 3
- 2
api/core/tools/provider/builtin/gaode/gaode.py 查看文件

import requests
import urllib.parse import urllib.parse
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController

import requests
from core.tools.errors import ToolProviderCredentialValidationError from core.tools.errors import ToolProviderCredentialValidationError
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController




class GaodeProvider(BuiltinToolProviderController): class GaodeProvider(BuiltinToolProviderController):

+ 0
- 0
api/core/tools/provider/builtin/gaode/tools/gaode_weather.py 查看文件


部分文件因为文件数量过多而无法显示

正在加载...
取消
保存