EmailVerify LogoEmailVerify

AI SDKs

Email checker integration with AI SDKs. Anthropic, OpenAI, LangChain, Vercel AI SDK guides.

人気のあるAIフレームワークとSDKを使用して、メール検証機能が組み込まれたAIアプリケーションを構築します。

対応フレームワーク

比較

フレームワーク言語最適な用途複雑さ
Vercel AI SDKTypeScriptNext.jsアプリ、ストリーミング
LangChainPython/JS複雑なエージェント、チェーン
OpenAI Functions任意直接GPT統合
Anthropic Tools任意直接Claude統合

クイック例

フレームワーク間で動作するシンプルなツール定義:

const verifyEmailTool = {
  name: 'verify_email',
  description: 'Verify if an email address is valid and deliverable',
  parameters: {
    type: 'object',
    properties: {
      email: {
        type: 'string',
        description: 'The email address to verify',
      },
    },
    required: ['email'],
  },
  execute: async ({ email }) => {
    const response = await fetch('https://api.emailverify.ai/v1/verify', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.EMAILVERIFY_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.emailverify.ai/v1/verify', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.EMAILVERIFY_API_KEY}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ email }),
    });

    if (!response.ok) {
      if (response.status === 429) {
        return { error: 'Rate limit exceeded. Please try again later.' };
      }
      return { error: `Verification failed: ${response.statusText}` };
    }

    return response.json();
  } catch (error) {
    return { error: 'Network error. Could not reach verification service.' };
  }
}

2. 明確なツール説明

AIがいつ使用すべきかわかるように、説明的なツール定義を書きます:

description: `Verify if an email address is valid and deliverable.

Returns:
- status: "valid", "invalid", or "unknown"
- deliverable: whether the email can receive messages
- disposable: whether it's a temporary email service
- role: whether it's a role-based address like info@ or support@
- score: confidence score from 0 to 1

Use this tool when:
- User asks to verify an email
- Checking if an email is real
- Validating contact information`

3. 効率化のためのバッチ処理

複数のメールを検証する場合は、一括エンドポイントを使用:

const verifyEmailsBulkTool = {
  name: 'verify_emails_bulk',
  description: 'Verify multiple emails at once. More efficient than verifying one by one.',
  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 hour

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