記事ページに要約機能をつけた
作成日: 2024-10-09 作成者: Morix
この記事ページの冒頭に、記事の要約を載せるようにした。
これは記事本文を生成AIに読み込ませ要約をお願いし、その結果を載せてるだけだ。
どんなふうに実現しているのかを説明するよ。
Amazon Bedrock
Amazon BedrockはAWSが提供しているAIサービスで、用意されてる基盤モデルを使ってAPIで簡単に生成AIを呼び出せるよ。
Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガイド] という本でハンズオンで学習できるのでおすすめ。
今回は記事を登録するときにBedrockを呼び出し、本文から自動で要約を作成しDBに保存するようにした。
この要約は記事ページに表示するのと、HTMLのdescriptionで使ってる。
どうやってGoで実装するかはサンプルが提供されてたりするので気になる人はそこを参照してね。
リクエストパラメーター
BedrockのAPIを使うときに指定するリクエストパラメーターのことがよくわからなかったので調べたよ。
この推論パラメーターを調整することで生成AIの回答をいい感じにできる。
パラメーター名 | 説明 |
---|---|
max_tokens | この数値が大きければ生成されるテキスト量が多くなる |
messages | 生成AIに問い合わせるテキストメッセージ |
system | システムプロンプト |
temperature | レスポンスのランダム性。数値をあげるほどランダム性が強くなる |
top_p | 関連する語を関連確率でソートし上位何%を選択対象にするか。この数値が高いと選択した語がほとんど使われる |
説明はこのページを参考にした。
Anthropic Claude Messages API
https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html#model-parameters-anthropic-claude-messages-request-response
どういう値がいいのかわからないので適当に設定したけど、これは今後微調整を続けると思う。
システムプロンプト
システムプロンプトはこんな感じ。
私はMarkdown形式のブログ記事をあなたに渡すので、あなたはその記事内容をすべて読み、私になりきって80文字から100文字程度に要約してください。
これでそれっぽくなったけどどうだろう?
自分が紹介してる風にしたんだけど、違和感あるかもしれない。これも今後調整していきたいな。