diff --git a/rag-service/pom.xml b/rag-service/pom.xml index ceef7bc..a5861c3 100644 --- a/rag-service/pom.xml +++ b/rag-service/pom.xml @@ -137,6 +137,10 @@ org.springframework.kafka spring-kafka + + org.springframework.ai + spring-ai-tika-document-reader + diff --git a/rag-service/src/main/java/com/balex/rag/service/impl/UserDocumentServiceImpl.java b/rag-service/src/main/java/com/balex/rag/service/impl/UserDocumentServiceImpl.java index 7a8cc78..ca25460 100644 --- a/rag-service/src/main/java/com/balex/rag/service/impl/UserDocumentServiceImpl.java +++ b/rag-service/src/main/java/com/balex/rag/service/impl/UserDocumentServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import org.springframework.ai.reader.tika.TikaDocumentReader; import java.io.IOException; import java.security.MessageDigest; @@ -177,7 +178,13 @@ public class UserDocumentServiceImpl implements UserDocumentService { } }; - List docs = new TextReader(resource).get(); + List docs; + String ext = getExtensionOrTxt(filename); + if (ext.equals("txt")) { + docs = new TextReader(resource).get(); + } else { + docs = new TikaDocumentReader(resource).get(); + } TokenTextSplitter splitter = TokenTextSplitter.builder() .withChunkSize(chunkSize) diff --git a/rag-service/src/main/resources/application.properties b/rag-service/src/main/resources/application.properties index 4014b93..9095258 100644 --- a/rag-service/src/main/resources/application.properties +++ b/rag-service/src/main/resources/application.properties @@ -24,6 +24,9 @@ spring.cloud.consul.discovery.deregister-critical-service-after=1m management.endpoints.web.exposure.include=health,info management.endpoint.health.show-details=always +spring.servlet.multipart.max-file-size=5MB +spring.servlet.multipart.max-request-size=10MB + spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/ragdb} spring.datasource.username=${SPRING_DATASOURCE_USERNAME:postgres} spring.datasource.password=${SPRING_DATASOURCE_PASSWORD:postgres} diff --git a/rag-view/src/features/constants.js b/rag-view/src/features/constants.js index 7c38d9b..a4253a4 100644 --- a/rag-view/src/features/constants.js +++ b/rag-view/src/features/constants.js @@ -29,12 +29,9 @@ export const PREFIX_UPLOAD_STREAM = "/upload-stream"; export const FORM_DATA_FILES = "files"; export const TYPE_WINDOW_UNDEFINED = "undefined"; export const TOKEN_UNDEFINED = "undefined"; -export const MAX_FILE_SIZE_KB = 10; +export const MAX_FILE_SIZE_KB = 2048; export const MAX_FILES_TO_UPLOAD = 3; export const DEFAULT_ERROR_STATUS = 500; -export const FULFILLED_BUT_NOT_SUCCESS_ERROR_STATUS = 999; -export const UNKNOWN_ERROR_AFTER_FULFILLED_QUERY = - "Unknown error after fulfilled query"; export const UNKNOWN_ERROR = "Unknown error"; export const STATUS_UNAUTHORIZED = "unauthorized"; export const HTTP_STATUS_UNAUTHORIZED_CODE = 401; diff --git a/rag-view/src/pages/UploadPage/components/FileSelector.jsx b/rag-view/src/pages/UploadPage/components/FileSelector.jsx index 4e17216..09c9f7f 100644 --- a/rag-view/src/pages/UploadPage/components/FileSelector.jsx +++ b/rag-view/src/pages/UploadPage/components/FileSelector.jsx @@ -28,7 +28,7 @@ const FileSelector = ({ disabled, onFilesChange }) => {