用python写一个基于PyQt5和OpenAI的智能问答项目

摘要:

使用python写一个可以对话的智能问答机器人,界面是使用PyQt5写的,通过调用OpenAl的免费接口,实现实时聊天功能。

1.申请免费的API key

前往页面https://github.com/chatanywhere/GPT_API_free

点击下面链接:

申请成功:

授权成功 您的免费API Key为: sk-8xxxxxxxxx 请妥善保管,不要泄露给他人,如泄漏造成滥用可能会导致Key被封禁

2.环境准备

本文开发环境为:

windows 11 
python 3.11.4

配置pip国内镜像源:

  1. 设置全局安装源为阿里云镜像:

    pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
  2. 设置pip安装时信任的主机地址:

    pip config set install.trusted-host mirrors.aliyun.com

安装必要的包:

pip install PyQt5==5.14.1
pip install pyqt5-tools

配置ui设计工具:

参考我另一篇博文:使用Python PyQt5实现一个简单的图像识别软件_pyqt5 designer插入一个区域用于图像识别-CSDN博客

配置好后可以看到下面效果:

3.UI界面设计及调整

界面设计:

设置滚动条代码:

        self.scrollArea = QtWidgets.QScrollArea(self.centralwidget)self.scrollArea.setGeometry(QtCore.QRect(10, 60, 780, 481))self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)self.scrollArea.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)self.scrollArea.setWidgetResizable(False)self.scrollArea.setObjectName("scrollArea")
​self.scrollAreaWidgetContents = QtWidgets.QWidget()self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 780, 3000))self.scrollAreaWidgetContents.setMaximumSize(QtCore.QSize(1000, 4000))self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
​# 将 self.scrollAreaWidgetContents设置为QScrollArea的widgetself.scrollArea.setWidget(self.scrollAreaWidgetContents)
​self.label_2 = QtWidgets.QLabel(self.scrollAreaWidgetContents)# self.label_2 = QtWidgets.QLabel(self.centralwidget)

4.软件功能逻辑实现

发送请求及结果处理:

    def sendRequest(self):_translate = QtCore.QCoreApplication.translateresponse = requests.request("POST", url, headers=headers, data=self.payload)res = response.json()print(type(response))print(response.text)print(type(response.text))print(res)cur_content = ''if res['choices'][0]['message']['content']:cur_content = res['choices'][0]['message']['content']
​print(cur_content)self.label_2.setText(_translate("MainWindow", cur_content))

5.最终效果

初始界面:

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

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

相关文章

SQL实验 SQL Server数据库的安全性控制

一、实验目的 1.熟悉通过SQL对数据进行安全控制。 2.掌握GRANT与REVOKE语句的使用,熟悉数据库用户的创建和授权。 二、实验内容 (一)、第一部分:以上先采用图形用户界面进行设置权限,然后试…

65、API攻防——接口安全WebPackRESTSOAPWSDLWebService

文章目录 一、接口类型二、Webservice类——Wsdl&ReadyAPI-SQL注入三、SOAP类——Swagger&SoapUI&EXP-信息泄露四、HTTP类——WebPack&PackerFuzzer-信息泄露 一、接口类型 HTTP类接口PRC类接口 客户端和服务端的连接,非web上的接口,可…

计算机网络9——无线网络和移动网络1 无线局域网 WLAN2

文章目录 一、802.11局域网的 MAC 层协议1、CSMA/CA协议2、时间间隔 DIFS 的重要性3、争用信道的过程4、对信道进行预约 二、802.11局域网的 MAC 帧1)关于 802.11 数据帧的地址2)序号控制字段、持续期字段和帧控制字段 一、802.11局域网的 MAC 层协议 1…

实战:Zig 编写高性能 Web 服务(2)

1.1 编写 HTTP server 我们从python -m http.server 8000启动得到灵感,先确定好目标: 编写一个HTTP/1.1 http serverzig version 0.12.0 使用zig init搭建项目的前置工作你先自行搭建好,不会的翻看前面铺垫的章节熟悉zig的项目结构。 关键…

神经网络 | 深度学习背后的数学

神经网分析 机器学习处理的是数据,通过学习输入的数据,从而建立模型,以便预测新的数据的输出 按照类型可以进行如下分类 监督分类 非监督分类 强化学习 神经元 生物学中,人的大脑是由多个神经元互相连接形成网络而构成的。也…

2024国内热门大语言模型在科研方面的应用

本博客总结了几款热门的国产大语言模型,帮助大家利用这些大语言模型更好的进行科研。 模型介绍 1.文心一言 链接:https://yiyan.baidu.com/ 开发方:百度 特点:专注于中文语言理解与生成,适合中文文本的语义理解任务。 百度推出…

设计模式-抽象工厂(创建型)

