撰寫 Claude API 串接範例(Python / Node.js)

以下是你可以參考的 Claude API 串接範例,分別用 PythonNode.js 示範,目的是透過 API 發送 Prompt,並取得 Claude 回傳的文字結果。


✅ 本範例適用於 Anthropic Claude API v1,請先申請 API 金鑰:
🔗 https://console.anthropic.com/


📌 需要準備:

  • Claude API 金鑰(在 Anthropic Console 建立)
  • API 端點:https://api.anthropic.com/v1/messages
  • 模型代號(截至目前最新版):claude-3-opus-20240229(或 haiku/sonnet)

🐍 Python 串接範例(使用 requests 套件)

import requests
import json

API_KEY = 'your_anthropic_api_key_here'
MODEL = 'claude-3-opus-20240229'  # 或 claude-3-haiku-20240307 等
API_URL = 'https://api.anthropic.com/v1/messages'

headers = {
    "x-api-key": API_KEY,
    "anthropic-version": "2023-06-01",
    "content-type": "application/json"
}

data = {
    "model": MODEL,
    "max_tokens": 1024,
    "messages": [
        {
            "role": "user",
            "content": "請用一句話解釋什麼是量子糾纏"
        }
    ]
}

response = requests.post(API_URL, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    result = response.json()
    print("Claude 回覆:", result['content'][0]['text'])
else:
    print("錯誤代碼:", response.status_code)
    print(response.text)

🌐 Node.js 串接範例(使用 axios

const axios = require('axios');

const API_KEY = 'your_anthropic_api_key_here';
const API_URL = 'https://api.anthropic.com/v1/messages';

const headers = {
  'x-api-key': API_KEY,
  'anthropic-version': '2023-06-01',
  'content-type': 'application/json'
};

const data = {
  model: 'claude-3-opus-20240229',
  max_tokens: 1024,
  messages: [
    {
      role: 'user',
      content: '請用一句話解釋什麼是量子糾纏'
    }
  ]
};

axios.post(API_URL, data, { headers })
  .then(response => {
    const reply = response.data.content[0].text;
    console.log('Claude 回覆:', reply);
  })
  .catch(error => {
    console.error('錯誤發生:', error.response?.status, error.response?.data);
  });

🧠 附加說明

參數說明
model模型代碼,如 claude-3-sonnet-20240229
max_tokensClaude 回覆的最大字數(建議設為 512~2048)
messages支援多輪對話,格式同 OpenAI,但角色只用 userassistant
anthropic-version固定為 "2023-06-01"(目前 API 版本標準)

✅ 測試建議

你可以試著輸入更多類似這樣的 Prompt 測試:

"請你以 100 字解釋什麼是生成式 AI,適合高中生理解。"
"幫我列出 3 項 Claude 與 GPT 的差異。"
"我想寫一封道歉信給客戶,請用專業且誠懇的語氣幫我撰寫。"

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *