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

ChatGPT实战100例 - (13) 写一个属于自己的 ChatGPT 新版 WebUI

文章目录

  • ChatGPT实战100例 - (13) 写一个属于自己的 ChatGPT 新版 WebUI
    • 一、ChatGPT(OpenAI)的新版API调用
      • 1.1 环境变量配置与调用
      • 1.2 新版api调用
      • 1.3 命令行流式输出
    • 二、Gradio制作自己的聊天WebUI
      • 2.1 流式WebUI
      • 2.2 样式调整
    • 三、总结
    • 参考

ChatGPT实战100例 - (13) 写一个属于自己的 ChatGPT 新版 WebUI

今时不同往日,openai的api已经到了1.xx版本,web ui王者gradio也早就推出了chat集成,写一个基于ai的chat变得如此简单。
不过,gradio的官方demo的openai版本过于老旧Creating A Chatbot Fast,没有跟进openai的api变动,让人无言以对。
因此,我们今天来写一个自己的chat webui。

一、ChatGPT(OpenAI)的新版API调用

1.1 环境变量配置与调用

1.xx版的openai的api调用,需要在环境变量中配置api的key。
主要是OPENAI_API_KEYOPENAI_BASE_URL这两个

.env

OPENAI_API_KEY = sk-xxxxx
OPENAI_BASE_URL = https://api.xxx/v1 

两行代码搞定导入环境变量:

from dotenv import load_dotenv
load_dotenv()

1.2 新版api调用

from dotenv import load_dotenv
load_dotenv()from openai import OpenAI
client = OpenAI()def predict(message):history_openai_format = []history_openai_format.append({"role": "user", "content": message})completion = client.

相关文章:

ChatGPT实战100例 - (13) 写一个属于自己的 ChatGPT 新版 WebUI

文章目录 ChatGPT实战100例 - (13) 写一个属于自己的 ChatGPT 新版 WebUI一、ChatGPT(OpenAI)的新版API调用1.1 环境变量配置与调用1.2 新版api调用1.3 命令行流式输出二、Gradio制作自己的聊天WebUI2.1 流式WebUI2.2 样式调整三、总结参考ChatGPT实战100例 - (13) 写一个属于自…...

【计算机学院寒假社会实践】——服务走进社区,共绘幸福蓝图

为深入贯彻落实志愿者服务精神,扎实推进志愿者服务质量,2024年1月28日,曲阜师范大学计算机学院“青年扎根基层,服务走进社区”社会实践队队员周兴睿在孙宇老师的指导下,来到山东省滨州市陈集街道社区开展了为期一天的“…...

[python] 过年燃放烟花

目录 新年祝福语 一、作品展示 二、作品所用资源 三、代码与资源说明 四、代码库 五、完整代码 六、总结 新年祝福语 岁月总是悄然流转,让人感叹时间的飞逝,转眼间又快到了中国传统的新年(龙年)。 回首过去&#xf…...

数据结构与算法:图论(邻接表板子+BFS宽搜、DFS深搜+拓扑排序板子+最小生成树MST的Prim算法、Kruskal算法、Dijkstra算法)

前言 图的难点主要在于图的表达形式非常多,即数据结构实现的形式很多。算法本身不是很难理解。所以建议精通一种数据结构后遇到相关题写个转换数据结构的接口,再套自己的板子。 邻接表板子(图的定义和生成) public class Graph…...

Python之PySpark简单应用

文章目录 一、介绍1.准备工作2. 创建SparkSession对象:3. 读取数据:4. 数据处理与分析:5. 停止SparkSession: 二、示例1.读取解析csv数据2.解析计算序列数据map\flatmap 三、问题总结1.代码问题2.配置问题 一、介绍 PySpark是Apa…...

降维(Dimensionality Reduction)

一、动机一:数据压缩 这节我将开始谈论第二种类型的无监督学习问题,称为降维。有几个原因使我们可能想要做降维,其一是数据压缩,它不仅允许我们压缩数据使用较少的计算机内存或磁盘空间,而且它可以加快我们的学习算法。…...

web应用(网页)怎样调用浏览器插件(如metamask小狐狸钱包)

