ReactでAI用検索エンジンexaのapiを使用して検索するメモ
ReactでAI用検索エンジンexaのapiを使用して検索するメモ
exaはAI用の検索エンジンで同社はwebsetsという次世代LLM検索エンジンプラットフォームを公開して現在ウェイトリストが作られている。
そのexaのapiが15ドル分が無料なので、ドキュメントを見ていると、OpenAIの言語モデルを組み合わせることで、exaの検索結果からOpenAIのLLMで要約を生成するシステムなど色々作れるとある。
ドキュメントより
Exa is a search engine made for AIs.
Exa finds the exact content you’re looking for on the web, with three core functionalities:
検索結果も下記のようにJSON形式でとても分かりやすい。
{
requestId: "xxxxxxxxxxxxxxxxxx",
autopromptString: "検索ワード",
resolvedSearchType: "xxx",
results: [
{
score: 00000000000,
title: "xxxx",
id: "xxxx",
url: "xxxx",
publishedDate: "2012-11-17T00:00:00.000Z",
author: "xxxx",
},
...
],
}
実装
15ドル分無料なんで多少無駄遣いしても良いでしょうの精神でexa apiを使用して今回は単純に検索結果を表示するreactアプリケーションを作ってみる。
exa apiのダッシュボードにアクセスしてあらかじめapiキーを作成してください。
公式sdkを使用してAPIキーを渡すだけで簡単に使用できる
npm i exa-js
.envにAPI_KEYを作成する
EXA_API_KEY=XXX
検索関数
const onSearch = async (e: FormEvent<HTMLFormElement>) => {
e.preventDefault();
const exa = new Exa(process.env.NEXT_PUBLIC_EXA_API_KEY);
if (search.length) {
const posts = (await exa.search(search)) as Item;
const convertedPosts = await fetchOpenGraphData(posts);
setPosts({
requestId: posts.requestId,
autopromptString: posts.autopromptString,
results: convertedPosts,
});
}
};
画面
今回のリポジトリ
料金
こんな感じでした。
$5.00 / 1k neural searches (1-25 results)
$25.00 / 1k neural searches (26-100 results)
$2.50 / 1k keyword searches (1-100 results)
$1.00 / 1k pieces of content
いつかexaのapiを使って何かサービスが作れれば良いなと思う。
参考
最後に
間違っていることがあれば、コメントに書いていただけると幸いです。
よろしくお願いいたします。
Discussion