снова пофикси код чтобы хорошо работал я хочу градл оставить так как он тут есть import gradio as gr
import requests
import json
import configparser
import os
import sys


def load_config(config_path='config.ini'):
    """
    Загрузка конфигурации из указанного ini-файла.
    """
    config = configparser.ConfigParser()
    
    if not os.path.exists(config_path):
        sys.exit(f"Ошибка: Файл конфигурации '{config_path}' не найден.")
    
    config.read(config_path)
    
    try:
        api_key = config['openai']['api_key']
        return api_key
    except KeyError:
        sys.exit("Ошибка: 'api_key' не найден в секции [openai] файла config.ini.")

# Загрузка API-ключа
API_KEY = load_config()
API_URL = 'https://api.openai.com/v1/chat/completions'

headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {API_KEY}',
}

def chat_with_gpt(messages):
    data = {
        "model": "gpt-4o",
        "messages": messages,
        "max_tokens": 150,
        "temperature": 0.7,
    }

    response = requests.post(API_URL, headers=headers, data=json.dumps(data))

    if response.status_code == 200:
        return response.json()['choices'][0]['message']['content']
    else:
        return f"Ошибка {response.status_code}: {response.text}"

def respond(user_input, history):
    history = history or []
    history.append({"role": "user", "content": user_input})
    reply = chat_with_gpt(history)
    history.append({"role": "assistant", "content": reply})
    return history, history

with gr.Blocks() as demo:
    gr.Markdown("# Чат с GPT-моделью")
    chatbot = gr.Chatbot()
    msg = gr.Textbox(label="Ваше сообщение:", placeholder="Введите сообщение и нажмите Enter...")
    clear = gr.Button("Очистить историю чата")

    # Обработка отправки сообщения
    msg.submit(respond, [msg, chatbot], [chatbot, chatbot])

    # Обработка кнопки очистки истории
    clear.click(lambda: ([], []), None, [chatbot, chatbot])

if __name__ == "__main__":
    demo.launch(share=True)  # Установите share=True для получения публичной ссылки и тут вот ошибки при отправке 
This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to 
Hugging Face Spaces (https://huggingface.co/spaces)
Traceback (most recent call last):
  File "c:\Program Files\Python312\Lib\site-packages\gradio\queueing.py", line 624, in process_events
    response = await route_utils.call_process_api(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Program Files\Python312\Lib\site-packages\gradio\route_utils.py", line 323, in call_process_api
    output = await app.get_blocks().process_api(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Program Files\Python312\Lib\site-packages\gradio\blocks.py", line 2028, in process_api
    data = await self.postprocess_data(block_fn, result["prediction"], state)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Program Files\Python312\Lib\site-packages\gradio\blocks.py", line 1834, in postprocess_data
    prediction_value = block.postprocess(prediction_value)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Program Files\Python312\Lib\site-packages\gradio\components\chatbot.py", line 529, in postprocess
    self._check_format(value, "tuples")
  File "c:\Program Files\Python312\Lib\site-packages\gradio\components\chatbot.py", line 328, in _check_format
    raise Error(
gradio.exceptions.Error: 'Data incompatible with tuples format. Each message should be a list of length 2.'