Chainlit快速实现AI对话应用的界面定制化教程

前言

本文主要讲解如何自定义chainlit实现的网页界面的中的一些可以自定修改的样式的实现教程。比如修改自己的logo网站图标或者主题等

翻译

chainlit 默认网页界面显示的是英文,如果我们想显示为其他语言可以进行以下操作。
翻译文件位于项目根目录下的.chainlit/translations目录中。文件以语言代码命名,例如en-US.json英语(美国)。

自定义 UI 文本

除了标准翻译之外,您还可以自定义 UI 中使用的前端组件的文本。每个 UI 元素都与翻译文件中的唯一翻译键相关联。通过修改这些键,您可以根据需要个性化或本地化 UI 文本。

例如,要将导航选项卡的标签从“自述文件”更改为“文档”,请在翻译文件中找到相应的键(例如components.organisms.header.readme)并更新其值:

"components.organisms.header.readme": "Documentation"

添加新语言

除了修改.chainlit/translations目录下默认的json配置文件外,我们还可以通过新语言的方式,实现国际化。代码会更具用户的电脑系统自动匹配国家和语言。
要添加新语言,请在.chainlit/translations目录中创建一个新的json文件,并以语言代码作为文件名。语言代码的格式应为languageCode-COUNTRYCODE,例如en-US英语(美国)或en-GB英语(英国) zh-CN 中文(中国)。
在这里插入图片描述

检查翻译

如果要检查新添加的语言翻译json文件格式是否正确,请运行以下命令:

chainlit lint-translations

翻译 chainlit.md 文件

您可以为chainlit.md文件定义多种翻译。例如chainlit_pt-BR.md葡萄牙语(巴西)和chainlit_es-ES.md西班牙语(西班牙)。文件将根据浏览器的语言加载,chainlit.md如果没有可用的翻译,则默认为浏览器的语言。

重置

要重置翻译,请删除.chainlit/translations目录并重新启动 Chainlit 应用程序:

chainlit run my-app.py

Logo

Chainlit 应用程序支持暗模式和亮模式。为此,请准备两个版本的徽标,分别命名为logo_dark.pnglogo_light.png。将这些徽标放在/public应用程序旁边的文件夹中。重新启动应用程序后,您的自定义徽标应会相应显示。

网站图标

为了进一步提升品牌形象,你还可以更新应用的favicon.ico。将一个名为 favicon.ioc 的图像文件放置在与你的应用相邻的public夹中。重启应用后,新的favicon图标就会生效。

头像

默认助手头像为应用程序的图标。

但是,您可以通过将图像文件放入文件夹中来自定义头像/public/avatars。图像文件应以消息作者的名字命名。例如,如果作者是My Assistant,则头像应命名为my_assistant.png

public/
└── avatars/└── my_assistant.png

代码中的使用:


author = "My Assistant"@cl.on_chat_start
async def start_chat():content = "你好,我是泰山AI智能客服,有什么可以帮助您吗?"msg = cl.Message(content=content, author=author)await msg.send()@cl.on_message
async def on_message(message: cl.Message):messages  = [{"role": "user","content": [{"type": "text", "text": message.content}, *images_content],}]msg = cl.Message(content=messages.content, author=author)await msg.send()

主题

想要刷新应用的外观?您可以轻松更改.chainlit目录下的config.toml文件中的默认主题颜色。

目前,您可以自由修改:

  • 背景颜色:此选项允许您更改应用程序背景的颜色。
  • 纸张颜色:这会改变应用程序内“纸张”元素的颜色,例如导航栏、小部件等。
  • 主色调:包括三种色调 - 主色、深色和浅色。这些颜色主要用于交互式界面元素。

如果您使用 -w(文件观察器)启动 Chainlit 应用程序,则每次更新主题时它都会刷新!

默认主题

要设置默认主题,请导航到文件[UI.theme]中的部分config.toml并更新default值。

[UI.theme]default = "dark"

浅色主题修改

要修改浅色主题,请查找或创建部分[UI.theme.light]并根据您的喜好更新颜色。

