首頁 > web前端 > js教程 > 人工智慧表單驗證

人工智慧表單驗證

Patricia Arquette
發布: 2024-10-23 00:04:30
原創
767 人瀏覽過

人工智慧在表單驗證中佔有一席之地嗎?我相信它確實如此,在這篇文章中我將向您展示它可以應用在哪裡、為什麼它有意義以及如何建構它。

背景

Dea 是我的新創公司,幫助建構者追蹤、規劃和交付他們的下一個重大產品創意。該平台的一個重要步驟是能夠捕捉想法。為此,我們有一個快速但結構化的表格來捕獲產品的內容、人員和結果。

AI Form Validation

每個輸入都有一些由 Zod 和 Superforms 支援的標準驗證。然而,我們希望確保初稿是連貫的、合法的和安全的。這就是人工智慧可以幫助我們的地方。

執行

我們使用 Vercel 的 AI SDK 建立了一個簡單的驗證函數。

async function isValidIdea(draft: string) {
    const { object } = await generateObject({
        model: openai('gpt-4o-mini'),
        system: `You are responsible for checking if an idea is coherent, legal and safe.
            Please reject any ideas that contain spam or harmful content. 
            If you are unsure then allow the idea.`,
        prompt: draft,
        temperature: 0,
        schema: z.object({
            isValid: z.boolean()
        })
    });

    return object.isValid;
}
登入後複製

使用generateObject,我們可以從LLM取得型別安全和結構化的輸出。讓我們分解一下提示的 3 個部分:

  • 您有責任檢查一個想法是否連貫、合法和安全。 - 模特兒角色概述。
  • 請拒絕任何包含垃圾郵件或有害內容的想法。 - 批准或拒絕該想法的指示。
  • 如果你不確定,那就允許這個想法。 - 如果模型不確定則核准的條件。沒有這個,如果不確定的話,它就不知道該怎麼做。

然後在我們的表單操作中,我們在 try/catch 區塊中呼叫此函數,因為網路請求可能因多種原因而失敗。在我們的例子中,如果 OpenAI 失敗,我們仍然允許驗證通過。

const form = await superValidate(request, zod(ideaSchemaV1));

if (!form.valid) {
    return fail(400, { form, error: null });
}

const draft = ideaToDraft(form.data);

try {
    const isValid = await isValidIdea(draft);

    if (!isValid) {
        return fail(400, { form, error: 'Please check your answers' });
    }
} catch (e) {
    console.error(e);
    // don't prevent submission if the ai validation fails
}
登入後複製

我什麼時候應該使用人工智慧?

顯然,如果你可以在沒有人工智慧的情況下自信地驗證你的輸入,那麼就不要使用人工智慧。依賴法學碩士很容易出現不確定性並引入延遲。

但是,當輸入是非結構化的或您需要對輸入進行更深入的分析時,存在有效的用例。一個好的經驗法則是嘗試人工智慧,否則你需要人工/手動批准步驟。

最佳實踐

使用快速模型 4o-mini 而不是 o1,以確保快速回應並為最終用戶提供最佳的使用者體驗。考慮到這一點,也要向使用者提供一些指示,表明表單正在驗證。

如果不是 100% 有必要,我們認為最好使用非阻塞 AI 驗證。在我們的範例中,如果 LLM 呼叫失敗,我們會讓驗證通過。您還可以推動用戶檢查他們的答案,但仍然允許他們確認他們是正確的並希望繼續。

最後,不要將其用於眾所周知的法學碩士不擅長的事情,例如單位轉換。這可以透過函數呼叫實現,但要注意延遲。

結論

我希望這能為您帶來一些關於如何將人工智慧驗證應用於您自己的表單和資料擷取的想法。如果您已經在做類似的事情,那麼我們很想聽聽您學到的經驗教訓。

以上是人工智慧表單驗證的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板