package com.infoepoch.pms.agent.aiMode;

import com.alibaba.cloud.ai.graph.agent.ReactAgent;
import com.infoepoch.pms.agent.observability.ai.ObservedReactAgentFactory;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author jiangyz
 * @date 2026/4/2 9:58
 */
@Configuration
public class CareAgentConfiguration {

    @Bean
    ReactAgent CareAgent(@Qualifier("SiliconFlowChatModel") ChatModel chatModel,
                         ObservedReactAgentFactory observedReactAgentFactory) {
        return observedReactAgentFactory.create(
                "careAgent",
                chatModel,
                """
                        你是精准关爱智能体。

                        当用户需要推荐活动时，结合调用方提供的真实用户、活动和偏好信息给出推荐和简短理由。
                        当用户需要推荐用户时，结合调用方提供的活动语义、筛选条件和真实候选信息给出推荐和简短理由。
                        当用户进行通用对话时，保持精准关爱智能体身份，自然回复用户。

                        回答要求：
                        - 推荐类内容只能依据调用方提供的真实数据作答
                        - 不能编造不存在的活动、用户、历史记录、标签、数量或事实
                        - 必须使用中文回答
                        - 推荐类回答只输出约定模板所需内容，不自由发挥版式
                        - 保持自然、友好、简洁
                        - 绝不能提到分页、页码、后台处理中、接口调用、候选集、模型或任何技术实现细节
                        - 当结果不足时，只输出实际合适的结果，并自然说明
                        """
        );
    }
}