[UI.theme.light]background = "#110061"paper = "#FFFFFF"[UI.theme.light.primary]main = "#110061"dark = "#180039"light = "#FFE7EB"

暗色主题修改

[UI.theme.dark]background = "#FAFAFA"paper = "#FFFFFF"[UI.theme.dark.primary]main = "#A80061"dark = "#380039"light = "#FFE7EB"

网站(助理)名称和描述

[UI]
# 网站(助理)的名字
name = "泰山AI"# 助手的描述信息。这用于HTML标签中。
description = "泰山出品的人工智能AI助手"# 默认情况下,大型内容会被折叠以获得更简洁的用户界面。
default_collapse_content = true# 在用户界面上隐藏思考过程的细节。
hide_cot = false

字体

要修改网页界面中的字体为自定义字体,请修改.chainlit/config.toml中的配置设置。

[UI]
# This should be a google font url
custom_font = "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap"

然后,更新主题的字体系列以使用自定义字体。

[UI.theme]font_family = "Inter, sans-serif"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/391771.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正点原子imx6ull-mini-Linux驱动之Linux I2C 驱动实验(21)

I2C 是很常用的一个串行通信接口,用于连接各种外设、传感器等器件,在裸机篇已经对 I.MX6U 的 I2C 接口做了详细的讲解。本章我们来学习一下如何在 Linux 下开发 I2C 接口器件 驱动,重点是学习 Linux 下的 I2C 驱动框架,按照指定的…

python中类class的魔法方法

开始介绍之前,我们先看下之前文章我们介绍过的内置类merryview的一些方法,如下图所示: 有很多双下划线开始和结束的method,这么多method是做啥子用的呢? 其实这些方法就是我们常说的魔法方法,也是python中的…

力扣——3143.正方形中的最多点数

题目: 自己的题解(史): PS:自己看了好几遍才看懂题目,然后想看题解,但是又看到了“标签”是 于是靠着自己效率极低的写了出来。 思路:二分 首先利用map,将每个坐标和标…

Es6常用的一些数组处理方法

在平时的开发中,我们很多时候用到数组结构数据,那么如何高效处理数组是可以提高开发效率的,现在越来越多人使用es6,那么它的很多方法简化了我们对数据的操作,比如以前数组循环用for循环写比较多的代码,现在…

20 注意力机制—注意力机制在seq2seq

1.使用注意力机制的seq2seq 注意力机制在 NLP 中的应用,也是最早的工作之一动机 在机器翻译的时候,每个生成的词可能相关于源句子中不同的词在语言翻译的时候,中文和英文之间的翻译可能会存在倒装,但是可能在西方语言之间,相同意思的句子中的词的位置可能近似地是对应的,…

Linux命令用法

