"""
代码生成服务
提供基于LLM的代码生成功能
"""

import logging
from app.core.llm.llm_service import llm_client

logger = logging.getLogger("app")

def code_generate_standard(describe, relation):
    """
    生成数据标准相关的代码
    
    Args:
        describe: 描述文本
        relation: 关系字典，包含输入和输出参数
        
    Returns:
        str: 生成的代码
    """
    try:
        prompt = f"""
        请根据以下描述和参数生成一个标准的Python函数:
        
        描述: {describe}
        
        输入参数: {relation['输入参数']}
        
        输出参数: {relation['输出参数']}
        
        请提供标准实现的Python代码。
        """
        
        result = llm_client(prompt)
        return result if result else "代码生成失败，请重试"
    except Exception as e:
        logger.error(f"代码生成失败: {str(e)}")
        return f"代码生成错误: {str(e)}"

def code_generate_metric(content, relation):
    """
    生成数据指标相关的代码
    
    Args:
        content: 指标规则描述
        relation: 映射关系字典
        
    Returns:
        str: 生成的代码
    """
    try:
        prompt = f"""
        请根据以下指标规则和映射关系生成一个Python函数:
        
        指标规则: {content}
        
        映射关系: {relation}
        
        请提供标准实现的Python代码。
        """
        
        result = llm_client(prompt)
        return result if result else "代码生成失败，请重试"
    except Exception as e:
        logger.error(f"指标代码生成失败: {str(e)}")
        return f"代码生成错误: {str(e)}" 