maRkの

気になるアイテムや試してみたことの記録。たまにキャンペン応募

はてなブログに AI チャットボットを設置してみました

自分のブログ記事を学習させた「AI 記事案内のパーツ」を設置してみたので、その作業メモを残しておきます。

簡単にブログパーツの内容は、記事内容を学習させておく、AIチャットボットとの対話で学習した内容に基づいた回答を出力。といった簡易的なものです。かつてのブログペットのような人工無脳のパーツに近いかもしれません。(精度はそれなりになります、業務向けには専門に解説されているサイトを参照してください)
注意点として本文途中にも記載しましたが、本格的な運用には APIは有料版が推奨されています。

必要なサービス

今回使ったのは以下の3つです。無料枠の範囲で実現しています。

Dify
チャットボットを作る土台。これにデータを読み込ませます
Google Gemini API
AIの「脳」の部分。Google AI Studioでキーを取得
はてなブログのエクスポートデータ
記事を一つずつ読み込ませるのは大変なので、一括エクスポートしたデータを使いました

サービス登録から設置の手順

Difyは、ノーコードで生成AIアプリケーションを作ることのできるサービスです。どんなことができるかの詳細は本記事では省略させていただきます。

dify.ai

「今すぐ始める」のような文言をクリックします。
登録の時に使える方法は以下の通りです。

  • メールアドレスとパスワード
  • Google アカウントで登録
  • GitHub アカウントで登録

私の場合は上記のどれを選択してもよかったのですが、GitHubのアカウントを持っているので GitHubにて行いました。
Google のアカウントがある人はそちらでいいかと思います。

Google Gemini APIの利用
APIキーを取得するために、Google AI Studioにログインします。これは Google アカウントがあればすぐに行うことができます。
基本、左下メニューの「Get API Key」ボタンのところをクリックして指示に従って作成しますが詳しい解説は 「Gemini API キー取得」などで検索すれば解説サイトが見つかります。(できるだけ最近の記事を参照されることをおすすめします)
なお、 取得したAPIキーは安全に管理する必要がありますので他者が簡単に見られるような場所に置いたりしないようにします。

サービス登録から設置まで

基本的にはDifyにAPIキーを入れるという流れで、はてなブログのエクスポートデータをアップロードするだけです。

  • 記事データの読み込み: URLを指定して同期する機能(Jina Reader)がエラーで動かなかったので、はてなブログから書き出した「MT形式」のテキストファイルを直接アップロードしました
  • 429エラー(リクエスト過多)発生: 一気に全記事を読み込ませようとすると、Google APIの制限で止まってしまいます。ファイルを数個の記事ごとに小分けにして少しずつアップロードすることで解決
  • ブログへの埋め込み: Difyで発行されたコードを、はてなブログのサイドバーに貼り付けるだけで、右下にチャットボタンが表示されるように

Difyから埋め込みのコード取得は、作成したアプリの任意の名前の管理ページのオーケストレートという項目の画面上の「公開する」のメニュー内の「サイトに埋め込む」から発行されます。
(3種類あります。iframeでの埋め込み・スクリプトによるブログパーツChrome拡張。今回ははてなブログに導入するのでスクリプトによるものを選びました)



設置したパーツの様子です。サイドバーへの埋め込みなのでスマホ向け表示ではパーツが出現致しません。

実際に使ってみた時のスクリーンショット
実際に使ってみた様子

⚠️設置後の動作状況の確認と運用上の注意点

今回は「無料枠」で行ってますためレート制限というものが設けられています。
Google AI Studio にログイン、Dashboard から 「使用量と請求額」(言語設定が日本語の場合です)から確認しておきます。2025年12月頃から大幅に制限が強化されレートの下限が下げられているようなので注意してください。本格運用には有料版が推奨されています。

Dify アプリの「プロンプト」の記載によって回答出力のルールを細かく設定できます。

実際に設定した「URL生成ルール」の指示:

記事を紹介する際は、以下のルールでURLを組み立ててください。 ・ベースとなるURL:https://[あなたのドメイン]/entry/ ・末尾の識別子:ナレッジ(記事データ)内にある BASENAME をそのまま使用する ・完成例:https://[あなたのドメイン]/entry/[BASENAME] ※ 根拠のないURLを捏造することは厳禁。

個人情報入力があった場合の処理をどうするか
エラーメッセージの前に「恐れ入れますが、」を添えてなど。

「中の人」情報を教えるカスタマイズ: 記事とは別に、自分のSNSリンクやプロフィールを「YAML形式」というAIが読みやすい書き方でまとめて、追加のナレッジとしてアップロードしました。

一本弦ギターのある暮らし

イチゲン(1本弦ギター)ギター関連まとめです。

イチゲン(1本弦ギター)を作って感じたこと / note

note.com

買ってよかった 2025

2025年年末で年に一回のタスクになっています。

タイヤストッパー 黄色 ロープ付属

自動車のタイヤストッパー 輪止めです。
軽自動車から4t車まで対応してるそうで、坂道駐車や作業時に。

100円ショップで買ったポーチ。

メッシュになっているので中に何が入ってるかわかるので、音もの関係の小物入れとして使用しております。

AI に折り紙からポリゴン風画像を依頼した結果。

ChatGPT に折り紙画像を提示して、ポリゴン風な立体画にしてみました。

提示したのがこの画像。(実際は折り紙忍者だけのものを提示してます)
折り紙忍者です。
以下の動画を見ながら作成してます。
https://www.youtube.com/watch?v=_zxw2yPxg14


まずは3D化をお願いしてみました。
普通に畳の上に折り紙忍者を置いただけの画像しか提示してない(裏を撮ったものは提示せず)ですが、なかなかの出来だと思います。

次にポリゴン処理をお願いしました。

回転寿司で100円台の🍣を1貫のほうで注文することについて考える

回転寿司で100円台の🍣を1貫のほうで注文することについて考える
(ネタで書いてるからあまり真剣に考察せずに。ネタだけに)

こんな時によさげ 
🍣寿司は種類のほうで多く食べたいような時
🍣サイドメニュー(デザートメニューも含む)を実はメインにして会計は抑えたいとか

デメリットは
ケチぽく見える 
ランクが上な寿司ネタは1貫で皿にのっても見栄えはするが、低価格のネタはどうしても見劣りしてしまう。
一回の注文で頼める皿の上限が決まってたりするから、複数人で行ったりする場合に食べるペースをゆっくりにしないと間が開く。
自分の1貫メニューが1回のオーダーで占めてしまうと、デンモクに自分が歌う曲連続に幾つも入れる人みたいに見えてひんしゅく買いそう

#ネタ
#100円寿司
#寿司🍣