1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人利用が可能になってたことに今さら気がついた Anthropic/Claude の API を試す: Tool use (function calling)

Last updated at Posted at 2025-01-06

はじめに

以前は規約的に個人利用が不可だった「Anthropic/Claude の API」が、個人利用可能になっていたことに今さら気がついたので、API を使う下準備から API を試してみるまでの流れをやってみました。

222025-01-07_00-41-43.jpg

個人での利用について

ざっくり調べて見た感じだと、2024年の 10月ごろに API の個人利用が可能になったみたいでした。

以下は、現在の API利用に関する公式のヘルプセンターでの記載です。

●Anthropic APIを個人利用に使用できますか? | Anthropicヘルプセンター
 https://support.anthropic.com/ja/articles/8987200-anthropic-api%E3%82%92%E5%80%8B%E4%BA%BA%E5%88%A9%E7%94%A8%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B

2025-01-06_21-20-48.jpg

課金

API利用のための手続きを進め、APIキー発行までを終えた後にお試し用に少しだけ課金をしました。

とりあえずは最低限の支払い額になっている 5ドルにて。

2025-01-06_14-13-09.jpg

実際に試してみる

モデルの情報

以下の公式の情報から、モデルの情報を確認してみます。

●Claudeの紹介 - Anthropic
 https://docs.anthropic.com/ja/docs/intro-to-claude

とりあえず API が試せれば良いので、適当に「Claude 3.5 Haiku( claude-3-5-haiku-20241022 )」を選んでみます。

2つのお試し

ここから SDK を使ったお試しを 2つやっていきます。

公式の SDK について

下準備として、以下の公式のユーザーガイドを見つつ利用する SDK を選びます。

●初期設定 - Anthropic
 https://docs.anthropic.com/ja/docs/initial-setup

このページでは「Python(3.7+)」と「TypeScript(4.5+)」の SDK の 2つが記載されていました。

2025-01-06_21-27-37.jpg

今回は個人的な好みで以下を利用します。

●@anthropic-ai/sdk - npm
 https://www.npmjs.com/package/@anthropic-ai/sdk

簡単なお試し

それでは実際に試していきます。

パッケージのインストールと、環境変数を使った APIキーの設定を行います(※ 自分が試している環境は Mac です)。

npm install @anthropic-ai/sdk
export ANTHROPIC_API_KEY=【自分のAPIキー】

あとは公式サンプルを少しだけ書きかえた以下を実行してみました。

import Anthropic from "@anthropic-ai/sdk";

const anthropic = new Anthropic();

const msg = await anthropic.messages.create({
model: "claude-3-5-haiku-20241022",
max_tokens: 1000,
temperature: 0,
system: "簡潔な回答をしてください",
messages: [
    {
    "role": "user",
    "content": [
        {
        "type": "text",
        "text": "あなたは誰?"
        }
    ]
    }
]
});
console.log(msg.content[0].text);

上記を実行したところ、以下のレスポンスを得られました。

2025-01-06_21-35-48.jpg

SDK を使ったお試し: その2

先ほどの環境(パッケージ・APIキーが準備されたもの)を使い、お試し 2つ目をやっていきます。

具体的には「Tool use (function calling)」を試してみます。

レスポンスとして指定する内容は、以下の記事を書いた時にやったものと似た内容にしてみました。

●Google Gen AI SDK(Python版)を試す: Gemini 2.0 Flash + JSON出力(structured output) - Qiita
https://qiita.com/youtoy/items/d48576c2b6eba684add5

2025-01-07_00-39-23.jpg

実装内容と試した結果

今回用に実装した内容は以下のとおりです。

コメントアウトしている inputText については、1回目のお試し・2回目のお試しのそれぞれで使った内容を残す意味で書いています。

import Anthropic from "@anthropic-ai/sdk";
const anthropic = new Anthropic();

const inputText = "四国4県について答えて";
// const inputText = "東北地方について答えて";

const msg = await anthropic.messages.create({
  model: "claude-3-5-haiku-20241022",
  max_tokens: 1000,
  tools: [
    {
      name: "get_city",
      description: "日本の都道府県の県庁所在地を返して",
      input_schema: {
        type: "object",
        properties: {
          prefectures: {
            type: "array",
            items: {
              type: "object",
              properties: {
                prefecture: {
                  type: "string",
                  description: "都道府県名",
                },
                city: {
                  type: "string",
                  description: "県庁所在地",
                },
              },
              required: ["prefecture", "city"],
            },
          },
        },
        required: ["prefectures"],
      },
    },
  ],
  messages: [
    {
      role: "user",
      content: inputText,
    },
  ],
});
console.log(msg.content);

console.log(JSON.stringify(msg.content[1].input, null, 2));

上記を実際に試した結果を見ていきます。

以下は「四国4県について答えて」と聞いた結果です。

2025-01-07_00-15-11.jpg

次に掲載している内容は「東北地方について答えて」と聞いた場合の、以下のほうの出力結果です。
console.log(JSON.stringify(msg.content[1].input, null, 2));

東北6県に関する回答が得られたことが確認できました。

2025-01-07_00-16-00.jpg

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?