25 lines
875 B
Java
25 lines
875 B
Java
package com.example.service.base;
|
|
|
|
import com.example.dto.dialogflow.base.DetectIntentRequestDTO;
|
|
import com.example.dto.dialogflow.base.DetectIntentResponseDTO;
|
|
import reactor.core.publisher.Mono;
|
|
|
|
/**
|
|
* Common interface for intent detection services.
|
|
* This abstraction allows switching between different intent detection implementations
|
|
* (e.g., Dialogflow, RAG) without changing dependent services.
|
|
*/
|
|
public interface IntentDetectionService {
|
|
/**
|
|
* Detects user intent and generates a response.
|
|
*
|
|
* @param sessionId The session identifier for this conversation
|
|
* @param request The request containing user input and context parameters
|
|
* @return A Mono of DetectIntentResponseDTO with the generated response
|
|
*/
|
|
Mono<DetectIntentResponseDTO> detectIntent(
|
|
String sessionId,
|
|
DetectIntentRequestDTO request
|
|
);
|
|
}
|