当前位置: 首页 > news >正文

Chainlit实现启动页面选择不同的LLM启动器等设置界面

基本概念:启动选择器(Starters)

启动选择器(Starters) 是一种帮助用户开始与您的助手互动的建议。您可以为助手定义最多4个启动建议,并且可以为每个启动建议指定一个图标。

示例代码 (starters.py)
import chainlit as cl@cl.set_starters
async def set_starters():return [cl.Starter(label="晨间例行程序构思",message="你能帮我创建一个个性化的晨间例行程序来提高我一天中的生产力吗?从询问我的现有习惯和早晨哪些活动能让我精力充沛开始。",icon="/public/idea.svg",),cl.Starter(label="简单解释超导体",message="像对五岁孩子那样解释超导体。",icon="/public/learn.svg",),cl.Starter(label="Python脚本用于自动化发送每日邮件报告",message="编写一个Python脚本来自动发送每日邮件报告,并指导我如何设置。",icon="/public/terminal.svg",),cl.Starter(label="邀请朋友参加婚礼的短信",message="写一条短信邀请一位朋友作为我的伴郎参加下个月的婚礼。我希望保持简短和随意,并提供选择退出的方式。",icon="/public/write.svg",)]

在这里插入图片描述

使用聊天配置文件的启动建议

启动建议也可以与**聊天配置文件(Chat Profiles)**一起使用。您可以为不同的聊天配置文件定义不同的启动建议。

示例代码 (starters_with_chat_profiles.py)
@cl.set_chat_profiles
async def chat_profile(current_user: cl.User):if current_user.metadata["role"] != "ADMIN":return Nonereturn [cl.ChatProfile(name="我的聊天配置文件",icon="https://picsum.photos/250",markdown_description="底层的LLM模型是 **GPT-3.5**,一个 *1750亿参数* 的模型,训练于 410GB 的文本数据。",starters=[cl.Starter(label="晨间例行程序构思",message="你能帮我创建一个个性化的晨间例行程序来提高我一天中的生产力吗?从询问我的现有习惯和早晨哪些活动能让我精力充沛开始。",icon="/public/idea.svg",),cl.Starter(label="简单解释超导体",message="像对五岁孩子那样解释超导体。",icon="/public/learn.svg",),],)]

如果您想让用户从预定义的配置助手列表中进行选择,聊天配置文件非常有用。例如,您可以为支持聊天、销售聊天或特定产品的聊天定义聊天配置文件。
在这里插入图片描述
示例代码

import chainlit as cl@cl.set_chat_profiles
async def chat_profile():return [cl.ChatProfile(name="GPT-3.5",markdown_description="The underlying LLM model is **GPT-3.5**.",icon="https://picsum.photos/200",),cl.ChatProfile(name="GPT-4",markdown_description="The underlying LLM model is **GPT-4**.",icon="https://picsum.photos/250",),]@cl.on_chat_start
async def on_chat_start():chat_profile = cl.user_session.get("chat_profile")await cl.Message(content=f"starting chat using the {chat_profile} chat profile").send()

相关文章:

Chainlit实现启动页面选择不同的LLM启动器等设置界面

基本概念:启动选择器(Starters) 启动选择器(Starters) 是一种帮助用户开始与您的助手互动的建议。您可以为助手定义最多4个启动建议,并且可以为每个启动建议指定一个图标。 示例代码 (starters.py) impo…...

SQL - 增、改、删

插入 (insert into) 插入单行 insert into 表名 values ( 对应列的值,用,号间隔) //一般主键值用default,不可填null的不要填null insert into 表名 (需要提供值的列名) values (与之对应的提供的值) //其他的值只需mysql默认提供 insert into 表名 子查…...

怎么屏蔽电脑监控软件?企业管理者的智慧选择——精准定位,合理屏蔽,让监控软件成为助力而非障碍!

电脑监控软件在企业管理中扮演着日益重要的角色,它们能够提升工作效率、保障信息安全、预防内部风险。然而,过度或不当使用监控软件也可能引发员工隐私担忧,影响工作积极性和团队氛围。因此,作为企业管理者,如何精准定…...

Linux·权限与工具-make

1. Makefile/makefile工具 首先展示一下,makefile工具如何使用。我们先写一个C语言程序 然后我们建立一个Makefile/makefile文件,m大小写均可。我们在文件中写入这样两行 wq保存退出后,我们使用 make 命令 可以看到生成了可执行程序&#xff…...

C++的序列容器——数组

前言: 这篇文章我们就开始新的章节,我们之前说的C/C的缺陷那部分内容就结束了。在开始新的章之前我希望大家可以先对着题目思考一下,C的容器是什么?有什么作用?下面让我们开始新的内容: 目录 前言&#x…...

