Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package com.alibaba.cloud.ai.service.simple;

import com.alibaba.cloud.ai.connector.*;
import com.alibaba.cloud.ai.connector.accessor.Accessor;
import com.alibaba.cloud.ai.connector.config.DbConfig;
import com.alibaba.cloud.ai.service.LlmService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,34 @@

import com.alibaba.cloud.ai.entity.Agent;
import com.alibaba.cloud.ai.service.AgentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
* Agent Management Controller
*/
@Controller
@RestController
@RequestMapping("/api/agent")
@CrossOrigin(origins = "*")
public class AgentController {

private final AgentService agentService;

@Autowired(required = false)
public AgentController(AgentService agentService) {
this.agentService = agentService;
}

/**
* Get agent list
*/
@GetMapping
@ResponseBody
public ResponseEntity<List<Agent>> list(@RequestParam(required = false) String status,
@RequestParam(required = false) String keyword) {
List<Agent> result;
@GetMapping("/list")
public ResponseEntity<List<Agent>> list(@RequestParam(value = "status", required = false) String status,
@RequestParam(value = "keyword", required = false) String keyword) {
List<Agent> result = null;
if (keyword != null && !keyword.trim().isEmpty()) {
result = agentService.search(keyword);
}
Expand All @@ -61,8 +61,7 @@ else if (status != null && !status.trim().isEmpty()) {
* Get agent details by ID
*/
@GetMapping("/{id}")
@ResponseBody
public ResponseEntity<Agent> get(@PathVariable Long id) {
public ResponseEntity<Agent> get(@PathVariable(value = "id") Long id) {
Agent agent = agentService.findById(id);
if (agent == null) {
return ResponseEntity.notFound().build();
Expand All @@ -73,8 +72,7 @@ public ResponseEntity<Agent> get(@PathVariable Long id) {
/**
* Create agent
*/
@PostMapping
@ResponseBody
@PostMapping("/create")
public ResponseEntity<Agent> create(@RequestBody Agent agent) {
// Set default status
if (agent.getStatus() == null || agent.getStatus().trim().isEmpty()) {
Expand All @@ -88,8 +86,7 @@ public ResponseEntity<Agent> create(@RequestBody Agent agent) {
* Update agent
*/
@PutMapping("/{id}")
@ResponseBody
public ResponseEntity<Agent> update(@PathVariable Long id, @RequestBody Agent agent) {
public ResponseEntity<Agent> update(@PathVariable(value = "id") Long id, @RequestBody Agent agent) {
if (agentService.findById(id) == null) {
return ResponseEntity.notFound().build();
}
Expand All @@ -102,8 +99,7 @@ public ResponseEntity<Agent> update(@PathVariable Long id, @RequestBody Agent ag
* Delete agent
*/
@DeleteMapping("/{id}")
@ResponseBody
public ResponseEntity<Void> delete(@PathVariable Long id) {
public ResponseEntity<Void> delete(@PathVariable(value = "id") Long id) {
if (agentService.findById(id) == null) {
return ResponseEntity.notFound().build();
}
Expand All @@ -115,8 +111,7 @@ public ResponseEntity<Void> delete(@PathVariable Long id) {
* Publish agent
*/
@PostMapping("/{id}/publish")
@ResponseBody
public ResponseEntity<Agent> publish(@PathVariable Long id) {
public ResponseEntity<Agent> publish(@PathVariable(value = "id") Long id) {
Agent agent = agentService.findById(id);
if (agent == null) {
return ResponseEntity.notFound().build();
Expand All @@ -130,8 +125,7 @@ public ResponseEntity<Agent> publish(@PathVariable Long id) {
* Offline agent
*/
@PostMapping("/{id}/offline")
@ResponseBody
public ResponseEntity<Agent> offline(@PathVariable Long id) {
public ResponseEntity<Agent> offline(@PathVariable(value = "id") Long id) {
Agent agent = agentService.findById(id);
if (agent == null) {
return ResponseEntity.notFound().build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,10 @@ public AgentKnowledgeController(AgentKnowledgeService agentKnowledgeService,
* Query knowledge list by agent ID
*/
@GetMapping("/agent/{agentId}")
public ResponseEntity<Map<String, Object>> getKnowledgeByAgentId(@PathVariable Integer agentId,
@RequestParam(required = false) String type, @RequestParam(required = false) String status,
@RequestParam(required = false) String keyword) {
public ResponseEntity<Map<String, Object>> getKnowledgeByAgentId(@PathVariable(value = "agentId") Integer agentId,
@RequestParam(value = "type", required = false) String type,
@RequestParam(value = "status", required = false) String status,
@RequestParam(value = "keyword", required = false) String keyword) {

Map<String, Object> response = new HashMap<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public AgentPresetQuestionController(AgentPresetQuestionService presetQuestionSe
* Get preset question list of agent
*/
@GetMapping("/{agentId}/preset-questions")
public ResponseEntity<List<AgentPresetQuestion>> getPresetQuestions(@PathVariable Long agentId) {
public ResponseEntity<List<AgentPresetQuestion>> getPresetQuestions(@PathVariable(value = "agentId") Long agentId) {
try {
List<AgentPresetQuestion> questions = presetQuestionService.findByAgentId(agentId);
return ResponseEntity.ok(questions);
Expand All @@ -58,7 +58,7 @@ public ResponseEntity<List<AgentPresetQuestion>> getPresetQuestions(@PathVariabl
* Batch save preset questions of agent
*/
@PostMapping("/{agentId}/preset-questions")
public ResponseEntity<Map<String, String>> savePresetQuestions(@PathVariable Long agentId,
public ResponseEntity<Map<String, String>> savePresetQuestions(@PathVariable(value = "agentId") Long agentId,
@RequestBody List<Map<String, String>> questionsData) {
try {
// Convert to entity object
Expand All @@ -81,7 +81,7 @@ public ResponseEntity<Map<String, String>> savePresetQuestions(@PathVariable Lon
* Delete preset question
*/
@DeleteMapping("/{agentId}/preset-questions/{questionId}")
public ResponseEntity<Map<String, String>> deletePresetQuestion(@PathVariable Long agentId,
public ResponseEntity<Map<String, String>> deletePresetQuestion(@PathVariable(value = "agentId") Long agentId,
@PathVariable Long questionId) {
try {
presetQuestionService.deleteById(questionId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public AgentSchemaController(AgentVectorService agentVectorService,
*/
@PostMapping("/init")
@ResponseBody
public ResponseEntity<Map<String, Object>> initializeSchema(@PathVariable Long agentId,
public ResponseEntity<Map<String, Object>> initializeSchema(@PathVariable(value = "agentId") Long agentId,
@RequestBody Map<String, Object> requestData) {

Map<String, Object> response = new HashMap<>();
Expand Down Expand Up @@ -131,7 +131,7 @@ else if (requestData.containsKey("dbConfig")) {
*/
@GetMapping("/statistics")
@ResponseBody
public ResponseEntity<Map<String, Object>> getVectorStatistics(@PathVariable Long agentId) {
public ResponseEntity<Map<String, Object>> getVectorStatistics(@PathVariable(value = "agentId") Long agentId) {
Map<String, Object> response = new HashMap<>();

try {
Expand All @@ -155,7 +155,7 @@ public ResponseEntity<Map<String, Object>> getVectorStatistics(@PathVariable Lon
*/
@DeleteMapping("/clear")
@ResponseBody
public ResponseEntity<Map<String, Object>> clearVectorData(@PathVariable Long agentId) {
public ResponseEntity<Map<String, Object>> clearVectorData(@PathVariable(value = "agentId") Long agentId) {
Map<String, Object> response = new HashMap<>();

try {
Expand Down Expand Up @@ -184,7 +184,7 @@ public ResponseEntity<Map<String, Object>> clearVectorData(@PathVariable Long ag
*/
@GetMapping("/datasources")
@ResponseBody
public ResponseEntity<Map<String, Object>> getAgentDatasources(@PathVariable Long agentId) {
public ResponseEntity<Map<String, Object>> getAgentDatasources(@PathVariable(value = "agentId") Long agentId) {
Map<String, Object> response = new HashMap<>();

try {
Expand Down Expand Up @@ -214,7 +214,8 @@ public ResponseEntity<Map<String, Object>> getAgentDatasources(@PathVariable Lon
*/
@GetMapping("/datasources/{datasourceId}/tables")
@ResponseBody
public ResponseEntity<Map<String, Object>> getDatasourceTables(@PathVariable Integer datasourceId) {
public ResponseEntity<Map<String, Object>> getDatasourceTables(
@PathVariable(value = "datasourceId") Integer datasourceId) {
Map<String, Object> response = new HashMap<>();

try {
Expand Down Expand Up @@ -245,7 +246,7 @@ public ResponseEntity<Map<String, Object>> getDatasourceTables(@PathVariable Int
*/
@PostMapping(value = "/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
@ResponseBody
public Flux<ServerSentEvent<String>> agentChat(@PathVariable Long agentId,
public Flux<ServerSentEvent<String>> agentChat(@PathVariable(value = "agentId") Long agentId,
@RequestBody Map<String, Object> requestData, HttpServletResponse response) {

try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ public BusinessKnowledgeController(BusinessKnowledgeService businessKnowledgeSer

@GetMapping
@ResponseBody
public ResponseEntity<List<BusinessKnowledge>> list(@RequestParam(required = false) String datasetId,
public ResponseEntity<List<BusinessKnowledge>> list(
@RequestParam(value = "datasetId", required = false) String datasetId,
@RequestParam(required = false) String keyword) {
List<BusinessKnowledge> result;
if (keyword != null && !keyword.trim().isEmpty()) {
Expand All @@ -56,7 +57,7 @@ else if (datasetId != null && !datasetId.trim().isEmpty()) {

@GetMapping("/{id}")
@ResponseBody
public ResponseEntity<BusinessKnowledge> get(@PathVariable Long id) {
public ResponseEntity<BusinessKnowledge> get(@PathVariable(value = "id") Long id) {
BusinessKnowledge knowledge = businessKnowledgeService.findById(id);
if (knowledge == null) {
return ResponseEntity.notFound().build();
Expand All @@ -73,7 +74,8 @@ public ResponseEntity<BusinessKnowledge> create(@RequestBody BusinessKnowledge k

@PutMapping("/{id}")
@ResponseBody
public ResponseEntity<BusinessKnowledge> update(@PathVariable Long id, @RequestBody BusinessKnowledge knowledge) {
public ResponseEntity<BusinessKnowledge> update(@PathVariable(value = "id") Long id,
@RequestBody BusinessKnowledge knowledge) {
if (businessKnowledgeService.findById(id) == null) {
return ResponseEntity.notFound().build();
}
Expand All @@ -84,7 +86,7 @@ public ResponseEntity<BusinessKnowledge> update(@PathVariable Long id, @RequestB

@DeleteMapping("/{id}")
@ResponseBody
public ResponseEntity<Void> delete(@PathVariable Long id) {
public ResponseEntity<Void> delete(@PathVariable(value = "id") Long id) {
if (businessKnowledgeService.findById(id) == null) {
return ResponseEntity.notFound().build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,43 +65,44 @@ public ResponseEntity<List<String>> getDataSetIds() {

// Get data by datasetId
@GetMapping("/dataset/{datasetId}")
public ResponseEntity<List<BusinessKnowledge>> getDataSetById(@PathVariable String datasetId) {
public ResponseEntity<List<BusinessKnowledge>> getDataSetById(@PathVariable(value = "datasetId") String datasetId) {
List<BusinessKnowledge> knowledge = businessKnowledgePersistenceService.getFieldByDataSetId(datasetId);
return ResponseEntity.ok(knowledge);
}

// Search
@GetMapping("/search")
public ResponseEntity<List<BusinessKnowledge>> searchFields(@RequestParam String content) {
public ResponseEntity<List<BusinessKnowledge>> searchFields(@RequestParam(value = "content") String content) {
List<BusinessKnowledge> knowledge = businessKnowledgePersistenceService.searchFields(content);
return ResponseEntity.ok(knowledge);
}

// Delete by id
@DeleteMapping("/delete/{id}")
public ResponseEntity<ApiResponse> deleteFieldById(@PathVariable long id) {
public ResponseEntity<ApiResponse> deleteFieldById(@PathVariable(value = "id") long id) {
businessKnowledgePersistenceService.deleteFieldById(id);
return ResponseEntity.ok(ApiResponse.success("业务知识删除成功"));
}

// Edit update
@PutMapping("/update/{id}")
public ResponseEntity<ApiResponse> updateField(@PathVariable long id,
public ResponseEntity<ApiResponse> updateField(@PathVariable(value = "id") long id,
@RequestBody BusinessKnowledgeDTO knowledgeDTO) {
businessKnowledgePersistenceService.updateField(knowledgeDTO, id);
return ResponseEntity.ok(ApiResponse.success("业务知识更新成功"));
}

// Get business knowledge list by agent ID
@GetMapping("/agent/{agentId}")
public ResponseEntity<List<BusinessKnowledge>> getKnowledgeByAgentId(@PathVariable String agentId) {
public ResponseEntity<List<BusinessKnowledge>> getKnowledgeByAgentId(
@PathVariable(value = "agentId") String agentId) {
List<BusinessKnowledge> knowledge = businessKnowledgePersistenceService.getKnowledgeByAgentId(agentId);
return ResponseEntity.ok(knowledge);
}

// Add business knowledge for agent
@PostMapping("/agent/{agentId}/add")
public ResponseEntity<ApiResponse> addKnowledgeForAgent(@PathVariable String agentId,
public ResponseEntity<ApiResponse> addKnowledgeForAgent(@PathVariable(value = "agentId") String agentId,
@RequestBody BusinessKnowledgeDTO knowledgeDTO) {
knowledgeDTO.setAgentId(agentId);
businessKnowledgePersistenceService.addKnowledge(knowledgeDTO);
Expand All @@ -110,7 +111,7 @@ public ResponseEntity<ApiResponse> addKnowledgeForAgent(@PathVariable String age

// Batch add business knowledge for agent
@PostMapping("/agent/{agentId}/addList")
public ResponseEntity<ApiResponse> addKnowledgeListForAgent(@PathVariable String agentId,
public ResponseEntity<ApiResponse> addKnowledgeListForAgent(@PathVariable(value = "agentId") String agentId,
@RequestBody List<BusinessKnowledgeDTO> knowledgeDTOs) {
knowledgeDTOs.forEach(dto -> dto.setAgentId(agentId));
businessKnowledgePersistenceService.addKnowledgeList(knowledgeDTOs);
Expand All @@ -119,15 +120,15 @@ public ResponseEntity<ApiResponse> addKnowledgeListForAgent(@PathVariable String

// Delete all business knowledge by agent ID
@DeleteMapping("/agent/{agentId}")
public ResponseEntity<ApiResponse> deleteKnowledgeByAgentId(@PathVariable String agentId) {
public ResponseEntity<ApiResponse> deleteKnowledgeByAgentId(@PathVariable(value = "agentId") String agentId) {
businessKnowledgePersistenceService.deleteKnowledgeByAgentId(agentId);
return ResponseEntity.ok(ApiResponse.success("智能体业务知识删除成功"));
}

// Search business knowledge within agent scope
@GetMapping("/agent/{agentId}/search")
public ResponseEntity<List<BusinessKnowledge>> searchKnowledgeInAgent(@PathVariable String agentId,
@RequestParam String content) {
public ResponseEntity<List<BusinessKnowledge>> searchKnowledgeInAgent(
@PathVariable(value = "agentId") String agentId, @RequestParam(value = "content") String content) {
List<BusinessKnowledge> knowledge = businessKnowledgePersistenceService.searchKnowledgeInAgent(agentId,
content);
return ResponseEntity.ok(knowledge);
Expand Down
Loading
Loading