iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0

今天要做的就是將gemini所回傳的資料儲存起來,原因有很多,光是之後要串聯其他的程式就有理由要學件事了,不用擔心的太多,雖說將它獨立寫一天似乎非常困難,但是只要將昨天的程式碼小小的更改之後就可以讓他從對話變為儲存功能了

實作時間

安裝該套件(別忘了進入虛擬環境)

pip install python-docx
import os
from dotenv import load_dotenv
from google import genai
from docx   import Document
from docx.shared import RGBColor


load_dotenv()
api_key = os.getenv("API_KEY")

client = genai.Client(api_key=api_key)

model = client.chats.create(model="gemini-2.5-flash")

doc = Document()
doc.add_heading("Gemini chat history",level=1)
print("AI: 你好!請開始對話吧。隨時可以輸入 'exit' 來結束。")

while True:
    user_input = input("User: ")

    if user_input.lower() == 'exit':
        break

    # 使用 chat.send_message() 來發送訊息
    response = model.send_message(message=user_input)

    print(f"Gemini: {response.text}")
    #使用者(藍色)
    user_paragraph = doc.add_paragraph("User: ")
    user_run = user_paragraph.add_run(user_input)
    user_run.font.color.rgb = RGBColor(0, 0, 255)

    # AI(綠色)
    ai_paragraph = doc.add_paragraph("AI: ")
    ai_run = ai_paragraph.add_run(response.text)
    ai_run.font.color.rgb = RGBColor(0, 128, 0)

    # 分隔
    doc.add_paragraph("")

# 儲存 Word 檔
doc.save("chat_history.docx")
print("已將對話儲存到 chat_history.docx")

如果只想儲存文字,可以不用包含RGB的部分

雖然今天只是加了把對話寫進 Word 檔的功能,但它的價值在於:

跨系統傳遞資料
例如 Gemini 給的指令,可以直接被傳給 N8N、Python 腳本、甚至其他 AI 模型。

建立知識庫
所有對話紀錄都能分類、索引,成為未來回答問題的素材庫。

分析與優化
透過歷史資料,我們可以觀察模型回覆的品質、長度、錯誤率,並根據自己的喜好決定適合的模型

自動生成文件
未來可以直接用這些紀錄生成報告、操作手冊,甚至自動寄出。

今天的重點不在於技術難度,而在於讓 AI 的輸出能落地存檔。

明天要介紹什麼是MCP伺服器


上一篇
d5 gemini api key的部分
下一篇
d7 mcp server在幹嘛
系列文
這是一個一個一個 Python API 與 Gemini 整合、n8n入門指南8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言