メインコンテンツへスキップ
Olostepの/v1/answersエンドポイントを通じて、自然言語でウェブを検索し、AIによって生成された回答とデータを希望するJSON形式で返すことができます。これにより、製品を実世界のデータとソースに基づかせ、データポイントやスプレッドシートを充実させることができます。
  • 質問をしたり、AIに充実させたいデータポイントを提供したりする
  • オプション: 返してほしいJSON構造を指定する
これにより以下が行われます:
  • ウェブ上で見つけたデータを検索、クリーン、検証し、返す
  • 回答を生成するために使用されたソースを返す
  • データが検証できない場合にはNOT_FOUND値で不確実性を処理する
APIの詳細については、回答エンドポイントAPIリファレンスを参照してください。 デフォルトでは、一般的なウェブインデックスとコスト効率の良いLLMバリデーターを使用します。 エンタープライズのお客様は、業界特有の独自のウェブインデックス、専用のプライベートデータ(電話番号やメールを含む)、お客様のユースケースに最も適したカスタムLLMモデルにアクセスできます。アクセスについてはお問い合わせください: info@olostep.com

ユースケース

回答エンドポイントは以下に使用できます:
  • AIアプリケーションを実世界のデータと事実に基づかせる
  • 採用、金融、コンサルティング、営業のためにスプレッドシートやデータポイントを充実させる
こちらは回答エンドポイントによって強化されたAI駆動のスプレッドシートのデモです: https://www.olostep.com/demos/spreadsheet-enrich

インストール

# pip install requests

import requests

使用法

質問をして、出力をガイドするためにJSONスキーマを渡します。jsonパラメータを渡さない場合、APIはresultフィールド内に回答テキストが含まれたjsonオブジェクトを返します。
import requests, json

endpoint = "https://api.olostep.com/v1/answers"
payload = {
  "task": "J.K.ローリングの最新の本は何ですか?",
  "json": {"book_title": "", "author": "", "release_date": ""}
}
headers = {"Authorization": "Bearer <YOUR_API_KEY>", "Content-Type": "application/json"}

response = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(response.json(), indent=2))

レスポンス

他のOlostepエンドポイントと同様に、answerオブジェクトがレスポンスとして返されます。answerオブジェクトにはidresultなどのプロパティがあります。
{
  "id": "answer_9bi0sbj9xa",
  "object": "answer",
  "created": 1760327323,
  "metadata": {},
  "task": "J.K.ローリングの最新の本は何ですか?",
  "result": {
    "json_content": "{\"book_title\":\"The Hallmarked Man\",\"author\":\"J.K. Rowling (as Robert Galbraith)\",\"release_date\":\"2 September 2025\"}",
    "json_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/answer_9bi0sbj9xa.json",
    "sources": [
      "https://strikefans.com/the-books/",
      "https://www.facebook.com/groups/496943608606523/posts/1136830134617864/",
      "https://robert-galbraith.com/strike-books/",
      "https://www.novelsuspects.com/series-list/robert-galbraith-cormoran-strike-series-in-order/",
      "https://www.reddit.com/r/books/comments/1na833a/jk_rowlings_new_strike_novel_900_pages_of_romance/",
      "https://www.harrypotter.com/writing-by-jk-rowling",
      "https://stories.jkrowling.com/book-news/",
      "https://deadline.com/2024/09/jk-rowling-writing-futuristic-novel-1236093909/",
      "https://www.reddit.com/r/FantasticBeasts/comments/1cl1shn/jk_rowling_may_2024_ive_got_six_more_books_in_my/",
      "https://www.jkrowling.com/news/"
    ]
  }
}
jsonパラメータに従ってフォーマットされた要求された回答はresponse.result.json_contentにあり、ソースのリストはresponse.result.sourcesにあります。文字列化されたJSONを解析して構造化データにアクセスできます。
{
  "book_title": "The Hallmarked Man",
  "author": "J.K. Rowling",
  "release_date": "September 2, 2025"
}
ソースの例:
[
    "https://www.harrypotter.com/writing-by-jk-rowling",
    "https://stories.jkrowling.com/book-news/",
    "https://deadline.com/2024/09/jk-rowling-writing-futuristic-novel-1236093909/",
    "https://www.reddit.com/r/FantasticBeasts/comments/1cl1shn/jk_rowling_may_2024_ive_got_six_more_books_in_my/",
    "https://www.jkrowling.com/news/"
]
jsonパラメータを渡さない場合、APIはresultフィールド内に回答テキストが含まれたjsonオブジェクトを返します。
{
  "result": "J.K.ローリングの最新の本はThe Hallmarked Manです。"
}

柔軟なjsonパラメータ

  • スキーマとして空の値を持つJSONオブジェクトを提供するか、希望するデータを記述する文字列を提供します。
  • エージェントが自信を持てない場合、そのフィールドにはNOT_FOUNDが返されます。
Python
import requests, json

endpoint = "https://api.olostep.com/v1/answers"
payload = {
  "task": "Olostepはどれくらいの資金を調達しましたか?", 
  "json": {
    "amount": ""
  }
}
headers = {
  "Authorization": "Bearer <YOUR_API_KEY>",
  "Content-Type": "application/json"
}
response = requests.post(endpoint, json=payload, headers=headers)
print(json.dumps(response.json(), indent=2))
これは次のように返されます:
{
  "amount": "NOT_FOUND"
}

価格

回答は1リクエストあたり20クレジットです。