大家好,
希望你還記得我。 (是嗎?請在評論區告訴我。)
在這篇部落格中,我將討論 Radhika:自適應推理與智慧助理。它提供六種不同模式的專業協助:一般模式、生產力模式、健康模式、學習模式、創意模式和 BFF 模式。
{% 嵌入 https://radhika-sharma.vercel.app/ %}
(嘗試一下,提供回饋和建議,請求更改)
框架:帶有 App Router 和 React 18 的 Next.js 14
樣式:帶有自訂設計系統的 Tailwind CSS
元件:shadcn/ui元件庫
圖示:Lucide React 圖示庫
3D 圖形:Three.js 用於粒子視覺化
動畫:CSS 過渡和關鍵影格動畫
AI 整合:Vercel AI SDK 用於統一 LLM 存取
提供者:Groq、Google Gemini、OpenAI、Claude
語音:WebKit 語音辨識與合成 API
儲存:用於聊天持久化和設定的瀏覽器本地存儲
API :用於安全 LLM 通訊的 Next.js API 路由
語言:TypeScript,用於型別安全
建置:經過最佳化的 Next.js 建置系統
部署:Vercel 就緒,支援環境變數
效能:優化捆綁拆分和延遲加載
本節詳細介紹了app/api/chat/route.ts
端點如何處理請求、選擇模型、應用系統提示以及使用不同的 AI 提供者串流回應。
請求處理程序首先解析傳入的 POST 請求的 JSON 主體:
const body = await req.json();
const { messages, mode = "general", provider = "groq", apiKey } = body;
messages
:客戶端發送的對話歷史記錄。
mode
:決定使用哪種系統提示(例如, bff
、 learning
等)。
provider
:指定要使用的 AI 後端( groq
、 openai
、 claude
、 gemini
)。
apiKey
:如果需要使用者金鑰,則對於 OpenAI 和 Claude 是必要的。
程式碼還驗證messages
陣列是否存在且非空。
根據所選模式,選擇系統提示來指導助手的個性和目的:
const systemPrompt = SYSTEM_PROMPTS[mode] || SYSTEM_PROMPTS.general;
模式範例包括:
productivity
bff
creative
wellness
provider
欄位決定使用哪個 AI 模型後端:
Gemini ( google
):使用 Google 的 Gemini 2.0 模型。
OpenAI :使用 GPT 模型(如gpt-4o
、 gpt-3.5-turbo
)。
Claude :使用人擇模型(如claude-3-sonnet
)。
Groq :預設為llama-3
和qwen
等模型。
每個提供者都有自訂邏輯來實例化模型、處理錯誤並使用以下方式串流回應:
await streamText({...})
如果提供者是groq
,則模型選擇是動態的。它會分析最後一條訊息以確定任務類型:
if (lastMessage.includes("analyze") || lastMessage.includes("plan")) {
modelType = "reasoning";
} else if (lastMessage.includes("creative") || lastMessage.includes("design")) {
modelType = "creative";
} else {
modelType = "fast";
}
RADHIKA 根據您的查詢複雜度自動選擇最佳模型:
// Determine which model to use based on conversation context
let modelType = "fast"; // llama-3.1-8b-instant for quick responses
// Use reasoning model for complex analytical tasks
if (query.includes("analyze", "compare", "plan", "strategy", "decision", "problem")) {
modelType = "reasoning"; // llama-3.3-70b-versatile
}
// Use creative model for artistic and innovative tasks
if (query.includes("creative", "brainstorm", "idea", "write", "design", "story")) {
modelType = "creative"; // qwen/qwen3-32b
}
在API路由中自訂模型選擇:
const MODELS = {
groq: {
fast: "llama-3.1-8b-instant",
reasoning: "llama-3.3-70b-versatile",
creative: "qwen/qwen3-32b"
},
gemini: { default: "gemini-2.0-flash" },
openai: { default: "gpt-4o" },
claude: { default: "claude-3-5-sonnet-20241022" }
}
然後選擇適當的模型( reasoning
、 creative
或fast
)並用於回應。
這種方法允許單一 API 路由為多個模型提供者和助理提供服務,同時保持清晰、可擴展的邏輯。
如果您有興趣了解其他邏輯,如語音辨識和語音合成、明/暗模式等,請瀏覽 github repo:
{% 嵌入 https://github.com/RS-labhub/Radhika %}
當你成功實現了應用程式的主要邏輯後,使用 v0、lovable 或 bolt 等 AI 工具根據你的「想法」建立介面。
我使用了 v0 和 ChatGPT。提示……提示……永無止境地提示……觀看下面的影片,了解這個專案的簡要說明和功能。不過,您仍然可以即時存取它!
{% 嵌入 https://www.youtube.com/watch?v=2FW6IJeOkzI
%}如果您喜歡它,請為該 repo 加註星標🌠並在 GH 上關注我。
🤖多模式人工智慧- 一個應用程式中有六種專業助理角色
⚡多提供者支援- Groq、Gemini、OpenAI 和 Claude 集成
🎤進階語音- 語音轉文字輸入與文字轉語音輸出
🎨動態 3D 視覺效果- 具有基於模式的顏色的互動式粒子系統
💾智慧持久化- 自動儲存每個模式的聊天記錄
🚀快速操作- 一鍵存取每個模式下的常見任務
📊即時分析- 即時使用統計與 AI 活動監控
🌙漂亮的使用者介面- 響應式設計,帶有深色/淺色主題
生產力:任務規劃、專案管理、時間優化
健康:健康指導、健身計畫、心理健康支持
學習:教育援助、學習計畫、技能發展
創意:腦力激盪、內容創作、藝術靈感
一般:解決問題、決策、日常對話
BFF :情感支持、閒聊、Z世代友好互動
非常適合需要多功能 AI 助理的用戶,該助理可以適應不同的環境,維護跨專業領域的對話歷史記錄,並透過先進的語音功能提供引人入勝的視覺體驗。
Radhika 是一款先進的 AI 助手,它基於 Next.js 建置,並由 Groq、Gemini、OpenAI 和 Claude 等多家 LLM 供應商提供支援。 RADHIKA 能夠適應不同的互動模式,為生產力、健康、學習和創意任務提供專業協助,甚至可以成為你的 Z 世代好友!
我個人建議你嘗試「 BFF 」模式。你一定會喜歡的。
再次強調,以下是您不想錯過的連結:
現場演示:https://radhika-sharma.vercel.app/(新增了現代/像素 UI 選項)
Github Repo :https://github.com/RS-labhub/Radhika(給它一顆星🌠)
Youtube 示範:https://www.youtube.com/watch?v=2FW6IJeOkzI
謝謝你的閱讀。你太棒了!我是認真的。寶貝,再見,下篇部落格文章再見。 (還有,請一如往常在留言區留言)
原文出處:https://dev.to/rohan_sharma/creating-a-chatbot-from-scratch-and-vibe-coding-the-ui-1bij