0
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?

ユーザー同意型メモリAPI(Ask / Retrieve)をサンプル人物で試す:リクエスト、レスポンス、利用量の数え方

0
Posted at

はじめに

自社で開発している Cognitia の Business API について、実際の呼び出し方と、レスポンス・利用量の数え方を技術的に解説します。現在は無料トライアル期間中で、請求は発生しません。ユーザーが自分のメモリ(メール、ファイル、チャット履歴など)をアプリに接続すると、アプリはそのユーザーについて質問(Ask)したり、構造化データを取り出したり(Retrieve)できます。

アカウント作成直後から 架空のサンプル人物 が用意されているので、実ユーザーなしで動作を確認できます。

1. 準備

  1. https://www.cognitia-ai.com/business/start でビジネスアカウントを作成(会社情報の入力は不要)
  2. ダッシュボードで API キー(cog_biz_...)を発行し、環境変数に入れる
  3. ダッシュボードのクイックスタートに表示されるサンプル人物の ID を控える
export COGNITIA_API_KEY=cog_biz_xxxxxxxx
export SAMPLE_USER_ID=xxxxxxxx   # ダッシュボードに表示される ID

2. Ask:自然言語で質問する

curl -X POST https://www.cognitia-ai.com/api/marketplace/ask-query \
  -H "Authorization: Bearer $COGNITIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"target_user_id\": \"$SAMPLE_USER_ID\", \"query\": \"What is this person working on, and how do they like to travel?\", \"include_evidence\": true}"

レスポンスの主なフィールド:

フィールド 内容
context 回答本文(三人称)
evidence include_evidence: true のときだけ返る。回答の根拠になった出典
usage.credits この呼び出しのクレジット数
usage.charge_usd 正式課金時の想定金額(1クレジット = $0.002)。無料トライアル中は請求されません
usage.input_tokens / output_tokens Ask が実際に使ったトークン数
usage.dedup 同じ質問の再送で、クレジットが計上されなかった場合に true

レスポンスヘッダーにも X-Credits、X-Charge、X-Funding と x-request-id が付きます。問い合わせのときは x-request-id を伝えてください。

3. Retrieve:構造化データを取り出す

import os, requests

res = requests.post(
    "https://www.cognitia-ai.com/api/marketplace/retrieve-query",
    headers={"Authorization": f"Bearer {os.environ['COGNITIA_API_KEY']}"},
    json={"target_user_id": os.environ["SAMPLE_USER_ID"], "query": "upcoming travel", "limit": 20},
)
data = res.json()
print(len(data["entities"]), len(data["facts"]), len(data["edges"]))

Retrieve は entities、facts、edges を返します。limit の上限は 200 です。

4. 利用量の数え方

無料トライアル中は請求されませんが、レスポンスの usage には、正式課金で使う予定の数え方でクレジット数が記録されます。

  • Retrieve:返ってきたレコード数で決まります。20件まで 1 クレジット、以降 20 件ごとに +1、最大 10 クレジット(200件)。limit は上限であって課金単位ではないので、limit: 200 で 20 件しか返らなければ 1 クレジットです。
  • Ask:実際に使った入力・出力トークンから計算します。最低料金はありません。社内の評価では、典型的な呼び出しは入力約 17k / 出力約 500 トークンで、2 クレジット($0.004)程度でした。
  • 重複除外:同じビジネス・同じユーザー・同じ質問は、60 分以内なら重複して計上しません。
  • 入力の上限:Ask の query は 2,000 文字、Retrieve の query は 500 文字、リクエストボディは 16KB まで。超えると 400 / 413 で拒否します。

5. 実ユーザーを接続する

自社ユーザーを接続するときは、サーバーから partner/users を呼んで Connect 用リンクを受け取り、ユーザーをホスト済みの Connect ページに送ります。

await fetch('https://www.cognitia-ai.com/api/marketplace/partner/users', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.COGNITIA_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    email: 'user@example.com',
    external_user_id: 'your-user-id',
    client_id: 'YOUR_CLIENT_ID',
    return_url: 'https://your-app.example/cognitia/return',
    providers: ['gmail', 'google-drive'],
  }),
})

ユーザーは Connect ページでデータソースごとに「オフ / 抽出された事実のみ / 原文まで」を選びます。アプリ側から見えるのは、その範囲だけです。

おわりに

無料トライアル中なので、ここまですべて無料で試せます。API の仕様(MCP 契約・evidence オブジェクトなど)は Apache-2.0 のオープン仕様として公開しています。使ってみての感想や「ここが分かりにくい」「このデータソースが欲しい」といったご意見を、コメントでいただけると嬉しいです。

0
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
0
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?