TCC 和 XA 协议之间的区别?

TCC(Two-Phase Commit)协议和XA协议都是用于分布式系统中确保事务原子性的协议。它们在实现分布式事务协调方面有一些相似之处,但也存在一些关键的不同点。 协议的协调者(Coordinator)角色: TCC协议&#x…...

萌啦数据插件使用情况分析,萌啦数据插件下载

在当今数字化时代,数据已成为企业决策与个人分析不可或缺的重要资源。随着数据分析工具的日益丰富,一款高效、易用的数据插件成为了众多用户的心头好。其中,“萌啦数据插件”凭借其独特的优势,在众多竞品中脱颖而出,成…...

C++初学(13)

13.1、for循环的组成部分 for循环的组成部分完成下面这些步骤: (1)设置初始值。 (2)执行测试,看看循环是否应当继续。 (3)执行循环操作。 (4)更新用于测试的值。 C循环设计中包含这要素,很容易识别,初始化、测试和更新操作工…...

目标检测之数据增强

一、概述 数据增强是一种通过人工或自动方式对数据进行修改或变换,以增加数据集规模和多样性的技术。在机器学习中,数据增强被广泛应用于解决数据稀缺、数据不平衡、数据噪声等问题,提高模型的泛化能力和鲁棒性。 二、为什么需要数据增强 …...

本地下载安装WampServer结合内网穿透配置公网地址远程访问详细教程

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境,是一组常用来…...

一篇文章理清Java持久化脉络(关于JDBC、JPA、Hibernate、Spring Data JPA)

Java持久化 一、JDBC、JPA、Spring Data JPA 的定义及关系二、JDBC(古老的东西,只需简单知道是啥)1.1 JDBC概念1.2 JDBC示例 三、JPA(第二代持久化,代表是Hibernate等框架)3.1 JPA概念3.2 JPA示例 四、Spri…...

【数学分析笔记】第2章第1节实数系的连续性(1)

