python gui构造openai api可视化页面

news2024/11/16 5:23:12

背景:最近chatgpt很火,前几天也想注册体验一下,一顿操作之后,卡在该国家不支持。最后发现自己的代理开在香港,改在漂亮国就行了。虽然有chatgpt可以用,但是小平是自己封装了一个,我不能输。正好对python存在一点兴趣,索性直接研究python可视化openai api。

openai的注册就很简单。

OpenAI

1.用邮箱注册一下后会发一个邮箱验证(qq邮箱验证消息有点慢的,等了好一会)

 

2.验证成功之后,需要在一个网站上买一个手机号验证码,好像印度的验证码收的挺费劲的。我买了一个马来西亚的,速度很快。买了之后有20分钟的时间,要是期间没有验证,可以免费退一次。

SMS-Activate - service for receiving virtual SMS online to virtual SIM

 3首先先介绍一下openai api的模型。

 目前用的多是gpt-3和codex。翻译一下就知道一个是理解和创造语言。一个去编码(可以问怎么编码或者纠正代码啥的)

在gpt3,codex中也分为细致的小模型。第一个达芬奇用的最多,当然也是相对言贵点。

 

 

当然这边有很多例子可以去实现。

 

 4.现在开始创造一个key。python调接口需要一个ak。

 这边可以根据不同的场景去获得相对应的代码。

一般也就达芬奇2或者3用的最多吧。

model="text-davinci-003"
model="text-davinci-002"

5.配置python,将上图的代码复制到python上面就可以了。

pip install openai

 还有几个忘记了,之前看过博客说的,下次一定补上。

这边openai api是可以调通了。

但是想做一个python gui的可视化页面。看了官网支持好几个gui。最后我选择了单调的tkinter。知乎看了说pyqt生成的文件很大,我只想简单的玩一下哈哈哈。

 

python tkinter 看了别人的博客。我只会用。最初页面,就加了一个text多行文本输入,一个button按钮还有一个lable标签。

哈哈哈还做了一个简单的小逻辑。 

 

from tkinter import *

import openai

openai.api_key = 'your ak'
def button_event():
    content = question.get(1.0, "end")
    print(len(content))
    if len(content) == 1:
        answer['text'] = "怎么就没有问题呢"
    else:
        message = get_message(content)
        answer['text'] = message
    return
def get_message(message):
    response = openai.Completion.create(
        model="text-davinci-003",
        prompt=message,
        temperature=0.8,
        top_p=1.0,
        frequency_penalty=0.5,
        presence_penalty=0.0,
        max_tokens=1000)
    return response.choices[0].text
# 创建窗口
main_window = Tk()
question = Text(main_window, height=6)
answer = Label(main_window, width=500, anchor=NW, wraplength=500)
main_window.title("又有新的问题了!!")
main_window.iconbitmap("640.jpeg")
main_window.geometry("500x500")
main_window.resizable()
question.insert('insert', '有问题吗?!')
question.pack()
B = Button(main_window, text="回答", command=button_event)
B.pack()
answer.pack()
# 消息循环
main_window.mainloop()

想起来了,这个ak先试用三个月,在之后就要收费,按请求次数收费。

算下来其实还是很便宜。现在免费使用,还是有点慢的。不知道收费之后能不能快点…… 

好了,回头好好整理一下,技术分享可以讲这个!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Spring Boot开发的社区物业管理系统

文章目录项目介绍主要功能截图:登录车位收费管理物业收费管理投诉信息管理车位管理保修统计分析部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料…

使用Nginx解决跨域问题

