141 lines
4.5 KiB
Java
141 lines
4.5 KiB
Java
package top.tqx.demo_1.config;
|
|
|
|
import lombok.Data;
|
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Data
|
|
@Component
|
|
@ConfigurationProperties(prefix = "ai.api")
|
|
public class AiApiConfig {
|
|
|
|
private String host = "rag-service";
|
|
|
|
private Integer port = 5001;
|
|
|
|
private ChatConfig chat = new ChatConfig();
|
|
|
|
private WorkflowConfig workflow = new WorkflowConfig();
|
|
|
|
private DocumentConfig document = new DocumentConfig();
|
|
|
|
private CollectionConfig collection = new CollectionConfig();
|
|
|
|
private SyncConfig sync = new SyncConfig();
|
|
|
|
private ExamConfig exam = new ExamConfig();
|
|
|
|
@Data
|
|
public static class ChatConfig {
|
|
private String chat = "/chat";
|
|
private String rag = "/rag";
|
|
private String ragStream = "/rag";
|
|
private String search = "/search";
|
|
}
|
|
|
|
@Data
|
|
public static class WorkflowConfig {
|
|
private String run = "/v1/workflows/run";
|
|
private String stop = "/v1/workflows/stop";
|
|
}
|
|
|
|
@Data
|
|
public static class DocumentConfig {
|
|
private String upload = "/documents/upload";
|
|
private String batchUpload = "/documents/batch-upload";
|
|
private String list = "/documents/list";
|
|
private String delete = "/documents";
|
|
private String chunks = "/documents/{path}/chunks";
|
|
private String preview = "/documents/{path}/preview";
|
|
private String deprecate = "/collections/{name}/documents/{filename}/deprecate";
|
|
private String restore = "/collections/{name}/documents/{filename}/restore";
|
|
private String versions = "/collections/{name}/documents/{filename}/versions";
|
|
}
|
|
|
|
@Data
|
|
public static class CollectionConfig {
|
|
private String list = "/collections";
|
|
private String create = "/collections";
|
|
private String update = "/collections/{name}";
|
|
private String delete = "/collections/{name}";
|
|
private String chunks = "/collections/{name}/chunks";
|
|
}
|
|
|
|
@Data
|
|
public static class SyncConfig {
|
|
private String trigger = "/sync";
|
|
private String status = "/sync/status";
|
|
}
|
|
|
|
@Data
|
|
public static class FeedbackConfig {
|
|
private String submit = "/feedback";
|
|
private String list = "/feedback/list";
|
|
private String stats = "/feedback/stats";
|
|
private String badCases = "/feedback/bad-cases";
|
|
}
|
|
|
|
@Data
|
|
public static class FAQConfig {
|
|
private String faq = "/faq";
|
|
private String suggestions = "/faq/suggestions";
|
|
private String approve = "/faq/suggestions/{id}/approve";
|
|
private String reject = "/faq/suggestions/{id}/reject";
|
|
}
|
|
|
|
@Data
|
|
public static class ImageConfig {
|
|
private String list = "/images/list";
|
|
private String image = "/images/{image_id}";
|
|
private String info = "/images/{image_id}/info";
|
|
private String stats = "/images/stats";
|
|
}
|
|
|
|
@Data
|
|
public static class ReportConfig {
|
|
private String weekly = "/reports/weekly";
|
|
private String monthly = "/reports/monthly";
|
|
}
|
|
|
|
@Data
|
|
public static class KBRouteConfig {
|
|
private String route = "/kb/route";
|
|
}
|
|
|
|
@Data
|
|
public static class SearchConfig {
|
|
private String search = "/search";
|
|
}
|
|
|
|
@Data
|
|
public static class ExamConfig {
|
|
private String generate = "/exam/generate";
|
|
private String generateSmart = "/exam/generate-smart";
|
|
private String grade = "/exam/grade";
|
|
}
|
|
|
|
private FeedbackConfig feedback = new FeedbackConfig();
|
|
private FAQConfig faq = new FAQConfig();
|
|
private ImageConfig images = new ImageConfig();
|
|
private ReportConfig reports = new ReportConfig();
|
|
private KBRouteConfig kbRoute = new KBRouteConfig();
|
|
private SearchConfig search = new SearchConfig();
|
|
private ChunkConfig chunk = new ChunkConfig();
|
|
|
|
@Data
|
|
public static class ChunkConfig {
|
|
private String create = "/chunks";
|
|
private String update = "/chunks/{id}";
|
|
private String delete = "/chunks/{id}";
|
|
private String documentChunks = "/documents/{path}/chunks";
|
|
}
|
|
|
|
public String getFullUrl(String path) {
|
|
String baseUrl = "http://" + host + ":" + port;
|
|
if (path == null || path.isEmpty()) {
|
|
return baseUrl;
|
|
}
|
|
String requestPath = path.startsWith("/") ? path : "/" + path;
|
|
return baseUrl + requestPath;
|
|
}
|
|
} |