2. 数列极限 2.1 实数系的连续性 人类对数系认识的历史: 人类最早对数系的认识是自然数集合 N \mathbb{N} N,自然数系对加法和乘法是封闭的(这里的封闭是指:若 m ∈ N , n ∈ N ⇒ m n ∈ N , m n ∈ N m\in\mathbb{N},n\in\ma…...

Speech Synthesis (LASC11062)

大纲 Module 1 – introductionModule 2 - unit selectionModule 3 - unit selection target cost functionsModule 4 - the databaseModule 5 - evaluationModule 6 - speech signal analysis & modellingModule 7 - Statistical Parametric Speech Synthesis (SPSS)Modu…...

拟合与插值|线性最小二乘拟合|非线性最小二乘拟合|一维插值|二维插值

挖掘数据背后的规律是数学建模的重要任务,拟合与插值是常用的分析方法 掌握拟合与插值的基本概念和方法熟悉Matlab相关程序实现能够从数据中挖掘数学规律 拟合问题的基本提法 拟合问题的概念 已知一组数据(以二维为例),即平面上n个点 ( x i , y i ) …...

《python语言程序设计》2018版第7章第05题几何:正n边形,一个正n边形的边都有同样的长度。角度同样 设计RegularPolygon类

结果和代码 这里只涉及一个办法 方法部分 def main():rX, rY eval(input("Enter regular polygon x and y axis:"))regular_num eval(input("Enter regular number: "))side_long eval(input("Enter side number: "))a exCode07.RegularPol…...

使用Virtio Driver实现一个计算阶乘的小程序——QEMU平台

目录 一、概述 二、代码部分 1、Virtio 前端 (1) User Space (2) Kernel Space 2、Virtio 后端 三、运行 QEMU Version:qemu-7.2.0 Linux Version:linux-5.4.239 一、概述 本篇文章的主要内容是使用Virtio前后端数据传输的机制实现一个计算阶乘的…...

【PyCharm】配置“清华镜像”地址

文章目录 前言一、清华镜像是什么?二、pip是什么?三、具体步骤1.复制镜像地址2.打开PyCharm,然后点击下图红框的选项3.在弹出的新窗口点击下图红框的选项进行添加4.在URL输入框中粘贴第一步复制的地址,名字可以不更改,…...

IO器件性能评估

整体逻辑:需要先了解到读写速率的差异,在明确使用场景。比如应用启动过程中的IO主要是属于随机读的io 评估逻辑: UFS 与 eMMC主要差别在io读写能力: 1,对比UFS、eMMC的规格书标注的io读写能力 ufs spec : sequentia…...

在js中判断对象是空对象的几种方法

使用 Object.keys() 方法 Object.keys() 方法返回对象自身的可枚举属性名称组成的数组。如果数组的长度为 0,那么对象是空的。 function isEmptyObject(obj) {return Object.keys(obj).length 0 && obj.constructor Object; }const obj1 {}; const obj2…...

【整理】后端接口设计和优化相关思路汇总

文章目录 明确的接口定义和文档化使用RESTful设计规范分页和过滤合理使用缓存限流与熔断机制安全性设计异步处理与后台任务接口参数校验(入参和出参)接口扩展性考虑核心接口,线程池隔离关键接口,日志打印接口功能单一性原则接口查…...

基于S7-200 PLC和MCGS组态的灌装贴标生产线系统:带解释的梯形图程序、接线图原理图图...

基于S7-200 PLC和MCGS组态的灌装贴标生产线系统 带解释的梯形图接线图原理图图纸,io分配,组态画面车间里那台老灌装线最近被我折腾得焕然一新,用S7-200 PLC搭配MCGS组态搞了个自动化改造。这活儿干下来发现几个关键点特别有意思,尤…...

如何3步掌握Home Assistant SSH Web终端:从零到精通的管理指南 ✨

如何3步掌握Home Assistant SSH Web终端:从零到精通的管理指南 ✨ 【免费下载链接】app-ssh Advanced SSH & Web Terminal - Home Assistant Community Apps 项目地址: https://gitcode.com/gh_mirrors/ad/app-ssh 在智能家居系统的日常维护中&#xff0…...

论文AI率高怎么降最安全?2026保姆级降AIGC工作流:实测权威指令揭秘与3款工具横评

辛辛苦苦肝了三个月的论文,可是一经过学校的AI检测系统,却给我标了个醒目的65%!这我真是百口莫辩!明明每一个观点、每一处引用,都是我一点点阅读文献琢磨出来的! 为了把要命的 AI率 打下来,我之…...

Android定时开关机的5种实现方式对比:哪种最适合你的设备?

Android定时开关机技术全景解析:从系统API到硬件层控制的深度实践 在智能设备管理领域,定时开关机功能一直是工业控制、物联网终端和定制化Android设备的核心需求之一。想象一下,你正在部署一批智能售货机,需要在营业时间自动唤醒…...

【T型三电平仿真】SPWM调制中的单双极性载波特性对比

1. T型三电平逆变器基础认知 第一次接触T型三电平拓扑时,我被它精巧的结构设计惊艳到了。与传统的两电平逆变器相比,这种拓扑在每相桥臂上增加了两个钳位开关管,形成了独特的"T"字形结构。实际搭建电路时,你会发现它的输…...

别再只盯着数据了!用Arduino+GP2Y1014AU传感器,手把手教你做个能“看见”空气的PM2.5监测仪

用Arduino打造智能PM2.5监测仪:从硬件连接到可视化交互 在空气质量日益受到关注的今天,拥有一个实时监测PM2.5浓度的设备不仅能提升生活品质,还能为健康保驾护航。不同于市面上千篇一律的商用监测仪,自己动手打造一个兼具实用性和…...

sinx/x在0到无穷积分的条件收敛性分析与证明

1. 从物理现象到数学问题:为什么研究sinx/x的积分? 我第一次接触sinx/x的积分是在信号处理课程中,这个看似简单的函数在傅里叶变换和频谱分析中扮演着关键角色。工程师们用它来描述理想低通滤波器的频率响应,物理学家则在衍射现象…...

告别环境配置烦恼:用快马一键生成keil5兼容c51与stm32的完整安装指南

作为一名嵌入式开发者,我深知在Keil5中同时配置C51和STM32开发环境的痛苦。每次换电脑或者重装系统,都要花大半天时间折腾各种安装包、环境变量和驱动问题。最近发现InsCode(快马)平台可以一键生成完整的配置指南,简直拯救了我的开发效率。下…...

ESP32 TCP服务端避坑指南:从端口复用到KeepAlive,这些配置项你真的懂了吗?

ESP32 TCP服务端深度配置实战:从端口复用到KeepAlive参数调优 在物联网设备开发中,TCP服务端的稳定性往往决定着整个系统的可靠性。许多开发者在使用ESP32搭建TCP服务端时,虽然能够快速实现基础通信功能,但当面临多设备连接、网络…...

TempleOS 技术解析:从神圣代码到单地址空间设计的独特哲学

1. TempleOS的诞生:当代码遇见信仰 第一次听说TempleOS时,我正泡在技术论坛里闲逛。这个操作系统的名字就透着股神秘感——"神殿操作系统"。点开详细介绍后更震惊了:这居然是一个程序员声称按照"上帝指示"开发的系统&…...