目录 使用Nginx解决跨域问题 1、修改浏览器、客户端访问地址 2、在nginx.conf配置文件需配置server 3、在Nginx中配置客户端访问的接口(按照规则或通配),并设置被代理的服务器 4、在Nginx中统一配置客户端访问的头部信息(解决…

Power BI 常见数据导入错误(查询超时、找不到文件、数据类型错误、找不到表格)

本系列的文章: 《Power BI windows下载安装流程)》《Power BI 11个必学官方示例数据案例(附下载链接)》《Power BI 数据导入(SQL Server、MySQL、网页数据)》《Power BI 存储模式介绍(导入、Di…

C#将非模态窗体置顶显示方法

Winform 窗口有一个属性:TopMost,表示该窗体是否始终显示在此属性未设置为 true 的所有其他窗体之上;我的理解就是,如果一个 Winform 项目有多个窗体,其中有一个窗体的 TopMost 属性设为 true 了,而其他窗体…

Spring 中,有两个 id 相同的 bean,会报错吗

我们知道,spring容器里面的bean默认是单例的,所以id是唯一的。但是需要注意,同一类型的bean可以有不同的id,比如有id1->bean,也可以有id2->bean。 下面再来详细回答一下文章的问题。 首先,在同一个…

汽车DTC故障内码与标准故障码的解析与转换

目录 一、故障内码与标准故障码的解析 (1)故障内码的信息格式与解析 (2)故障内码中DTC状态的解析 (3)故障内码与标准故障码之间的对应关系 二、故障内码与标准故障码的转换代码 一、故障内码与标准故障…

数字化项目管理如何推动项目快速上市?【洞见6】

AIGC时代的到来,标志着互联网从信息化的轻工业时代正式进入了互联网数字化的重工业时代。随之迎来的是人工智能技术的广泛引用,如何在项目管理中应用也是一个挑战,因为的项目本身的特点就是变化、复杂。笔者在为了进行突破,开始不…

vue父子组件传值不能实时更新

最近做项目,遇到个大坑,这会爬出来了,写个总结,避免下次掉坑。 vue父子组件传值不能实时更新问题,父组件将值传给了子组件,但子组件显示的值还是原来的初始值,并没有实时更新,为什么…

基于TCP协议的文件传输系统

最简单的一对一的服务端网络端通信(socket) Socket(IP地址:端口号),例如:如果IP地址是210.37.145.1,而端口号是23,那么得到套接字就是(210.37.145.1:23) socket可以理解成计算机提供给程序员的接…

R语言实现常用的5种分析方法(主成分+因子+多维标度+判别+聚类

R语言多元分析系列之一:主成分分析 主成分分析(principal components analysis, PCA)是一种分析、简化数据集的技术。它把原始数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为…

Android Application启动流程

详细流程分析 从 ActivityThread.java 的main方法开始看; public static void main(String[] args) {...ActivityThread thread new ActivityThread();thread.attach(systemfalse, startSeq);//1... }进入attach方法; if(!system){final IActivityMa…

flask配置https协议

感谢https://blog.csdn.net/qq_33934427/article/details/127456673,文中多有参考再实践一、要用https协议需要有ca证书,在windows10先下载windows版本openssl,地址如下https://share.weiyun.com/vfjVrMAb我是64位的选择下载完毕安装后配置环…

vmvare NAT模式设置

一、前言 这里为什么会写关于设置vmvare NAT模式的笔记呢,以前使用linux虚拟机都是使用桥接模式获取IP地址。最近出差仙林医院,发现使用无线网络,虚拟机桥接获取不到IP地址,所以使用NAT模式。 二、设置步骤 1.设置网络适配器 …

hudi系列-文件布局(file layout)

概念 hudi的文件布局是能实现增量查询、数据更新等特性的基础,每个hudi表有一个固定的目录,存放元数据(.hoodie)以及数据文件,其中数据文件可以以分区方式进行划分,每个分区有多个数据文件(基础文件和日志文件),这些数…

数据处理时代,有关数据的这些事

数据处理对于现在的企业来说已经是很平常的事,这主要是因为对数据的认识随时间的推移不断增加,企业用到数据的地方也越来越多。不过企业真正大规模利用的其实是数据资产,而非企业活动产生的所有数据,这两者并不互相统一。海量复杂…

WSH:一款功能强大的Web Shell生成器和命令行接口工具

关于WSH WSH是一款功能强大的Web Shell生成器和命令行接口工具。我们考虑到只用一个HTTP客户端来跟Webshell交互其实是一件很痛苦的事,我们需要在表格中输入命令,然后再点各种按钮。因此,我们开发出了WSH,我们可以轻松将其嵌入到…

代码随想录【Day16】| 104. 二叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数

104. 二叉树的最大深度 题目链接 题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7]&#xff0c…

在vscode中使用Typescript并运行

首先呢,我们在学习ts之前,需要先安装ts 1、安装 typescript npm install -g typescript //检查是否安装tsc -v ​ 2、生成配置文件,cd进入该文件夹,在控制台输 tsc --init ​ 此时我们就可以看到在ts文件夹下面出现了 一个tsco…

搞清品牌策划第一性原理

【班门弄斧】一个科技男的妄想~~ ………搞懂品牌营销的深层逻辑 马斯克说,搞清第一性原理 国内有学科理论支撑的品牌营销大咖 趣讲大白话:我读书多,别骗我 *********** 【国内品牌营销大咖们的理论支撑】 1、王志纲 -中国智慧(时…

C++——类和对象3

目录 1. 运算符重载 1.1 "" 的重载 1.2 前置 "" 和后置 "" 重载 1.3 流插入 "<<" 和流提取 ">>" 重载 1.4 运算符重载注意事项 2. const成员和static成员 2.1 const成员 2.2 static成员 3. 友元 …