BillionVerify LogoBillionVerify

AI SDKs

將 BillionVerify 郵箱驗證整合至主流 AI SDK,涵蓋 Anthropic、OpenAI、LangChain、Vercel AI SDK 指南。

使用流行的 AI 框架和 SDK 建構具有內建郵箱驗證功能的 AI 應用。

支援的框架

對比

框架語言最適合複雜度
Vercel AI SDKTypeScriptNext.js 應用、串流傳輸
LangChainPython/JS複雜代理、鏈式呼叫
OpenAI Functions任意直接 GPT 整合
Anthropic Tools任意直接 Claude 整合

快速範例

這是一個適用於各框架的簡單工具定義:

const verifyEmailTool = {
  name: 'verify_email',
  description: '驗證郵箱地址是否有效且可接收郵件',
  parameters: {
    type: 'object',
    properties: {
      email: {
        type: 'string',
        description: '要驗證的郵箱地址',
      },
    },
    required: ['email'],
  },
  execute: async ({ email }) => {
    const response = await fetch('https://api.billionverify.com/v1/verify/single', {
      method: 'POST',
      headers: {
        'BV-API-KEY': process.env.BV_API_KEY,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ email }),
    });
    return response.json();
  },
};

最佳實踐

1. 錯誤處理

始終在工具中優雅地處理 API 錯誤:

execute: async ({ email }) => {
  try {
    const response = await fetch('https://api.billionverify.com/v1/verify/single', {
      method: 'POST',
      headers: {
        'BV-API-KEY': process.env.BV_API_KEY,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ email }),
    });

    if (!response.ok) {
      if (response.status === 429) {
        return { error: '超出速率限制。請稍後重試。' };
      }
      return { error: `驗證失敗: ${response.statusText}` };
    }

    return response.json();
  } catch (error) {
    return { error: '網路錯誤。無法存取驗證服務。' };
  }
}

2. 清晰的工具描述

編寫描述性的工具定義,讓 AI 知道何時使用它們:

description: `驗證郵箱地址是否有效且可接收郵件。

返回值:
- status: "valid"(有效)、"invalid"(無效)或 "unknown"(未知)
- deliverable: 郵箱是否可以接收郵件
- disposable: 是否為臨時郵箱服務
- role: 是否為角色郵箱(如 info@ 或 support@)
- score: 置信度評分(0 到 1)

在以下情況下使用此工具:
- 使用者要求驗證郵箱
- 檢查郵箱是否真實存在
- 驗證聯絡資訊`

3. 批次處理以提高效率

驗證多個郵箱時,使用批次端點:

const verifyEmailsBulkTool = {
  name: 'verify_emails_bulk',
  description: '一次驗證多個郵箱。比逐個驗證更高效。',
  parameters: {
    type: 'object',
    properties: {
      emails: {
        type: 'array',
        items: { type: 'string' },
        maxItems: 100,
      },
    },
    required: ['emails'],
  },
};

4. 快取結果

考慮快取驗證結果以節省積分:

const cache = new Map<string, { result: any; timestamp: number }>();
const CACHE_TTL = 3600000; // 1 小時

async function verifyWithCache(email: string) {
  const cached = cache.get(email);
  if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
    return cached.result;
  }

  const result = await verifyEmail(email);
  cache.set(email, { result, timestamp: Date.now() });
  return result;
}

下一步

On this page