技能 人工智能 Cohere API v2错误诊断与修复指南

Cohere API v2错误诊断与修复指南

v20260423
cohere-common-errors
本指南是Cohere API v2的快速参考手册,用于诊断和修复常见的API错误和异常。它详细覆盖了参数缺失(400)、限速(429)或认证失败(401)等关键错误代码,并提供了针对不同模型的代码级修复方案,帮助用户确保AI应用的调用流程稳定可靠。
获取技能
60 次下载
概览

Cohere Common Errors

Overview

Quick reference for real Cohere API v2 errors with exact messages, causes, and fixes.

Prerequisites

  • cohere-ai SDK installed
  • CO_API_KEY configured
  • Access to error logs

Error Reference

400 — Bad Request: Missing Required Field

CohereError: model is required

Cause: API v2 requires model for all endpoints (Chat, Embed, Rerank, Classify).

Fix:

// Wrong (v1 style)
await cohere.chat({ messages: [...] });

// Correct (v2)
await cohere.chat({ model: 'command-a-03-2025', messages: [...] });

400 — Embed: Missing embedding_types

CohereError: embedding_types is required for embed models v3 and higher

Fix:

await cohere.embed({
  model: 'embed-v4.0',
  texts: ['hello'],
  inputType: 'search_document',
  embeddingTypes: ['float'],  // Required for v3+
});

400 — Embed: Missing input_type

CohereError: input_type is required for embed models v3 and higher

Fix: Use one of: search_document, search_query, classification, clustering, image.


401 — Invalid API Token

CohereError: invalid api token

Cause: CO_API_KEY is missing, wrong, or revoked.

Fix:

# Verify key is set
echo $CO_API_KEY

# Test directly
curl -H "Authorization: Bearer $CO_API_KEY" \
  https://api.cohere.com/v2/chat \
  -H "Content-Type: application/json" \
  -d '{"model":"command-r7b-12-2024","messages":[{"role":"user","content":"hi"}]}'

429 — Rate Limit Exceeded

CohereError: You are using a Trial key, which is limited to N calls/minute

Rate limits by key type:

Key Type Chat Embed Rerank Other
Trial 20/min 5/min 5/min 1000/month
Production 1000/min 1000/min 1000/min Unlimited

Fix:

import { CohereError } from 'cohere-ai';

try {
  await cohere.chat({ model: 'command-a-03-2025', messages: [...] });
} catch (err) {
  if (err instanceof CohereError && err.statusCode === 429) {
    // Back off and retry
    await new Promise(r => setTimeout(r, 60_000)); // wait 60s for trial keys
    // retry...
  }
}

400 — Classify: Too Few Examples

CohereError: each unique label requires at least 2 examples

Fix:

await cohere.classify({
  model: 'embed-english-v3.0',
  inputs: ['This product is amazing'],
  examples: [
    // Need at least 2 examples PER label
    { text: 'I love it', label: 'positive' },
    { text: 'Great product', label: 'positive' },
    { text: 'Terrible', label: 'negative' },
    { text: 'Worst ever', label: 'negative' },
  ],
});

400 — Rerank: Too Many Documents

CohereError: too many documents, max is 1000

Fix: Batch your documents:

async function batchRerank(query: string, docs: string[], topN = 10) {
  const BATCH = 1000;
  let allResults: any[] = [];

  for (let i = 0; i < docs.length; i += BATCH) {
    const batch = docs.slice(i, i + BATCH);
    const resp = await cohere.rerank({
      model: 'rerank-v3.5',
      query,
      documents: batch,
      topN,
    });
    allResults.push(
      ...resp.results.map(r => ({ ...r, index: r.index + i }))
    );
  }

  return allResults.sort((a, b) => b.relevanceScore - a.relevanceScore).slice(0, topN);
}

400 — Chat: response_format with documents

CohereError: response_format is not supported with documents or tools

Cause: response_format: { type: 'json_object' } cannot be combined with documents or tools.

Fix: Use either JSON mode OR document/tool mode, not both. For structured RAG output, parse the text response yourself.


500/503 — Server Error

CohereError: internal server error

Fix: Retry with exponential backoff. If persistent, check status.cohere.com.


CohereTimeoutError

CohereTimeoutError: Request timed out

Fix: The SDK has a default timeout. Increase it or reduce payload:

const cohere = new CohereClientV2({
  token: process.env.CO_API_KEY,
  timeoutInSeconds: 120, // default is lower
});

Diagnostic Commands

# Check Cohere service status
curl -s https://status.cohere.com/api/v2/status.json | jq '.status'

# Verify API key works
curl -s -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer $CO_API_KEY" \
  https://api.cohere.com/v2/chat \
  -H "Content-Type: application/json" \
  -d '{"model":"command-r7b-12-2024","messages":[{"role":"user","content":"ping"}]}'

# Check installed SDK version
npm list cohere-ai 2>/dev/null || pip show cohere 2>/dev/null

Error Handling Wrapper

import { CohereError, CohereTimeoutError } from 'cohere-ai';

function diagnoseCohereError(err: unknown): string {
  if (err instanceof CohereTimeoutError) {
    return 'TIMEOUT: Increase timeoutInSeconds or reduce input size';
  }
  if (err instanceof CohereError) {
    switch (err.statusCode) {
      case 400: return `BAD_REQUEST: ${err.message}`;
      case 401: return 'AUTH: Check CO_API_KEY';
      case 429: return 'RATE_LIMIT: Back off or upgrade key';
      case 500: return 'SERVER: Retry later, check status.cohere.com';
      default:  return `UNKNOWN (${err.statusCode}): ${err.message}`;
    }
  }
  return `UNEXPECTED: ${String(err)}`;
}

Resources

Next Steps

For comprehensive debugging, see cohere-debug-bundle.

信息
Category 人工智能
Name cohere-common-errors
版本 v20260423
大小 6.16KB
更新时间 2026-04-28
语言