сделана была визуализация с помощью qt designer, потом переписал всё на python и начала вылезать странная ошибка. Вот мой код:
import sys
from PyQt6.QtGui import QPixmap
from PyQt6.QtWidgets import (QApplication,
QMainWindow,
QLabel,
QDialog,
QVBoxLayout,
QTextEdit,
QPushButton,
QListWidget)
from PyQt6 import (QtGui)
from PyQt6.QtCore import Qt
from openai import OpenAI
class ChatgptBot(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('ChatGpt-bot version 3')
self.client = OpenAI(
api_key="my_api_key",
)
self.initUI()
def initUI(self):
self.setWindowTitle('ChatGpt-bot version 3')
self.setWindowIcon(QtGui.QIcon('chatgpt.jpg')
self.setStyleSheet('''
background-color: qlineargradient(spread:pad, x1:1, y1:1, x2:0, y2:0, stop:0
rgba(81, 0, 135, 255), stop:0.427447 rgba(41, 61, 132, 235), stop:1 rgba(155, 79, 165, 255));
''')
self.setFixedSize(802, 640)
self.label = QLabel('Default (GPT-3.5)', self)
self.label.resize(802, 60)
self.label.setStyleSheet('''
background-color: rgb(0, 0, 0);
border-color: rgb(20, 20, 20);
font: 10pt "MV Boli";
color: rgb(255, 255, 255);
''')
self.label.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.label.setEnabled(False)
self.pixmap = QPixmap('logo.png')
self.image = QLabel(self)
self.image.move(270, 0)
self.image.resize(64, 60)
self.image.setPixmap(self.pixmap)
self.listWidget = QListWidget(self)
self.listWidget.resize(751, 451)
self.listWidget.move(20, 70)
self.listWidget.setStyleSheet('''
background-color: rgba(255, 255, 255, 60);
border: 1px solid rgba(255, 255, 255, 40);
border-radius: 10%;
''')
self.pushButton = QPushButton('↵', self)
self.pushButton.resize(61, 40)
self.pushButton.move(710, 560)
self.pushButton.setStyleSheet('''
border-color: 1px rgb(255, 255, 255);)
''')
self.textEdit = QTextEdit(self)
self.textEdit.resize(670, 71)
self.textEdit.move(20, 540)
self.textEdit.setStyleSheet('''
background-color: rgba(255, 255, 255, 30);
border: 1px solid rgba(255, 255, 255, 40);
border-radius: 7%;
''')
self.dialog = QDialog(self)
self.dialog.setWindowTitle("Как к вам обращаться?")
self.dialog.setFixedSize(300, 100)
self.layout = QVBoxLayout(self.dialog)
self.label = QLabel("Введите ваше имя или как к вам обращаться:")
self.label.setStyleSheet('''background-color: rgba(255, 255, 255, 60);
border: 1px solid rgba(255, 255, 255, 40);
border-radius: 10%;''')
self.line_edit = QTextEdit()
self.line_edit.setStyleSheet('''background-color: rgba(255, 255, 255, 60);
border: 1px solid rgba(255, 255, 255, 40);
border-radius: 7p;''')
self.layout.addWidget(self.label)
self.layout.addWidget(self.line_edit)
self.ok_button = QPushButton("OK")
self.ok_button.setStyleSheet('''background-color: rgba(255, 255, 255, 60);
border-radius: 100px;
border-color: 1px rgb(255, 255, 255);''')
self.ok_button.clicked.connect(self.dialog.accept)
self.layout.addWidget(self.ok_button)
self.ok_button.setStyleSheet('''border-color: 1px rgb(255, 255, 255);''')
self.dialog.exec()
if self.line_edit.toPlainText().replace(' ', '') == '':
self.user_name = "Пользователь"
else:
self.user_name = self.line_edit.toPlainText().replace('\n', ' ')
self.pushButton.clicked.connect(self.req)
self.listWidget.setWordWrap(True)
def chatgpt_conversation(self, conversation_log):
response = self.client.chat.completions.create(
model='gpt-3.5-turbo',
messages=conversation_log
)
conversation_log.append({
'role': response.choices[0].message.role,
'content': response.choices[0].message.content.strip()
})
return conversation_log
def req(self):
self.request = self.textEdit.toPlainText()
if self.request != '':
self.listWidget.addItem(f'{self.user_name}: {self.request}')
self.conversations = []
self.question = self.textEdit.toPlainText()
self.conversations.append({'role': 'user', 'content': self.question})
self.conversations = self.chatgpt_conversation(self.conversations)
self.final = self.conversations[-1]['content'].strip()
self.listWidget.addItem(f'ChatGpt: {self.final}')
self.textEdit.setText('')
def copy_selected_item(self):
selected_item = self.listWidget.currentItem()
if selected_item:
text_to_copy = selected_item.text()
clipboard = QApplication.clipboard()
clipboard.setText(text_to_copy)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = ChatgptBot()
ex.show()
sys.exit(app.exec())
вылезает такая ошибка:
Traceback (most recent call last):
File "c:\Users\├хюЁушщ\Desktop\pyqt_project\test.py", line 130, in req
self.conversations = self.chatgpt_conversation(self.conversations)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\├хюЁушщ\Desktop\pyqt_project\test.py", line 112, in chatgpt_conversation
response = self.client.chat.completions.create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\├хюЁушщ\AppData\Local\Programs\Python\Python311\Lib\site-packages\openai_utils_utils.py", line 299, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\├хюЁушщ\AppData\Local\Programs\Python\Python311\Lib\site-packages\openai\resources\chat\completions.py", line 598, in create
return self._post(
^^^^^^^^^^^
File "C:\Users\├хюЁушщ\AppData\Local\Programs\Python\Python311\Lib\site-packages\openai_base_client.py", line 1055, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\├хюЁушщ\AppData\Local\Programs\Python\Python311\Lib\site-packages\openai_base_client.py", line 834, in request
return self._request(
^^^^^^^^^^^^^^
File "C:\Users\├хюЁушщ\AppData\Local\Programs\Python\Python311\Lib\site-packages\openai_base_client.py", line 877, in _request
raise self._make_status_error_from_response(err.response) from None
Я много чего попробовал, но не помогло ничего. Очень нужна помощь
Подскажите что не так