mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
This commit is contained in:
parent
fb0d5b0de7
commit
93833849c1
|
|
@ -9,7 +9,7 @@ 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
|
||||
from oss.serializers.file import FileSerializer
|
||||
|
||||
|
||||
def bytes_to_uploaded_file(file_bytes, file_name="file.txt"):
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ from langchain_core.messages import BaseMessage, HumanMessage, AIMessage
|
|||
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 oss.serializers.file import FileSerializer
|
||||
from models_provider.tools import get_model_instance_by_model_user_id
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ class BaseImageUnderstandNode(IImageUnderstandNode):
|
|||
file_id_list = [image.get('file_id') for image in image_list]
|
||||
return HumanMessage(content=[
|
||||
{'type': 'text', 'text': data['question']},
|
||||
*[{'type': 'image_url', 'image_url': {'url': f'/api/file/{file_id}'}} for file_id in file_id_list]
|
||||
*[{'type': 'image_url', 'image_url': {'url': f'/oss/file/{file_id}'}} for file_id in file_id_list]
|
||||
|
||||
])
|
||||
return HumanMessage(content=chat_record.problem_text)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ from django.core.files.uploadedfile import InMemoryUploadedFile
|
|||
|
||||
from application.flow.i_step_node import NodeResult
|
||||
from application.flow.step_node.text_to_speech_step_node.i_text_to_speech_node import ITextToSpeechNode
|
||||
from knowledge.serializers.file import FileSerializer
|
||||
from oss.serializers.file import FileSerializer
|
||||
from models_provider.tools import get_model_instance_by_model_user_id
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ class XlsxParseTableHandle(BaseParseTableHandle):
|
|||
|
||||
md_tables += md_table + '\n\n'
|
||||
|
||||
md_tables = md_tables.replace('/api/image/', '/api/file/')
|
||||
md_tables = md_tables.replace('/api/image/', '/oss/file/')
|
||||
return md_tables
|
||||
except Exception as e:
|
||||
max_kb.error(f'excel split handle error: {e}')
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@ class DocSplitHandle(BaseSplitHandle):
|
|||
doc = Document(io.BytesIO(buffer))
|
||||
content = self.to_md(doc, image_list, get_image_id_func())
|
||||
if len(image_list) > 0:
|
||||
content = content.replace('/api/image/', '/api/file/')
|
||||
content = content.replace('/api/image/', '/oss/file/')
|
||||
save_image(image_list)
|
||||
return content
|
||||
except BaseException as e:
|
||||
|
|
|
|||
|
|
@ -167,8 +167,8 @@ def write_image(zip_path: str, image_list: List[str]):
|
|||
search = re.search("\(.*\)", image)
|
||||
if search:
|
||||
text = search.group()
|
||||
if text.startswith('(/api/file/'):
|
||||
r = text.replace('(/api/file/', '').replace(')', '')
|
||||
if text.startswith('(/oss/file/'):
|
||||
r = text.replace('(/oss/file/', '').replace(')', '')
|
||||
r = r.strip().split(" ")[0]
|
||||
if not is_valid_uuid(r):
|
||||
break
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ from knowledge.models import Knowledge, Paragraph, Problem, Document, KnowledgeT
|
|||
TaskType, File, FileSourceType
|
||||
from knowledge.serializers.common import ProblemParagraphManage, BatchSerializer, \
|
||||
get_embedding_model_id_by_knowledge_id, MetaSerializer, write_image, zip_dir
|
||||
from knowledge.serializers.file import FileSerializer
|
||||
from knowledge.serializers.paragraph import ParagraphSerializers, ParagraphInstanceSerializer, \
|
||||
delete_problems_and_mappings
|
||||
from knowledge.task.embedding import embedding_by_document, delete_embedding_by_document_list, \
|
||||
|
|
@ -56,6 +55,7 @@ from knowledge.task.generate import generate_related_by_document_id
|
|||
from knowledge.task.sync import sync_web_document
|
||||
from maxkb.const import PROJECT_DIR
|
||||
from models_provider.models import Model
|
||||
from oss.serializers.file import FileSerializer
|
||||
|
||||
default_split_handle = TextSplitHandle()
|
||||
split_handles = [
|
||||
|
|
|
|||
|
|
@ -56,7 +56,5 @@ urlpatterns = [
|
|||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/problem/<int:current_page>/<int:page_size>', views.ProblemView.Page.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<str:knowledge_id>/document/<int:current_page>/<int:page_size>', views.DocumentView.Page.as_view()),
|
||||
path('workspace/<str:workspace_id>/knowledge/<int:current_page>/<int:page_size>', views.KnowledgeView.Page.as_view()),
|
||||
path('file', views.FileView.as_view()),
|
||||
path('file/<str:file_id>', views.FileView.Operate.as_view()),
|
||||
|
||||
]
|
||||
|
|
|
|||
|
|
@ -2,4 +2,3 @@ from .document import *
|
|||
from .knowledge import *
|
||||
from .paragraph import *
|
||||
from .problem import *
|
||||
from .file import *
|
||||
|
|
|
|||
|
|
@ -28,7 +28,8 @@ urlpatterns = [
|
|||
path("api/", include("knowledge.urls")),
|
||||
path("api/", include("system_manage.urls")),
|
||||
path("api/", include("application.urls")),
|
||||
path("chat/", include("chat.urls"))
|
||||
path("chat/", include("chat.urls")),
|
||||
path('oss/', include('oss.urls')),
|
||||
]
|
||||
urlpatterns += [
|
||||
path('schema/', SpectacularAPIView.as_view(), name='schema'), # schema的配置文件的路由,下面两个ui也是根据这个配置文件来生成的
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class OssConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'oss'
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
|
|
@ -0,0 +1 @@
|
|||
# coding=utf-8
|
||||
|
|
@ -65,7 +65,7 @@ class FileSerializer(serializers.Serializer):
|
|||
file_id = meta.get('file_id', uuid.uuid7())
|
||||
file = File(id=file_id, file_name=self.data.get('file').name, meta=meta)
|
||||
file.save(self.data.get('file').read())
|
||||
return f'/api/file/{file_id}'
|
||||
return f'/oss/file/{file_id}'
|
||||
|
||||
class Operate(serializers.Serializer):
|
||||
id = serializers.UUIDField(required=True)
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
from django.urls import path
|
||||
|
||||
from . import views
|
||||
|
||||
app_name = 'oss'
|
||||
|
||||
urlpatterns = [
|
||||
path('file', views.FileView.as_view()),
|
||||
path('file/<str:file_id>', views.FileView.Operate.as_view()),
|
||||
]
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
|
|
@ -0,0 +1 @@
|
|||
from .file import *
|
||||
|
|
@ -9,7 +9,7 @@ from common.auth import TokenAuth
|
|||
from common.log.log import log
|
||||
from common.result import result
|
||||
from knowledge.api.file import FileUploadAPI, FileGetAPI
|
||||
from knowledge.serializers.file import FileSerializer
|
||||
from oss.serializers.file import FileSerializer
|
||||
|
||||
|
||||
class FileView(APIView):
|
||||
|
|
@ -426,7 +426,7 @@ class ToolSerializer(serializers.Serializer):
|
|||
)
|
||||
file.save(self.data.get('image').read())
|
||||
|
||||
tool.icon = f'/api/file/{file_id}'
|
||||
tool.icon = f'/oss/file/{file_id}'
|
||||
tool.save()
|
||||
|
||||
return tool.icon
|
||||
|
|
|
|||
Loading…
Reference in New Issue