You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何验证Vertex AI输入提示的有效性?基于Google App Engine场景

验证Vertex AI提示词有效性的实用方法

1. 基础文本合法性过滤

先通过简单规则排除明显无意义的输入:

  • 过滤纯乱码/无意义字符:检查字符串是否包含足够的可识别语言字符(英文单词、中文汉字等),同时限制无效字符占比。示例代码:
    import re
    def is_meaningful_text(text):
        if not text:
            return False
        # 匹配至少3个字母的英文单词,或中文汉字
        eng_valid = re.search(r'[a-zA-Z]{3,}', text)
        cn_valid = re.search(r'[\u4e00-\u9fff]', text)
        # 统计非语言/非可打印字符占比
        invalid_char_count = len(re.findall(r'[^a-zA-Z0-9\u4e00-\u9fff\s,.?!;:]', text))
        invalid_ratio = invalid_char_count / len(text)
        # 需满足有有效字符,且无效字符占比低于50%
        return (eng_valid or cn_valid) and invalid_ratio < 0.5
    
  • 限制输入长度:排除过短(如少于3个字符)或远超模型输入上限的内容(Gemini 2.0 Flash最大支持1M token,可根据业务设置合理阈值)。

2. 语义有效性预验证

基础过滤通过后,可借助轻量模型快速判断输入是否具备有效语义:

  • 调用轻量GenAI模型做分类:用Gemini系列轻量模型判断输入是否为可响应的有效提示词,示例代码:
    def is_valid_prompt(text, genai_client):
        judge_prompt = f"判断以下文本是否是有意义的AI提示词,仅回答'是'或'否':{text}"
        response = genai_client.models.generate_content(
            model="gemini-1.5-flash-001",
            contents=[types.Content(role="user", parts=[types.Part.from_text(judge_prompt)])],
            config=types.GenerateContentConfig(max_output_tokens=10)
        )
        return response.text.strip().lower() == '是'
    
    注:该方法会产生少量API调用成本,但准确性较高,适合对输入质量要求高的场景。

3. 业务场景定制规则

如果应用有特定使用场景(如仅接受技术问题、创意文案请求),可添加场景专属规则:

  • 过滤不符合业务意图的输入,比如只保留包含"如何"、"解释"、"设计"等关键词的内容
  • 用预训练的意图分类模型,判断输入是否匹配业务预期的请求类型

4. 兜底错误处理

即使做了前置验证,仍可能出现无效输入,建议在调用generate_content_stream时添加异常和空输出处理:

try:
    output_exists = False
    for chunk in client.models.generate_content_stream(
        model=model,
        contents=contents,
        config=generate_content_config,
    ):
        if chunk.text:
            output_exists = True
            print(chunk.text, end="")
    if not output_exists:
        print("输入无效,请提供有意义的提示词")
except Exception as e:
    print(f"请求处理出错:{str(e)}")

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

火山引擎 最新活动