mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: Resources authorization (#3183)
This commit is contained in:
parent
596dbedd39
commit
bc03deabfc
|
|
@ -16,9 +16,8 @@ from rest_framework import serializers
|
|||
|
||||
from application.chat_pipeline.I_base_chat_pipeline import IBaseChatPipelineStep, ParagraphPipelineModel
|
||||
from application.chat_pipeline.pipeline_manage import PipelineManage
|
||||
from application.serializers.application_serializers import NoReferencesSetting
|
||||
from application.serializers.application import NoReferencesSetting
|
||||
from common.field.common import InstanceField
|
||||
from common.util.field_message import ErrMessage
|
||||
|
||||
|
||||
class ModelField(serializers.Field):
|
||||
|
|
@ -53,35 +52,35 @@ class IChatStep(IBaseChatPipelineStep):
|
|||
class InstanceSerializer(serializers.Serializer):
|
||||
# 对话列表
|
||||
message_list = serializers.ListField(required=True, child=MessageField(required=True),
|
||||
error_messages=ErrMessage.list(_("Conversation list")))
|
||||
model_id = serializers.UUIDField(required=False, allow_null=True, error_messages=ErrMessage.uuid(_("Model id")))
|
||||
label=_("Conversation list"))
|
||||
model_id = serializers.UUIDField(required=False, allow_null=True, label=_("Model id"))
|
||||
# 段落列表
|
||||
paragraph_list = serializers.ListField(error_messages=ErrMessage.list(_("Paragraph List")))
|
||||
paragraph_list = serializers.ListField(label=_("Paragraph List"))
|
||||
# 对话id
|
||||
chat_id = serializers.UUIDField(required=True, error_messages=ErrMessage.uuid(_("Conversation ID")))
|
||||
chat_id = serializers.UUIDField(required=True, label=_("Conversation ID"))
|
||||
# 用户问题
|
||||
problem_text = serializers.CharField(required=True, error_messages=ErrMessage.uuid(_("User Questions")))
|
||||
problem_text = serializers.CharField(required=True, label=_("User Questions"))
|
||||
# 后置处理器
|
||||
post_response_handler = InstanceField(model_type=PostResponseHandler,
|
||||
error_messages=ErrMessage.base(_("Post-processor")))
|
||||
label=_("Post-processor"))
|
||||
# 补全问题
|
||||
padding_problem_text = serializers.CharField(required=False,
|
||||
error_messages=ErrMessage.base(_("Completion Question")))
|
||||
label=_("Completion Question"))
|
||||
# 是否使用流的形式输出
|
||||
stream = serializers.BooleanField(required=False, error_messages=ErrMessage.base(_("Streaming Output")))
|
||||
client_id = serializers.CharField(required=True, error_messages=ErrMessage.char(_("Client id")))
|
||||
client_type = serializers.CharField(required=True, error_messages=ErrMessage.char(_("Client Type")))
|
||||
stream = serializers.BooleanField(required=False, label=_("Streaming Output"))
|
||||
client_id = serializers.CharField(required=True, label=_("Client id"))
|
||||
client_type = serializers.CharField(required=True, label=_("Client Type"))
|
||||
# 未查询到引用分段
|
||||
no_references_setting = NoReferencesSetting(required=True,
|
||||
error_messages=ErrMessage.base(_("No reference segment settings")))
|
||||
label=_("No reference segment settings"))
|
||||
|
||||
user_id = serializers.UUIDField(required=True, error_messages=ErrMessage.uuid(_("User ID")))
|
||||
user_id = serializers.UUIDField(required=True, label=_("User ID"))
|
||||
|
||||
model_setting = serializers.DictField(required=True, allow_null=True,
|
||||
error_messages=ErrMessage.dict(_("Model settings")))
|
||||
label=_("Model settings"))
|
||||
|
||||
model_params_setting = serializers.DictField(required=False, allow_null=True,
|
||||
error_messages=ErrMessage.dict(_("Model parameter settings")))
|
||||
label=_("Model parameter settings"))
|
||||
|
||||
def is_valid(self, *, raise_exception=False):
|
||||
super().is_valid(raise_exception=True)
|
||||
|
|
@ -16,34 +16,35 @@ from rest_framework import serializers
|
|||
from application.chat_pipeline.I_base_chat_pipeline import IBaseChatPipelineStep, ParagraphPipelineModel
|
||||
from application.chat_pipeline.pipeline_manage import PipelineManage
|
||||
from application.models import ChatRecord
|
||||
from application.serializers.application_serializers import NoReferencesSetting
|
||||
from application.serializers.application import NoReferencesSetting
|
||||
from common.field.common import InstanceField
|
||||
from common.util.field_message import ErrMessage
|
||||
|
||||
|
||||
class IGenerateHumanMessageStep(IBaseChatPipelineStep):
|
||||
class InstanceSerializer(serializers.Serializer):
|
||||
# 问题
|
||||
problem_text = serializers.CharField(required=True, error_messages=ErrMessage.char(_("question")))
|
||||
problem_text = serializers.CharField(required=True, label=_("question"))
|
||||
# 段落列表
|
||||
paragraph_list = serializers.ListField(child=InstanceField(model_type=ParagraphPipelineModel, required=True),
|
||||
error_messages=ErrMessage.list(_("Paragraph List")))
|
||||
label=_("Paragraph List"))
|
||||
# 历史对答
|
||||
history_chat_record = serializers.ListField(child=InstanceField(model_type=ChatRecord, required=True),
|
||||
error_messages=ErrMessage.list(_("History Questions")))
|
||||
label=_("History Questions"))
|
||||
# 多轮对话数量
|
||||
dialogue_number = serializers.IntegerField(required=True, error_messages=ErrMessage.integer(_("Number of multi-round conversations")))
|
||||
dialogue_number = serializers.IntegerField(required=True, label=_("Number of multi-round conversations"))
|
||||
# 最大携带知识库段落长度
|
||||
max_paragraph_char_number = serializers.IntegerField(required=True, error_messages=ErrMessage.integer(
|
||||
_("Maximum length of the knowledge base paragraph")))
|
||||
max_paragraph_char_number = serializers.IntegerField(required=True,
|
||||
label=_("Maximum length of the knowledge base paragraph"))
|
||||
# 模板
|
||||
prompt = serializers.CharField(required=True, error_messages=ErrMessage.char(_("Prompt word")))
|
||||
prompt = serializers.CharField(required=True, label=_("Prompt word"))
|
||||
system = serializers.CharField(required=False, allow_null=True, allow_blank=True,
|
||||
error_messages=ErrMessage.char(_("System prompt words (role)")))
|
||||
label=_("System prompt words (role)"))
|
||||
# 补齐问题
|
||||
padding_problem_text = serializers.CharField(required=False, error_messages=ErrMessage.char(_("Completion problem")))
|
||||
padding_problem_text = serializers.CharField(required=False,
|
||||
label=_("Completion problem"))
|
||||
# 未查询到引用分段
|
||||
no_references_setting = NoReferencesSetting(required=True, error_messages=ErrMessage.base(_("No reference segment settings")))
|
||||
no_references_setting = NoReferencesSetting(required=True,
|
||||
label=_("No reference segment settings"))
|
||||
|
||||
def get_step_serializer(self, manage: PipelineManage) -> Type[serializers.Serializer]:
|
||||
return self.InstanceSerializer
|
||||
|
|
@ -16,22 +16,20 @@ from application.chat_pipeline.I_base_chat_pipeline import IBaseChatPipelineStep
|
|||
from application.chat_pipeline.pipeline_manage import PipelineManage
|
||||
from application.models import ChatRecord
|
||||
from common.field.common import InstanceField
|
||||
from common.util.field_message import ErrMessage
|
||||
|
||||
|
||||
class IResetProblemStep(IBaseChatPipelineStep):
|
||||
class InstanceSerializer(serializers.Serializer):
|
||||
# 问题文本
|
||||
problem_text = serializers.CharField(required=True, error_messages=ErrMessage.float(_("question")))
|
||||
problem_text = serializers.CharField(required=True, label=_("question"))
|
||||
# 历史对答
|
||||
history_chat_record = serializers.ListField(child=InstanceField(model_type=ChatRecord, required=True),
|
||||
error_messages=ErrMessage.list(_("History Questions")))
|
||||
label=_("History Questions"))
|
||||
# 大语言模型
|
||||
model_id = serializers.UUIDField(required=False, allow_null=True, error_messages=ErrMessage.uuid(_("Model id")))
|
||||
user_id = serializers.UUIDField(required=True, error_messages=ErrMessage.uuid(_("User ID")))
|
||||
model_id = serializers.UUIDField(required=False, allow_null=True, label=_("Model id"))
|
||||
user_id = serializers.UUIDField(required=True, label=_("User ID"))
|
||||
problem_optimization_prompt = serializers.CharField(required=False, max_length=102400,
|
||||
error_messages=ErrMessage.char(
|
||||
_("Question completion prompt")))
|
||||
label=_("Question completion prompt"))
|
||||
|
||||
def get_step_serializer(self, manage: PipelineManage) -> Type[serializers.Serializer]:
|
||||
return self.InstanceSerializer
|
||||
|
|
@ -13,8 +13,8 @@ from langchain.schema import HumanMessage
|
|||
|
||||
from application.chat_pipeline.step.reset_problem_step.i_reset_problem_step import IResetProblemStep
|
||||
from application.models import ChatRecord
|
||||
from common.util.split_model import flat_map
|
||||
from setting.models_provider.tools import get_model_instance_by_model_user_id
|
||||
from common.utils.split_model import flat_map
|
||||
from models_provider.tools import get_model_instance_by_model_user_id
|
||||
|
||||
prompt = _(
|
||||
"() contains the user's question. Answer the guessed user's question based on the context ({question}) Requirement: Output a complete question and put it in the <data></data> tag")
|
||||
|
|
@ -16,36 +16,35 @@ from rest_framework import serializers
|
|||
|
||||
from application.chat_pipeline.I_base_chat_pipeline import IBaseChatPipelineStep, ParagraphPipelineModel
|
||||
from application.chat_pipeline.pipeline_manage import PipelineManage
|
||||
from common.util.field_message import ErrMessage
|
||||
|
||||
|
||||
class ISearchDatasetStep(IBaseChatPipelineStep):
|
||||
class InstanceSerializer(serializers.Serializer):
|
||||
# 原始问题文本
|
||||
problem_text = serializers.CharField(required=True, error_messages=ErrMessage.char(_("question")))
|
||||
problem_text = serializers.CharField(required=True, label=_("question"))
|
||||
# 系统补全问题文本
|
||||
padding_problem_text = serializers.CharField(required=False,
|
||||
error_messages=ErrMessage.char(_("System completes question text")))
|
||||
label=_("System completes question text"))
|
||||
# 需要查询的数据集id列表
|
||||
dataset_id_list = serializers.ListField(required=True, child=serializers.UUIDField(required=True),
|
||||
error_messages=ErrMessage.list(_("Dataset id list")))
|
||||
label=_("Dataset id list"))
|
||||
# 需要排除的文档id
|
||||
exclude_document_id_list = serializers.ListField(required=True, child=serializers.UUIDField(required=True),
|
||||
error_messages=ErrMessage.list(_("List of document ids to exclude")))
|
||||
label=_("List of document ids to exclude"))
|
||||
# 需要排除向量id
|
||||
exclude_paragraph_id_list = serializers.ListField(required=True, child=serializers.UUIDField(required=True),
|
||||
error_messages=ErrMessage.list(_("List of exclusion vector ids")))
|
||||
label=_("List of exclusion vector ids"))
|
||||
# 需要查询的条数
|
||||
top_n = serializers.IntegerField(required=True,
|
||||
error_messages=ErrMessage.integer(_("Reference segment number")))
|
||||
label=_("Reference segment number"))
|
||||
# 相似度 0-1之间
|
||||
similarity = serializers.FloatField(required=True, max_value=1, min_value=0,
|
||||
error_messages=ErrMessage.float(_("Similarity")))
|
||||
label=_("Similarity"))
|
||||
search_mode = serializers.CharField(required=True, validators=[
|
||||
validators.RegexValidator(regex=re.compile("^embedding|keywords|blend$"),
|
||||
message=_("The type only supports embedding|keywords|blend"), code=500)
|
||||
], error_messages=ErrMessage.char(_("Retrieval Mode")))
|
||||
user_id = serializers.UUIDField(required=True, error_messages=ErrMessage.uuid(_("User ID")))
|
||||
], label=_("Retrieval Mode"))
|
||||
user_id = serializers.UUIDField(required=True, label=_("User ID"))
|
||||
|
||||
def get_step_serializer(self, manage: PipelineManage) -> Type[InstanceSerializer]:
|
||||
return self.InstanceSerializer
|
||||
|
|
@ -17,12 +17,12 @@ from application.chat_pipeline.I_base_chat_pipeline import ParagraphPipelineMode
|
|||
from application.chat_pipeline.step.search_dataset_step.i_search_dataset_step import ISearchDatasetStep
|
||||
from common.config.embedding_config import VectorStore, ModelManage
|
||||
from common.db.search import native_search
|
||||
from common.util.file_util import get_file_content
|
||||
from dataset.models import Paragraph, DataSet
|
||||
from embedding.models import SearchMode
|
||||
from setting.models import Model
|
||||
from setting.models_provider import get_model
|
||||
from smartdoc.conf import PROJECT_DIR
|
||||
from common.utils.common import get_file_content
|
||||
from knowledge.models import Paragraph, Knowledge
|
||||
from knowledge.models import SearchMode
|
||||
from maxkb.conf import PROJECT_DIR
|
||||
from models_provider.models import Model
|
||||
from models_provider.tools import get_model
|
||||
|
||||
|
||||
def get_model_by_id(_id, user_id):
|
||||
|
|
@ -36,12 +36,22 @@ def get_model_by_id(_id, user_id):
|
|||
|
||||
|
||||
def get_embedding_id(dataset_id_list):
|
||||
<<<<<<< Updated upstream:apps/chat/chat_pipeline/step/search_dataset_step/impl/base_search_dataset_step.py
|
||||
dataset_list = QuerySet(DataSet).filter(id__in=dataset_id_list)
|
||||
if len(set([dataset.embedding_model_id for dataset in dataset_list])) > 1:
|
||||
raise Exception(_("The vector model of the associated knowledge base is inconsistent and the segmentation cannot be recalled."))
|
||||
if len(dataset_list) == 0:
|
||||
raise Exception(_("The knowledge base setting is wrong, please reset the knowledge base"))
|
||||
return dataset_list[0].embedding_model_id
|
||||
=======
|
||||
knowledge_list = QuerySet(Knowledge).filter(id__in=dataset_id_list)
|
||||
if len(set([knowledge.embedding_mode_id for knowledge in knowledge_list])) > 1:
|
||||
raise Exception(
|
||||
_("The vector model of the associated knowledge base is inconsistent and the segmentation cannot be recalled."))
|
||||
if len(knowledge_list) == 0:
|
||||
raise Exception(_("The knowledge base setting is wrong, please reset the knowledge base"))
|
||||
return knowledge_list[0].embedding_mode_id
|
||||
>>>>>>> Stashed changes:apps/application/chat_pipeline/step/search_dataset_step/impl/base_search_dataset_step.py
|
||||
|
||||
|
||||
class BaseSearchDatasetStep(ISearchDatasetStep):
|
||||
|
|
@ -17,7 +17,7 @@ from django.db.models import QuerySet
|
|||
from rest_framework import serializers
|
||||
from rest_framework.exceptions import ValidationError, ErrorDetail
|
||||
|
||||
from chat.flow.common import Answer, NodeChunk
|
||||
from application.flow.common import Answer, NodeChunk
|
||||
from application.models import ChatRecord
|
||||
from application.models import ApplicationPublicAccessClient
|
||||
from common.constants.authentication_type import AuthenticationType
|
||||
|
|
@ -11,7 +11,7 @@ from typing import Type
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
|
||||
class ChatNodeSerializer(serializers.Serializer):
|
||||
|
|
@ -20,9 +20,9 @@ from langchain_core.messages import BaseMessage, AIMessage, AIMessageChunk, Tool
|
|||
from langchain_mcp_adapters.client import MultiServerMCPClient
|
||||
from langgraph.prebuilt import create_react_agent
|
||||
|
||||
from chat.flow.i_step_node import NodeResult, INode
|
||||
from chat.flow.step_node.ai_chat_step_node.i_chat_node import IChatNode
|
||||
from chat.flow.tools import Reasoning
|
||||
from application.flow.i_step_node import NodeResult, INode
|
||||
from application.flow.step_node.ai_chat_step_node.i_chat_node import IChatNode
|
||||
from application.flow.tools import Reasoning
|
||||
from models_provider.models import Model
|
||||
from models_provider.tools import get_model_credential, get_model_instance_by_model_user_id
|
||||
|
||||
|
|
@ -3,7 +3,7 @@ from typing import Type
|
|||
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
|
@ -5,9 +5,9 @@ import time
|
|||
import uuid
|
||||
from typing import Dict, List
|
||||
|
||||
from chat.flow.common import Answer
|
||||
from chat.flow.i_step_node import NodeResult, INode
|
||||
from chat.flow.step_node.application_node.i_application_node import IApplicationNode
|
||||
from application.flow.common import Answer
|
||||
from application.flow.i_step_node import NodeResult, INode
|
||||
from application.flow.step_node.application_node.i_application_node import IApplicationNode
|
||||
from application.models import Chat
|
||||
|
||||
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class ContainCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class EqualCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class GECompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class GTCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare import Compare
|
||||
|
||||
|
||||
class IsNotNullCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare import Compare
|
||||
|
||||
|
||||
class IsNotTrueCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare import Compare
|
||||
|
||||
|
||||
class IsNullCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare import Compare
|
||||
|
||||
|
||||
class IsTrueCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class LECompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class LenEqualCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class LenGECompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class LenGTCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class LenLECompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class LenLTCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class LTCompare(Compare):
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.step_node.condition_node.compare.compare import Compare
|
||||
from application.flow.step_node.condition_node.compare.compare import Compare
|
||||
|
||||
|
||||
class NotContainCompare(Compare):
|
||||
|
|
@ -11,7 +11,7 @@ from typing import Type
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode
|
||||
from application.flow.i_step_node import INode
|
||||
|
||||
|
||||
class ConditionSerializer(serializers.Serializer):
|
||||
|
|
@ -8,9 +8,9 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.condition_node.compare import compare_handle_list
|
||||
from chat.flow.step_node.condition_node.i_condition_node import IConditionNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.condition_node.compare import compare_handle_list
|
||||
from application.flow.step_node.condition_node.i_condition_node import IConditionNode
|
||||
|
||||
|
||||
class BaseConditionNode(IConditionNode):
|
||||
|
|
@ -10,7 +10,7 @@ from typing import Type
|
|||
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
from common.exception.app_exception import AppApiException
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
|
@ -8,8 +8,8 @@
|
|||
"""
|
||||
from typing import List
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.direct_reply_node.i_reply_node import IReplyNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.direct_reply_node.i_reply_node import IReplyNode
|
||||
|
||||
|
||||
class BaseReplyNode(IReplyNode):
|
||||
|
|
@ -5,7 +5,7 @@ from typing import Type
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
|
||||
class DocumentExtractNodeSerializer(serializers.Serializer):
|
||||
|
|
@ -5,8 +5,8 @@ import mimetypes
|
|||
from django.core.files.uploadedfile import InMemoryUploadedFile
|
||||
from django.db.models import QuerySet
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.document_extract_node.i_document_extract_node import IDocumentExtractNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.document_extract_node.i_document_extract_node import IDocumentExtractNode
|
||||
from knowledge.models import File
|
||||
from knowledge.serializers.document import split_handles, parse_table_handle_list, FileBufferHandle
|
||||
from knowledge.serializers.file import FileSerializer
|
||||
|
|
@ -10,7 +10,7 @@ from typing import Type
|
|||
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
|
@ -12,9 +12,9 @@ from typing import Dict, List
|
|||
|
||||
from langchain_core.prompts import PromptTemplate
|
||||
|
||||
from chat.flow.common import Answer
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.form_node.i_form_node import IFormNode
|
||||
from application.flow.common import Answer
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.form_node.i_form_node import IFormNode
|
||||
|
||||
|
||||
def write_context(step_variable: Dict, global_variable: Dict, node, workflow):
|
||||
|
|
@ -11,7 +11,7 @@ from typing import Type
|
|||
from django.db.models import QuerySet
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
from common.field.common import ObjectField
|
||||
|
||||
from tools.models.tool import Tool
|
||||
|
|
@ -13,8 +13,8 @@ from typing import Dict
|
|||
from django.db.models import QuerySet
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.function_lib_node.i_function_lib_node import IFunctionLibNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.function_lib_node.i_function_lib_node import IFunctionLibNode
|
||||
from common.exception.app_exception import AppApiException
|
||||
from common.utils.function_code import FunctionExecutor
|
||||
from common.utils.rsa_util import rsa_long_decrypt
|
||||
|
|
@ -12,7 +12,7 @@ from typing import Type
|
|||
from django.core import validators
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
from common.exception.app_exception import AppApiException
|
||||
from common.field.common import ObjectField
|
||||
|
||||
|
|
@ -10,8 +10,8 @@ import json
|
|||
import time
|
||||
from typing import Dict
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.function_node.i_function_node import IFunctionNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.function_node.i_function_node import IFunctionNode
|
||||
from common.utils.function_code import FunctionExecutor
|
||||
from maxkb.const import CONFIG
|
||||
|
||||
|
|
@ -5,7 +5,7 @@ from typing import Type
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
|
||||
class ImageGenerateNodeSerializer(serializers.Serializer):
|
||||
|
|
@ -5,8 +5,8 @@ from typing import List
|
|||
import requests
|
||||
from langchain_core.messages import BaseMessage, HumanMessage, AIMessage
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.image_generate_step_node.i_image_generate_node import IImageGenerateNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.image_generate_step_node.i_image_generate_node import IImageGenerateNode
|
||||
from common.utils.common import bytes_to_uploaded_file
|
||||
from knowledge.serializers.file import FileSerializer
|
||||
from models_provider.tools import get_model_instance_by_model_user_id
|
||||
|
|
@ -4,7 +4,7 @@ from typing import Type
|
|||
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
|
@ -8,8 +8,8 @@ from typing import List, Dict
|
|||
from django.db.models import QuerySet
|
||||
from langchain_core.messages import BaseMessage, HumanMessage, SystemMessage, AIMessage
|
||||
|
||||
from chat.flow.i_step_node import NodeResult, INode
|
||||
from chat.flow.step_node.image_understand_step_node.i_image_understand_node import IImageUnderstandNode
|
||||
from application.flow.i_step_node import NodeResult, INode
|
||||
from application.flow.step_node.image_understand_step_node.i_image_understand_node import IImageUnderstandNode
|
||||
from knowledge.models import File
|
||||
from models_provider.tools import get_model_instance_by_model_user_id
|
||||
|
||||
|
|
@ -5,7 +5,7 @@ from typing import Type
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
|
||||
class McpNodeSerializer(serializers.Serializer):
|
||||
|
|
@ -5,8 +5,8 @@ from typing import List
|
|||
|
||||
from langchain_mcp_adapters.client import MultiServerMCPClient
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.mcp_node.i_mcp_node import IMcpNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.mcp_node.i_mcp_node import IMcpNode
|
||||
|
||||
|
||||
class BaseMcpNode(IMcpNode):
|
||||
|
|
@ -11,7 +11,7 @@ from typing import Type
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
|
||||
class QuestionNodeSerializer(serializers.Serializer):
|
||||
|
|
@ -15,8 +15,8 @@ from django.db.models import QuerySet
|
|||
from langchain.schema import HumanMessage, SystemMessage
|
||||
from langchain_core.messages import BaseMessage
|
||||
|
||||
from chat.flow.i_step_node import NodeResult, INode
|
||||
from chat.flow.step_node.question_node.i_question_node import IQuestionNode
|
||||
from application.flow.i_step_node import NodeResult, INode
|
||||
from application.flow.step_node.question_node.i_question_node import IQuestionNode
|
||||
from models_provider.models import Model
|
||||
from models_provider.tools import get_model_instance_by_model_user_id, get_model_credential
|
||||
|
||||
|
|
@ -10,7 +10,7 @@ from typing import Type
|
|||
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
|
@ -10,8 +10,8 @@ from typing import List
|
|||
|
||||
from langchain_core.documents import Document
|
||||
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.reranker_node.i_reranker_node import IRerankerNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.reranker_node.i_reranker_node import IRerankerNode
|
||||
from models_provider.tools import get_model_instance_by_model_user_id
|
||||
|
||||
|
||||
|
|
@ -12,7 +12,7 @@ from typing import Type
|
|||
from django.core import validators
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
from common.utils.common import flat_map
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
|
@ -11,8 +11,8 @@ from typing import List, Dict
|
|||
|
||||
from django.db.models import QuerySet
|
||||
from django.db import connection
|
||||
from chat.flow.i_step_node import NodeResult
|
||||
from chat.flow.step_node.search_dataset_node.i_search_dataset_node import ISearchDatasetStepNode
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.search_dataset_node.i_search_dataset_node import ISearchDatasetStepNode
|
||||
from common.config.embedding_config import VectorStore
|
||||
from common.db.search import native_search
|
||||
from common.utils.common import get_file_content
|
||||
|
|
@ -4,7 +4,7 @@ from typing import Type
|
|||
|
||||
from rest_framework import serializers
|
||||
|
||||
from chat.flow.i_step_node import INode, NodeResult
|
||||
from application.flow.i_step_node import INode, NodeResult
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue