Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

ChatGPT код в python, помогите

Камиль Велловский Знаток (349), на голосовании 7 месяцев назад
Нужна помощь с кодом в питоне для бота gpt, выписывает ошибку при запуске ImportError: cannot import name 'executor' from 'aiogram.utils' при том что aiogram был закачен

код:

import logging

import openai
from aiogram import Bot, Dispatcher, types
from aiogram.utils import executor

# Включите логирование
logging.basicConfig(level=logging.INFO)

# Инициализация бота
API_TELEGRAM_TOKEN = "70182868мойтокенEHpA7Na3WrGxVIWBfDY1cGMPeIs"
API_VSEGPT_TOKEN = "sk-or-vv-c9b7a7451f89d4f40мойтокенa17d66290e04be214db080f5d9ca419414b5f52"

bot = Bot(token=API_TELEGRAM_TOKEN)
dp = Dispatcher(bot)

openai.api_base = " https://api.vsegpt.ru:6070/v1 "
openai.api_key = API_VSEGPT_TOKEN

# Словарь для хранения истории разговоров
conversation_history = {}

# Функция для обрезки истории разговора
def trim_history(history, max_length=4096):
current_length = sum(len(message["content"]) for message in history)
while history and current_length > max_length:
removed_message = history.pop(0)
current_length -= len(removed_message["content"])
return history


@dp.message_handler(commands=['clear'])
async def process_clear_command(message: types.Message):
user_id = message.from_ user.id
conversation_history[user_id] = []
await message.reply("История диалога очищена.")

# Обработчик для каждого нового сообщения
@dp.message_handler()
async def send_welcome(message: types.Message):
user_id = message.from_ user.id
user_input = message.text

if user_input == "/start":
await message.answer("Привет! Меня зовут Китик и я GPT")
return

if user_id not in conversation_history:
conversation_history[user_id] = []

conversation_history[user_id].append({"role": "user", "content": user_input})
conversation_history[user_id] = trim_history(conversation_history[user_id])

chat_history = conversation_history[user_id]

try:
response = await openai.ChatCompletion.acreate(
model="openai/gpt-3.5-turbo",
messages=chat_history

)
chat_gpt_response = response["choices"][0]["message"]["content"]
except Exception as e:
print(e)
chat_gpt_response = "Извините, произошла ошибка."

conversation_history[user_id].append({"role": "assistant", "content": chat_gpt_response})
print(conversation_history)
length = sum(len(message["content"]) for message in conversation_history[user_id])
print(length)
await message.answer(chat_gpt_response)


# Запуск бота
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445796) 8 месяцев назад
Значит, в твоей версии библиотеки такого класса нет, пичалька.
Камиль ВелловскийЗнаток (349) 8 месяцев назад
И что тогда делать? Что нужно закачивать или что нужно менять в коде?
Похожие вопросы