Gemma Chatbot 🦙。这是一套基于 Google 的 Gemma 模型、支持本地推理、C++ 与 Python 核心开发,使用 Gradio 构建前端交互介面,集多语言、即时参数调整、聊天记录与多模态支援于一身的轻量级 LLM 聊天框架。
专案背景与定位
Gemma Chatbot 的设计:
-
轻量本地部署:不依赖云端 API,搭配 llama.cpp 运行 Gemma 模型,真正实现私有化 LLM。
-
面向研发人员:无论是调参实验、Prompt 设计还是前端集成测试,都能快速启动。
-
开箱即用:一键启动 Gradio 前端,内置多语言支持与参数调节 UI。
-
易于扩展:代码结构清晰,支持模组化扩充,例如多角色 Prompt、RAG 插件等。
技术选型与架构概览
整个系统架构分为三层:
模块 | 技术组件 | 说明 |
---|---|---|
前端 UI | Gradio + HTML | 建立用户与模型之间的交互介面 |
应用逻辑层 | Python(Flask / Gradio Blocks) | 控制参数设定、日志记录、聊天历史管理等 |
推理引擎层 | llama.cpp + gguf 格式 Gemma 模型 | 提供本地化推理能力,通过 HTTP API 接入 |
多語言 + 多場景,LLM
Gemma Chatbot 内建中文、英文、日文、韩文介面,并且每个语种都对应专属的 system prompt,可快速切换模型语境风格:
你是一位聪明且谦虚的语言模型助手,请用简体中文作答。
You are a helpful and humble language model assistant.
场景模式方面,提供三组预设参数调配方案:
模式 | 特点 |
---|---|
💬 聊天模式 | 回应自然、保守,适合日常问答 |
🎨 创作模式 | 高随机性,适合写小说/改写/生成文案等场景 |
💻 编程模式 | 保守风格但上下文长度扩展,适用于程式码生成与 |
特色功能一览
-
✅ 即时参数控制:随时调整 temperature / top-p / mirostat 等推理参数
-
✅ 自动保存对话记录:每次对话自动生成 jsonl 档案
-
✅ 模型后端独立:可接入任意提供 /completion 的推理服务(如 llama.cpp / vLLM / RWKV 等)
-
✅ REST API 支援:方便嵌入你自己的 AI 系统或机器人服务
项目结构简介
-
gradio_llama_chat.py:Gradio 主 UI 与交互逻辑
-
llama-server.log:服务端日志文件
-
chat_config.json:推理参数保存文件
-
lang_config.json:界面语言设置保存
-
chat_logs_*.jsonl:对话记录
-
LLM 推理 API 默认连接到 http://localhost:8080/completion
✅ 请确保 llama-server 已启动,并监听在 8080 端口
如何部署?
# 安装 Gradio
pip install gradio
# 启动本地伺服器
python gradio_llama_chat.py
请务必确保 llama-server 已启动,并监听 http://localhost:8080/completion 接口。建议搭配支持 Gemma 模型的 QAT 版本(例如:Gemma 3B / 7B Q4_K_M / Q6_K)。
模型与参数推荐
使用者可依需求自定义:
{
"temperature": 0.7,
"top_p": 0.9,
"max_tokens": 256,
"mirostat": 0
}
截图
下一步规划
這套系统目前仍在快速开发中,后续将会加入:
-
🔗 接入 RAG 检索系统(例如 faiss + 自建知识库)
-
🧑💼 多用户切换与身份登入
-
🧠 Prompt 导图与角色人格设计模块
-
📊 推理效能与 token 用量统计视觉化
开源地址
🧾 GitCode 開源項目地址:
👉 GitCode - 全球开发者的开源社区,开源代码托管平台
我是一位独立开发者,加入使用者社群,一起讨论私有化 LLM 与 RAG 架构实践,欢迎 Star、Fork、Issue 交流。
如果想打造属于自己的 AI 助理,不想被云端服务绑架
那就试试这套落地的 Gemma Chatbot 🚀!