🐶
Jina AIのReader APIを試した
はじめに
以下の記事で Jina AI というところが出す Reader API というものが紹介されており、気になったので、試してみました。
Jina Reader APIには、URL やウェブ検索から LLM に適した入力を得られる API である。本 API では、以下のエンドポイントが提供されている。
-
https://r.jina.ai/
- 指定された Web コンテンツの中身を LLM で使用にマークダウン方式にて出力
-
https://s.jina.ai/
- 検索ワードに従い、検索し、検索結果をマークダウンで出力
総括をとして、利用難度が低く、api key を通せばある程度のレイテンシに耐えられるものみたいです。それでも、そこまで高レイテンシには耐えられないので、ユースケースはよく考える必要がありそうです。
https://r.jina.ai/
以下にサンプルコードを示します。出力内容は「Title」「URL Source」「Markdown Content」です。
import requests
from datetime import datetime
r_url = "https://r.jina.ai/"
url = "https://~~" # コンテンツ取得したい URL
is_json = False # json 形式で取得するか
params = {
"url": f"{r_url}{url}",
}
if is_json:
params["headers"] = {"Accept": "application/json"}
response = requests.get(**params)
with open(f"./output/r_{datetime.now().strftime('%Y%m%d%H%M%S')}.md", "w") as file:
file.write(response.text)
https://s.jina.ai/
以下にサンプルコードを示します。出力内容は「Title」「URL Source」「Description」です。検索結果より上位 5 件を取得できます
英語および日本語で検索したが、検索結果にそれほど違和感を感じないです。
import requests
from datetime import datetime
import urllib
s_url = "https://s.jina.ai/"
search_string = "~~~" # 検索ワード
search_string = urllib.parse.quote(search_string)
is_json = False # json 形式で取得するか
params = {
"url": f"{s_url}{search_string}",
}
if is_json:
params["headers"] = {"Accept": "application/json"}
response = requests.get(**params)
with open(f"./output/s_{datetime.now().strftime('%Y%m%d%H%M%S')}.md", "w") as file:
file.write(response.text)
制限
API key を通じるとレートリミットが上がる様子?です。
- r で 20RPM→200RPM
- s で 5RPM→40RPM
料金形態
クレジットは API key に対して、初期 1M token 分無料枠がついてきます。このとき、トークンは、入力を指します。
気になる点
- API key などを管理するダッシュボードがない?
- サイト中にて api key が勝手に生成される。クレジットはサイトに API key を入力した状態で stripe リンクをクリックすると支払いができる。
おわりに
簡単にですが、試した内容をまとめました。比較的使用しやすそうな API なので、何かに利用したい気がしますね。
Discussion