news 2026/6/22 20:01:25

GLM-4-9B-Chat-1M Chainlit定制教程:品牌Logo+主题色+隐私政策弹窗集成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GLM-4-9B-Chat-1M Chainlit定制教程:品牌Logo+主题色+隐私政策弹窗集成

GLM-4-9B-Chat-1M Chainlit定制教程:品牌Logo+主题色+隐私政策弹窗集成

1. 环境准备与快速部署

在开始定制Chainlit前端之前,我们需要先确保GLM-4-9B-Chat-1M模型已经成功部署。使用vLLM部署的模型可以通过以下命令检查服务状态:

cat /root/workspace/llm.log

如果看到类似下面的输出,说明模型已成功加载并准备好接收请求:

Model loaded successfully Server started on port 8000

2. Chainlit基础配置

2.1 安装Chainlit

确保你的Python环境已安装Chainlit:

pip install chainlit

2.2 创建基础应用

创建一个名为app.py的文件,包含最基本的Chainlit应用代码:

import chainlit as cl @cl.on_message async def main(message: cl.Message): # 这里将添加与GLM-4-9B-Chat-1M的交互逻辑 await cl.Message(content=f"收到消息: {message.content}").send()

3. 品牌Logo集成

3.1 准备Logo文件

将你的品牌Logo图片(建议尺寸200x200像素)放在项目目录的assets文件夹中,命名为logo.png

3.2 配置Chainlit使用自定义Logo

修改app.py文件,添加Logo配置:

import chainlit as cl @cl.on_chat_start async def start(): await cl.Avatar( name="Your Brand", path="./assets/logo.png" ).send() @cl.on_message async def main(message: cl.Message): # 模型交互逻辑 pass

4. 主题色定制

4.1 创建主题配置文件

在项目根目录创建chainlit.md文件,添加以下内容配置主题色:

# 主题配置 theme: primaryColor: "#4F46E5" # 主色调 backgroundColor: "#FFFFFF" # 背景色 textColor: "#1F2937" # 文字颜色

4.2 可用颜色变量

Chainlit支持以下CSS颜色变量定制:

  • primaryColor: 按钮、链接等主要交互元素
  • backgroundColor: 应用背景色
  • textColor: 主要文本颜色
  • secondaryBackgroundColor: 次要背景区域
  • borderColor: 边框颜色

5. 隐私政策弹窗实现

5.1 创建隐私政策内容

assets文件夹中创建privacy_policy.html文件,包含你的隐私政策内容:

<div> <h2>隐私政策</h2> <p>我们重视您的隐私...</p> <!-- 详细隐私政策内容 --> </div>

5.2 添加弹窗逻辑

修改app.py,在聊天开始时显示隐私政策弹窗:

@cl.on_chat_start async def start(): # 显示Logo await cl.Avatar(name="Your Brand", path="./assets/logo.png").send() # 隐私政策弹窗 with open("./assets/privacy_policy.html", "r") as f: policy = f.read() actions = [ cl.Action(name="accept", value="accept", label="同意"), cl.Action(name="decline", value="decline", label="拒绝") ] res = await cl.AskUserMessage( content=policy, actions=actions, timeout=300 ).send() if res and res.get("value") == "decline": await cl.Message(content="您需要同意隐私政策才能继续使用服务").send() raise cl.Error("用户拒绝隐私政策")

6. 连接GLM-4-9B-Chat-1M模型

6.1 添加模型交互逻辑

更新app.py中的消息处理函数,连接vLLM部署的GLM模型:

import requests @cl.on_message async def main(message: cl.Message): # 调用GLM-4-9B-Chat-1M API response = requests.post( "http://localhost:8000/v1/chat/completions", json={ "model": "glm-4-9b-chat-1m", "messages": [{"role": "user", "content": message.content}] } ) if response.status_code == 200: result = response.json() await cl.Message(content=result["choices"][0]["message"]["content"]).send() else: await cl.Message(content="模型请求失败").send()

6.2 添加对话历史支持

为了支持多轮对话,我们需要维护对话上下文:

@cl.on_chat_start async def start(): # 初始化对话历史 cl.user_session.set("conversation", []) # 其他初始化代码... @cl.on_message async def main(message: cl.Message): conversation = cl.user_session.get("conversation") conversation.append({"role": "user", "content": message.content}) response = requests.post( "http://localhost:8000/v1/chat/completions", json={ "model": "glm-4-9b-chat-1m", "messages": conversation } ) if response.status_code == 200: result = response.json() assistant_reply = result["choices"][0]["message"]["content"] conversation.append({"role": "assistant", "content": assistant_reply}) await cl.Message(content=assistant_reply).send()

7. 运行与测试

7.1 启动Chainlit应用

使用以下命令启动定制后的Chainlit前端:

chainlit run app.py -w

7.2 测试所有功能

  1. 检查品牌Logo是否正确显示
  2. 验证主题色是否应用成功
  3. 确认隐私政策弹窗在首次访问时出现
  4. 测试与GLM-4-9B-Chat-1M模型的对话功能

8. 总结

通过本教程,我们完成了以下定制工作:

  1. 品牌形象集成:添加了自定义Logo,增强品牌识别度
  2. UI主题定制:配置了符合品牌风格的主题颜色
  3. 隐私合规:实现了隐私政策弹窗,确保合规性
  4. 模型连接:完整对接了GLM-4-9B-Chat-1M大模型

这些定制不仅提升了用户体验,也使你的AI应用更具专业性和品牌一致性。你可以进一步扩展功能,如添加多语言支持、文件上传处理等,打造更强大的AI应用前端。

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 9:28:52

ChatGLM3-6B快速部署教程:Docker镜像拉取+RTX 4090D显卡适配步骤

ChatGLM3-6B快速部署教程&#xff1a;Docker镜像拉取RTX 4090D显卡适配步骤 1. 项目概述 ChatGLM3-6B-32k是由智谱AI团队开源的大语言模型&#xff0c;经过深度重构后能够在本地服务器实现高效稳定的智能对话。本教程将指导您完成从Docker镜像拉取到RTX 4090D显卡适配的完整部…

作者头像 李华
网站建设 2026/6/10 13:04:18

GLM-Image部署教程:Kubernetes集群中GLM-Image服务编排

GLM-Image部署教程&#xff1a;Kubernetes集群中GLM-Image服务编排 1. 项目概述 GLM-Image是由智谱AI开发的先进文本到图像生成模型&#xff0c;能够根据文字描述生成高质量的AI图像。本教程将指导您如何在Kubernetes集群中部署GLM-Image的Web交互界面服务。 这个基于Gradio…

作者头像 李华
网站建设 2026/6/15 17:06:58

Glyph镜像使用全记录,开箱即用太省心

Glyph镜像使用全记录&#xff0c;开箱即用太省心 1. 为什么说“开箱即用”不是口号&#xff1f; 你有没有试过部署一个视觉推理模型&#xff0c;结果卡在环境配置上两小时&#xff1f;装完PyTorch又报CUDA版本冲突&#xff0c;调通VLM加载后发现显存爆了&#xff0c;最后连第…

作者头像 李华
网站建设 2026/6/13 18:54:33

3分钟上手AI智能抠像:OBS背景替换插件零基础配置指南

3分钟上手AI智能抠像&#xff1a;OBS背景替换插件零基础配置指南 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https://g…

作者头像 李华
网站建设 2026/6/9 19:39:23

WeKnora实战手册:批量处理PDF转文本+WeKnora问答自动化流水线

WeKnora实战手册&#xff1a;批量处理PDF转文本WeKnora问答自动化流水线 1. WeKnora核心能力解析 WeKnora是一款基于Ollama框架构建的知识库问答系统&#xff0c;它的独特之处在于能够将任意文本转化为即时知识库&#xff0c;并基于这些内容提供精准可靠的问答服务。与传统的…

作者头像 李华
网站建设 2026/6/12 9:50:18

Z-Image-Turbo部署后无法访问?常见网络问题解析

Z-Image-Turbo部署后无法访问&#xff1f;常见网络问题解析 1. 问题定位&#xff1a;先确认是不是真“无法访问” 很多用户在镜像启动后执行 docker run -it --gpus all -p 7860:7860 z-image-turbo&#xff0c;终端显示日志滚动、模型加载完成、服务启动提示出现&#xff0c…

作者头像 李华