文章目录 前言一、Linux基础命令1. Linux目录结构2. Linux命令入门3. 目录切换相关命令(cd、pwd)4. 相对路径、绝对路径和特殊路径符5. 创建目录命令((mkdir)6. 文件操作命令part1(touch、cat、more)7. 文件操作命令pa…

端侧模型与端到端模型,两者是一个东西吗

端侧模型 专为在端侧设备上运行而设计的人工智能模型,它们通常具有较小的模型参数量,以适应端侧设备的计算能力和内存限制。端侧模型可以快速响应,保护用户隐私,并且无需依赖云端算力,因此在消费电子产业中具有重要的…

学习记录——day25 多线程编程 临界资源 临界区 竞态 线程的同步互斥机制(用于解决竟态)

目录 ​编辑 一、多进程与多线程对比 二、 临界资源 临界区 竞态 例1:临界资源 实现 输入输出 例2:对临界资源 进行 减减 例子3:临界资源抢占使用 三、线程的同步互斥机制(用于解决竟态) 3.1基本概念 3.2线…

C# 实现改造 GooFlow 流程图插件与数据库应用的结合

目录 关于 GooFlow 功能需求 范例运行环境 设计数据表 流程项目表 流程项目节点明细表 流程项目节点审批人表 人员信息表 示例代码 流程图主功能 设置审批人信息 运行结果演示 总结 关于 GooFlow GooFlow 一个基于 Jquery/FontAwesome 的流程图/架构图画图插件&…

Spring File Storage(文件的对象存储)框架基本使用指南

概述 本文仅作为快速入门,深入学习及使用详见官网 云存储 在开发过程当中,会使用到存文档、图片、视频、音频等等,这些都会涉及存储的问题,文件可以直接存服务器,但需要考虑带宽和存储空间,另外一种方式…

漏洞挖掘 | src中一次证书站有趣的SQL注入

一、确定站点 按照以前文章中提到的寻找可进站测试的思路,找到了某证书站的一处站点,通告栏中写明了初始密码的结构,因此我们可通过信息搜集进入该站点(可以考虑去搜集比较老的学号,因为这样的账号要么被冻结,要么就是…

AMD Product Specifications - AMD 产品规格汇总

AMD Product Specifications - AMD 产品规格汇总 1. Desktop, Laptop and Workstation Processor Specifications (台式处理器、笔记本电脑处理器和工作站处理器规格)2. Server Processor Specifications (服务器处理器规格)3. Embedded Processor Specifications (嵌入式处理器…

土耳其射击运动员尤素夫迪凯克在巴黎奥运会上成为互联网热门人物

这名51岁的男子以自己的方式获得了第二名,这对他的祖国来说是一个历史性的时刻。 这位冷静沉着的土耳其手枪射击运动员周二在 2024 年巴黎奥运会上获得银牌,在网上吸引了众多粉丝。 尤素夫迪克与他的搭档塞夫瓦尔伊莱达塔尔汉在混合团体 10 米气手枪比赛中获得第二…

jupyter notebook安装

1.安装 pip install notebook 2.显示配置文件: jupyter notebook --generate-config 3.修改代码路径: 编辑配置文件C:\Users\a\.jupyterjupyter_notebook_config.py 4.运行 jupyter notebook 会自动弹出http://localhost:8888/tree

QT 笔记

HTTPS SSL配置 下载配置 子父对象 QTimer *timer new QTimer; // QTimer inherits QObject timer->inherits("QTimer"); // returns true timer->inherits("QObject"); // returns true timer->inherits("QAbst…

保形分位数回归(CQR)

目录 简介1 介绍提纲式总结 分位数回归从数据中估计分位数 3 共性预测4 保形分位数回归(CQR)两个定理 6 实验7 结论 简介 保形预测是一种构造在有限样本中获得有效覆盖的预测区间的技术,无需进行分布假设。尽管有这种吸引力,但现有的保形方法可能是不必…

【文心智能体】梗图七夕版,一分钟让你看懂如何优化prompt,以及解析低代码工作流编排实现过程和零代码结合插件实现过程,依然是干货满满,进来康康吧

目录 背景什么是梗图梗图概念梗图结构 低代码开发最小运行单元大模型链提示词模板文心模板输出效果 测试工具链HTTP请求工具 梗图工具链全流程 梗图优化Prompt提示词优化后梗图结构提示词前后对比优化前效果优化后效果API接口BOS图片水印 梗图插件格式说明构思插件清单文件定义…

HTML-07.表格标签

一、要制作的表格如下 二、代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>表格标签<…

数据结构——双链表详解(超详细)

前言&#xff1a; 小编在之前已经写过单链表的创建了&#xff0c;接下来要开始双链表的讲解了&#xff0c;双链表比单链表要复杂一些&#xff0c;不过确实要比单链表更好进行实现&#xff01;下面紧跟小编的步伐&#xff0c;开启今天的双链表之旅&#xff01; 目录 1.概念和结构…

【已解决】没有密码,如何解除PPT的“只读方式”?

PPT可以设置有密码的“只读方式”&#xff0c;保护文件不被随意编辑更改。 在设置保护后&#xff0c;打开PPT时就会弹出对话框&#xff0c;提示需要“输入密码以修改或以只读方式打开”&#xff0c;也就是输入密码才能编辑修改PPT&#xff0c;如果点击“只读”也能打开文件&am…