iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
AI & Data

雲端情人 - AI 愛系列 第 5

Day 5:我的 AI 女友開始會聊天了!- 接入大語言模型接入 OpenAI/Groq LLM 到 LINE Bot

  • 分享至 

  • xImage
  •  

在前幾天,我先打通了 LINE → FastAPI → Echo Bot 的資料流,並且部署到 Render。今天開始,進入專案的靈魂階段:讓 AI 雲端情人不只是回 Echo應聲虫,而接入了大語言ai這個仿人類的的語言大腦是能真的「聊天」。

我選擇先串接 OpenAI API,因為它文件齊全、穩定好用。目前openai新會員免費5美元的量額度前沒有了,所以我也準備好 Groq 當替代方案 (免費額度+快)。

整體流程和昨天的 Echo Bot 幾乎一樣,只是多了「呼叫 LLM」這一段:
1. 使用者在 LINE 傳送訊息
2. FastAPI Webhook 收到事件
3. 呼叫 OpenAI / Groq API 產生回覆
4. 回傳給 LINE,用戶就能看到 AI 女友的訊息

💻 程式片段(Day 5:加入 AI 回覆)重點程式碼

from openai import OpenAI
from groq import Groq

# 初始化客戶端
openai_client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
groq_client = Groq(api_key=os.getenv("GROQ_API_KEY"))

conversation_history = {}
MAX_HISTORY_LEN = 10

async def get_async_reply(messages):
    try:
        resp = await openai_client.chat.completions.create(
            model="gpt-4o-mini", 
            messages=messages, 
            max_tokens=800
        )
        return resp.choices[0].message.content
    except Exception:
        groq_resp = groq_client.chat.completions.create(
            model="llama3-70b-8192", 
            messages=messages,
            max_tokens=1200
        )
        return groq_resp.choices[0].message.content

📊 架構圖(Day 5:LLM 串接)

https://ithelp.ithome.com.tw/upload/images/20250829/20112100b6mZetA731.png

到這裡,我的 AI 女友終於能「有靈魂」地對話了。雖然還只是 MVP,但看到她回應我的第一句「嗨~今天好嗎?」的時候,真的很有《雲端情人》那種感覺。


https://ithelp.ithome.com.tw/upload/images/20250829/20112100fz9sKCZeyU.png


上一篇
Day 4 - 天網來了!雲端情人上雲 — 部署到 Render,綁定 Webhook
下一篇
Day 6 妳是否還記得我? - 有記憶的聊天
系列文
雲端情人 - AI 愛13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言