You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当前LLM生成满足意图的有效查询的不足示例汇总

LLM生成数据分析查询的常见不足示例

以下是三组示例,展示当前LLM在生成满足用户意图的有效查询时存在的典型问题及修正方案:


意图:查询参数中是否存在与更高延迟相关的模式?

  • 模型:openai/gpt-3.5-turbo
  • 原代码问题:
    • 使用eval()解析QueryParams存在严重安全风险,若参数包含恶意代码会直接执行;
    • 直接按整个QueryParams对象分组,无法拆分单个参数的键值对来分析具体参数对延迟的影响;
    • 仅计算平均延迟并排序,未统计每组数据量,均值结果可能受小样本异常值干扰,缺乏可信度。
  • 修正后的实现:
import json
import pandas as pd

# 安全解析QueryParams(兼容原代码的双单引号格式)
df_filtered = df[df['QueryParams'].notnull()].copy()
df_filtered['Latency_ms'] = df_filtered['Latency_ms'].astype(float)

def safe_parse_params(params_str):
    try:
        # 将双单引号替换为标准双引号后解析JSON
        return json.loads(params_str.replace("''", '"'))
    except (json.JSONDecodeError, TypeError):
        return {}

df_filtered['ParsedParams'] = df_filtered['QueryParams'].apply(safe_parse_params)

# 拆分参数键值对为多行,便于按单个参数分析
params_exploded = df_filtered.apply(
    lambda row: pd.DataFrame([{'Latency_ms': row['Latency_ms'], **row['ParsedParams']}]),
    axis=1
).concat()

# 按参数键和值分组,统计延迟的多维度指标
param_latency_stats = params_exploded.melt(
    id_vars=['Latency_ms'], 
    var_name='ParamKey', 
    value_name='ParamValue'
).groupby(['ParamKey', 'ParamValue']).agg(
    avg_latency=('Latency_ms', 'mean'),
    sample_count=('Latency_ms', 'size'),
    std_latency=('Latency_ms', 'std')
).reset_index()

# 按平均延迟降序、样本量降序排序,优先展示有统计意义的结果
param_latency_stats_sorted = param_latency_stats.sort_values(
    by=['avg_latency', 'sample_count'], 
    ascending=[False, False]
)

意图:我们能否识别给定时间段内服务使用的趋势?

  • 模型:openai/gpt-3.5-turbo
  • 原代码问题:
    • 硬编码起止日期,无法适配用户动态输入的时间段;
    • 仅统计服务的总使用量,未体现趋势(即随时间变化的波动规律,如每日/每周的调用量变化);
    • 未处理时间戳类型转换,若Timestamp为字符串类型,直接比较会导致逻辑错误。
  • 修正后的实现:
import pandas as pd

def analyze_service_usage_trend(df, start_date, end_date, time_freq='D'):
    # 转换时间戳为datetime类型,确保时间比较逻辑正确
    df['Timestamp'] = pd.to_datetime(df['Timestamp'])
    
    # 动态过滤目标时间段数据
    df_filtered = df[(df['Timestamp'] >= start_date) & (df['Timestamp'] <= end_date)]
    
    # 按指定时间频率+服务分组,统计调用量
    service_trend = df_filtered.groupby(
        [pd.Grouper(key='Timestamp', freq=time_freq), 'ServiceName']
    ).size().reset_index(name='UsageCount')
    
    # 填充时间序列中的缺失值,避免因某时段无调用导致趋势断裂
    full_time_index = pd.date_range(start=start_date, end=end_date, freq=time_freq)
    all_services = df_filtered['ServiceName'].unique()
    complete_index = pd.MultiIndex.from_product(
        [full_time_index, all_services], 
        names=['Timestamp', 'ServiceName']
    )
    service_trend_complete = service_trend.set_index(
        ['Timestamp', 'ServiceName']
    ).reindex(complete_index, fill_value=0).reset_index()
    
    return service_trend_complete

# 示例调用:按周统计2021年全年的服务使用趋势
# trend_result = analyze_service_usage_trend(df, '2021-01-01', '2021-12-31', time_freq='W')

意图:哪个端点的延迟时间差异最大?

  • 模型:openai/gpt-3.5-turbo
  • 原代码问题:
    • 使用nunique()统计延迟的不同值数量,这无法准确反映延迟差异(差异应通过标准差、方差或四分位距等统计量衡量);
    • 未过滤延迟数据中的异常值,极端值会严重干扰差异计算结果;
    • 仅返回端点名称,未输出具体的差异数值,缺乏参考价值。
  • 修正后的实现:
import pandas as pd

# 过滤延迟异常值(采用四分位距法)
df_clean = df[['Endpoint', 'Latency_ms']].copy()
df_clean['Latency_ms'] = df_clean['Latency_ms'].astype(float)

q1 = df_clean['Latency_ms'].quantile(0.25)
q3 = df_clean['Latency_ms'].quantile(0.75)
iqr = q3 - q1
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr

df_filtered = df_clean[(df_clean['Latency_ms'] >= lower_bound) & (df_clean['Latency_ms'] <= upper_bound)]

# 按端点分组,计算多维度延迟差异指标
endpoint_variation_stats = df_filtered.groupby('Endpoint').agg(
    std_latency=('Latency_ms', 'std'),
    var_latency=('Latency_ms', 'var'),
    iqr_latency=('Latency_ms', lambda x: x.quantile(0.75) - x.quantile(0.25)),
    valid_sample_count=('Latency_ms', 'size')
).reset_index()

# 按标准差降序排序,找到延迟差异最大的端点
endpoint_variation_sorted = endpoint_variation_stats.sort_values(by='std_latency', ascending=False)
most_varied_endpoint = endpoint_variation_sorted.iloc[0]

内容的提问来源于stack exchange,提问作者Seve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 21:24:52