gpt-3.5-turboでブログ記事をまとめて要約してみました
/ 2 min read
Table of Contents
はじめに
当ブログをAstroにリファクタリングした際に、記事のdescriptionを書き直そうと思ったのですが、 手作業でやるにはあまりに面倒なので、ChatGPTに放り投げました。
方法
前提として、content[2]
がdescription行、content[8:]
が本文になってます。
import glob
from openai import OpenAI
def summarize_text( file_path, model="gpt-3.5-turbo", temperature=0.5, max_tokens=120): # ファイルを読み込む with open(file_path, "r", encoding="utf-8") as f: content = f.readlines() text = "".join(content[8:]) # 本文
# OpenAI設定 client = OpenAI(api_key="xxxxxxxxxxxxxxxxxxxxx")
# 要約 summarize_query = f"""以下のブログ記事の紹介文を120文字以内の簡潔な短い文章で作成してください。 また、参照情報やURLは不要です。: \n\n{text} """ summarized = client.chat.completions.create( messages=[{"role": "user", "content": summarize_query}], model=model, temperature=temperature, max_tokens=max_tokens, ) summarized_description = summarized.choices[0].message.content print(f"紹介文: {summarized_description}\n---")
# descriptionを置換 content[2] = f'description: "{summarized_description}"\n'
# 変更をファイルに書き戻す with open(file_path, "w", encoding="utf-8") as f: f.writelines(content)
使い方
posts = glob.glob("blog/**/*.mdx", recursive=True)for post in posts: print(f"---\n処理: {post}") summarize_text(post)