Dify などを使用していると、ウェブサイトの情報を取得したくなるときがあります。
Difyには、Jina Reader という高機能な本文抽出ツールが用意されていますが、有料で、そこまでは・・・と思ったので作りました。
github リポジトリ
リクエスト
curl -X 'GET' \
'http://localhost:8002/v1/extract?url=https%3A%2F%2Fmicroai.jp%2Fblog%2F70b4bf89-fe4b-451f-ac81-2d757fca8b6a&cache_seconds=1' \
-H 'accept: application/json'
パラメータ
- url : 抽出したいURLを指定
- cache_seconds : 抽出結果をキャッシュする秒数
抽出結果は、ファイルとして永続的に保持されます。その最終更新時刻が 現在時刻-cache_seconds を下回ったときは、新たにURLから最新情報を取得します。
レスポンス
{
"title": "Difyのバージョンが v0.6.11からv0.6.12 に上がったので、Kubernetes で運用しているDifyのバージョンアップを行ってみる | microAI",
"author": null,
"hostname": "microai.jp",
"date": "2024-06-29",
"fingerprint": "b0b37451d481f718",
"id": null,
"license": null,
"comments": "",
"raw_text": "2024/06/28 に v0.6.11 がリリースされていました。Difyは本当に素晴らしいアプリですが、不具合もまだまだ多くあるので、バージョンアップしていきます。 前回から2週間ほどでのバージョンアップ。活発で嬉しいです。 最初に Dify のバージョンアップ中に、(ブログが見づらくなるので省略)...",
"text": "2024/06/28 に v0.6.11 がリリースされていました。Difyは本当に素晴らしいアプリですが、不具合もまだまだ多くあるので、バージョンアップしていきます。\n前回から2週間ほどでのバージョンアップ。活発で嬉しいです。\n最初に\nDify のバージョンアップ中に、、(ブログが見づらくなるので省略)...",
"language": null,
"image": "https://microai.jp/images/ogimage.webp",
"pagetype": null,
"filedate": "2024-07-04",
"source": "https://microai.jp/blog/70b4bf89-fe4b-451f-ac81-2d757fca8b6a",
"source_hostname": "Microai",
"excerpt": null,
"categories": "",
"tags": "microAI,AI,API"
}
使用言語、ライブラリ
fastAPI (python) でできています。
Swagger (openAPI) でのドキュメントが生成されるため、Dify のカスタムツールにそのままインポートすることができます。
main.py
の
servers=[
{
"url": "http://localhost:8002",
"description": "Prod Server"
}
],
上記URLの箇所はご自身の環境に合わせて書き換えてください。
robots.txt
個人的な開発用途が、自分が開発に関わっているサイトの本文抽出目的であったため、robots.txt を読み込む機能を実装していません。
本文抽出する際は、相手に迷惑をかけないようにお願いいたします。