创建型-抽象工厂 角色 抽象工厂: 声明创建一个族产品对象的方法,每个方法对应一中产品,抽象工厂可以是接口,也可以是抽象类;具体工厂: 实现抽象工厂接口,复杂创建具体的一族产品;抽…

web学习笔记(六十三)

目录 1.钩子函数onActivated和onDeactivated 1.1 onActivated 1.2 onDeactivated 2. KeepAlive补充 2.1 include 和 exclude 2.2 的作用是什么? 2.3 组件包含什么prop属性及作用? 2.4 对应那两个生命周期?生命周期什么时机执行? 2.5 …

前端 Web 与原生应用端 WebView 通信交互 - HarmonyOS Next

基于鸿蒙 HarmonyOS Next 与前端 Vue 通信交互相关小结; DevEco Studio NEXT Developer Preview2 Vue js 两端相互拟定好协议后,通过前端页面的点击事件,将所需的数据传输给原生移动端组件方法中,处理后将消息回传至前端. 根据官方文档的案例尝试,但没成功 ... 后经过几经尝试…

GDB调试工具

-D,指定编译内容。 调试: gdb ./a.out 文件名 l可以查看代码内容 c全部执行 n执行下一步 q退出 gdb ./a.out -p id号 查找ID号用管道命令|。

【重磅丨教育设备】推动大规模设备更新和消费品以旧换新行动方案

近日,国务院印发《推动大规模设备更新和消费品以旧换新行动方案》(以下简称《行动方案》)。《行动方案》提出:实施设备更新行动。提升教育文旅医疗设备水平,推动符合条件的高校、职业院校(含技工院校&#…

FarmersWorld农民世界源码开发:0撸卷轴+潮玩模式

一、引言 随着科技的发展,游戏产业日益壮大,一种新型的游戏形式——零撸游戏应运而生。本文将深入探讨FarmersWorld农民世界源码开发,以其独特的0撸卷轴潮玩模式,为玩家带来全新的游戏体验。 二、源码开发的专业性和深度 Farmer…

笔记 | 软件工程01:从程序到软件

1 软件工程知识域 2 程序 2.1 何为程序及程序的质量要求 何为程序: 理解:软件工程可能就是在弥补OOP语言与自然语言之间还存在的鸿沟 2.1.1 程序质量的内在和外在体现 2.1.2 程序质量的语法和语义体现 2.2 编写代码的基本原则 2.3 程序质量保证方法 …

xml创建模型组合体

XML创建模型组合体 创建步骤模型准备模型处理模型文件XML编写 效果 创建步骤 模型准备 CAD 提供的原始模型如下: 该模型存在的问题: 单位问题:CAD出图的是 mm 为单位,但是 mujoco 建模这边用的是以 m 为单位的;原点…

2024年会计、金融与工商管理国际会议(ICAFBA 2024)

2024年会计、金融与工商管理国际会议 2024 International Conference on Accounting, Finance, and Business Administration 【1】会议简介 2024年会计、金融与工商管理国际会议是一场集合了全球会计、金融与工商管理领域专家学者的学术盛会。此次会议旨在深入探讨会计、金融与…

matlab模拟黑洞包含吸积盘和喷流,简单模拟

本文介绍 黑洞的简单实现和模拟 代码 % Black Hole Simulation in 3D% Clear workspace and figures clear; close all; clc;% Create figure and set axis properties figure; axis([-10 10 -10 10 -10 10]); hold on; grid on; view(3);% Parameters for the black hole a…

C# 判断字符串不等于空的示例

在C#中,要判断一个字符串是否不等于空(即它既不是null也不是空字符串""),方法有如下几种,如下。 方法1 使用逻辑运算符和string.IsNullOrEmpty方法 string myString "123"; // 假设要检查的字…

Capture One Pro 23:专业 Raw 图像处理的卓越之选

在当今的数字摄影时代,拥有一款强大的图像处理软件至关重要。而 Capture One Pro 23 for Mac/Win 无疑是其中的佼佼者,为摄影师和图像爱好者带来了前所未有的体验。 Capture One Pro 23 以其出色的 Raw 图像处理能力而闻名。它能够精准地解析和处理各种…

微软不再允许Windows 11通过1@1.com绕过登录 但还有其他办法可以继续用

微软不再允许 Windows 11 通过 11.com 和 nothankyou.com 绕过登录,但断网的情况下使用 OOBE\BYPASSNRO 命令仍然是有效的。如果你在安装或重置系统时仍然需要创建本地账户,请直接使用 OOBE 命令。 在 Windows 11 家庭版和专业版中用户必须保持设备联网…

【SW-拉伸曲面】

拉伸曲面记录 前言一、步骤二、结果展示总结 前言 2024/6/4去教xyy的时候学到了新的技能ε(┬┬﹏┬┬)3 一、步骤 画好草图之后点拉伸曲面 注意选的时候要选线条,不要选择面 二、结果展示 超级薄的曲面结构出来了。 总结 这篇文章依旧没有总结