下边是与gpt的对话,代码可以在浏览器控制台验证 一,在网页上点击一个连接按钮 然后小狐狸钱包就打开了,是怎么实现的呢 当你在网页上点击一个连接按钮,然后自动打开MetaMask(通常被称为“小狐狸钱包”,一种…...

2024美赛数学建模C题完整论文教学(含十几个处理后数据表格及python代码)

大家好呀,从发布赛题一直到现在,总算完成了数学建模美赛本次C题目Momentum in Tennis完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 C论文共49页&…...

Matplotlib绘制炫酷柱状图的艺术与技巧【第60篇—python:Matplotlib绘制柱状图】

文章目录 Matplotlib绘制炫酷柱状图的艺术与技巧1. 簇状柱状图2. 堆积柱状图3. 横向柱状图4. 百分比柱状图5. 3D柱状图6. 堆积横向柱状图7. 多系列百分比柱状图8. 3D堆积柱状图9. 带有误差线的柱状图10. 分组百分比柱状图11. 水平堆积柱状图12. 多面板柱状图13. 自定义颜色和样…...

window 挂载linux 网盘

背景:因为很多情况下,作为开发人员,我们都希望用Linux的编译环境,但是可以用windows下各种IDE来写code; linux 服务器安装NFS服务 说明:NFS 服务就是让不同的计算机可以在不同的操作系统之间共享文件,采用的就是服务端/客户端的架构,在NFS服务器上将目录设置为输出目录(…...

windows10忘记密码的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

进程和线程的区别详解

🎥 个人主页:Dikz12📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 进程 进程在系统中是如何管理的 进一步认识PCB 线程 能否一直增加线程数目来提高效率 进程和线程…...

(基于xml配置Aop)学习Spring的第十五天

一 . Spring Aop编程简介 再详细点 , 如下 二 . 基于xml配置Aop 解决proxy相关问题 解决问题开始用xml配置AOP 导入pom坐标 <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.6</vers…...

Centos7环境安装PHP8

一、安装必要的模块 yum install -y bzip2-devel libcurl-devel libxml2-devel sqlite-devel oniguruma oniguruma-devel libxml2 libxml2-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel zstd libzstd-devel curl libcurl-devel libpng libpng-devel …...

No matching client found for package name ‘com.unity3d.player‘

2024年2月5日更新 必须使用Unity方式接入Unity项目&#xff01;一句话解决所有问题。&#xff08;真的别玩Android方式&#xff09; 大致这问题出现原因是我在Unity采用了Android方式接入Firebase&#xff0c;而Android接入实际上和Unity接入方式有配置上的不一样&#xff0c;我…...

JavaWeb之HTML-CSS --黑马笔记

什么是HTML ? 标记语言&#xff1a;由标签构成的语言。 注意&#xff1a;HTML标签都是预定义好的&#xff0c;HTML代码直接在浏览器中运行&#xff0c;HTML标签由浏览器解析。 什么是CSS ? 开发工具 VS Code --安装文档和安装包都在网盘中 链接&#xff1a;https://p…...

logback日志配置

springboot默认使用logback 无需额外添加pom依赖 1.指定日志文件路径 当前项目路径 testlog文件夹下 linux会在项目jar包同级目录 <property name"log.path" value"./testlog" /> 如果是下面这样配置的话 window会保存在当前项目所在盘的home文件夹…...

SpringBoot集成Flowable工作流

文章目录 一、了解Flowable1. 什么是Flowable2. Flowable基本流程3. Flowable主要几张表介绍 二、SpringBoot集成Flowable1. 在idea中安装Flowable插件2. SpringBoot集成Flowable3. SpringBoot集成Flowable前端页面 三、创建流程模版(以请假为例) 提示&#xff1a;以下是本篇文…...

try-with-resources 语法详解

目录 一、介绍 二、用法对比 三、优势 四、原理分析 一、介绍 在Java 7中&#xff0c;引入了一项重要的语法糖——try-with-resources&#xff0c;这项特性的目的是为了更有效地处理资源的管理。资源指的是需要在代码执行完毕后手动关闭的对象&#xff0c;比如文件流、网络…...

【Java程序设计】【C00207】基于(JavaWeb+SSM)的宠物领养管理系统(论文+PPT)

基于&#xff08;JavaWebSSM&#xff09;的宠物领养管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的宠物领养系统 本系统分为前台系统、管理员、收养者和寄养者4个功能模块。 前台系统&#xff1a;游客打开系统…...

洪城寻缘角

洪城寻缘角 南昌人的免费寻缘平台 不必再奔波相亲角&#xff0c;不必被收费套路困扰 洪城寻缘角&#xff0c;全功能永久免费 无需注册即可登记&#xff0c;一键发布个人资料 支持多条件精准筛选&#xff0c;快速匹配同频有缘人 覆盖南昌全城单身&#xff0c;真实、高效、安心…...

3个技巧:如何用开源工具彻底解决Beyond Compare授权难题

3个技巧&#xff1a;如何用开源工具彻底解决Beyond Compare授权难题 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 当Beyond Compare 5的30天评估期结束后&#xff0c;用户常常会遇到"评估…...

3分钟破解百度网盘提取码难题:智能解析工具完全指南

3分钟破解百度网盘提取码难题&#xff1a;智能解析工具完全指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘加密资源的提取码而烦恼吗&#xff1f;每次点击分享链接却卡在"请输入提取码"的弹窗前…...

亚马逊/Shopee关键词排名高就一定好?你可能陷入了“数据幻觉”

关键词排名高只说明“看得见”&#xff0c;不代表“卖得动”&#xff0c;更不等于“值得投”。理论锚点信息经济学信号噪音理论&#xff1a;排名只是表层信号&#xff0c;可能混杂品牌词截流等无关信息。SEO 搜索意图分类&#xff1a;信息型搜索不等于交易型搜索。一、误区揭露…...

`claude code --print` 核心含义与用法指南

claude code --print 核心含义与用法指南 --print(简写为-p)是Claude Code CLI的非交互模式参数,用于执行单个查询后直接输出结果并退出,不进入交互式会话。这是自动化脚本、管道操作和CI/CD集成的核心工具。 一、核心定义与作用 特性 说明 全称/简写 --print / -p 核心功…...

Windows下Gradle全局镜像配置避坑指南:从环境变量到init.gradle

Windows下Gradle全局镜像配置避坑指南&#xff1a;从环境变量到init.gradle 每次打开Android Studio准备大干一场时&#xff0c;那个卡在"Downloading gradle-xxx-all.zip"的进度条是不是让你想砸键盘&#xff1f;作为常年与Gradle斗智斗勇的老司机&#xff0c;今天我…...

Pixel Aurora Engine实战应用:像素游戏道具图标(武器/药水/装备)批量生成

Pixel Aurora Engine实战应用&#xff1a;像素游戏道具图标&#xff08;武器/药水/装备&#xff09;批量生成 1. 像素游戏道具生成的痛点与解决方案 独立游戏开发者经常面临一个共同挑战&#xff1a;如何高效制作大量风格统一的像素艺术道具图标。传统手工绘制方式存在三个主…...

OpenClaw飞书机器人进阶:Qwen3.5-9B图片问答自动回复

OpenClaw飞书机器人进阶&#xff1a;Qwen3.5-9B图片问答自动回复 1. 为什么选择OpenClaw飞书Qwen3.5-9B组合&#xff1f; 去年我们团队内部遇到一个典型问题&#xff1a;产品文档和功能说明分散在各个Confluence页面&#xff0c;新同事遇到界面不熟悉时&#xff0c;老员工需要…...

Java调用动态库总崩溃?从SIGSEGV日志反向定位到C端ABI兼容性缺陷——一线故障复盘(含GDB+Java Core联合调试全流程)

第一章&#xff1a;Java调用动态库总崩溃&#xff1f;从SIGSEGV日志反向定位到C端ABI兼容性缺陷——一线故障复盘&#xff08;含GDBJava Core联合调试全流程&#xff09;某金融风控系统在JDK 17 Alpine Linux&#xff08;musl libc&#xff09;环境下频繁触发 JVM Crash&#…...

OpenClaw多模态技能库:Qwen3.5-9B-AWQ-4bit实现10种图片处理场景

OpenClaw多模态技能库&#xff1a;Qwen3.5-9B-AWQ-4bit实现10种图片处理场景 1. 为什么需要多模态技能库&#xff1f; 去年我接手了一个个人项目&#xff0c;需要批量处理几百张产品照片。手动用PS抠图、调色、加文字&#xff0c;花了两周才完成。当时就想&#xff1a;如果能…...