Я пытаюсь создать небольшого чат-бота, который использует файл .txt в качестве источника знаний. У меня есть этот код:
my_thread_message = client.beta.threads.messages.create( thread_id=my_thread.id, роль="пользователь", контент = user_input, file_ids=[file_id] ) который должен прикрепить file_id, который, как я
подтвердил, уже загружен через панель управления openai. Я скопировал идентификатор прямо оттуда и поместил его в свою переменную file_id. Однако когда я запускаю свой код:
Я не могу получить доступ к загруженному вами файлу, чтобы предоставить подробную информацию о наших ценах. Если вы можете предоставить информацию или указать другой запрос, я буду рад помочь с подробностями о ценах или любыми другими вопросами, которые могут у вас возникнуть.
Сначала я хотел убедиться, что я правильно прикрепляю file_id в виде списка. Во-вторых, полный код приложен ниже:
попробуйте: # Создаем новую тему my_thread = client.beta.threads.create() кроме исключения как e: console.print(f"Не удалось создать новую тему: {e}", style="bold red") выход(1) # Цикл, пока пользователь не введет «выход» пока правда: # Получить пользовательский ввод user_input = вход («Пользователь:») # Проверяем, хочет ли пользователь выйти если user_input.lower() == "выйти": console.print("\nАссистент: Хорошего дня!

", style="black on white") перерыв пытаться: # Добавляем сообщение пользователя в ветку my_thread_message = client.beta.threads.messages.create( thread_id=my_thread.id, role="user", content=user_input, file_ids=[file_id] ) кроме исключения как e: console.print(f"Не удалось добавить сообщение в цепочку: {e}", style="bold red") continue # Пропустить дальнейшую обработку и запросить следующий ввод пытаться: # Запускаем помощника my_run = client.beta.threads.runs.create( thread_id=my_thread.id, Assistant_id=assistant_id, ) кроме исключения как e: console.print(f"Не удалось запустить помощник: {e}", style="bold red") продолжать # Начальная задержка перед первым получением время.сон(2) пытаться: # Периодически извлекайте прогон, чтобы проверить его статус пока правда: Keep_retieving_run = client.beta.threads.runs.retrieve( thread_id=my_thread.id, run_id=my_run.id ) если keep_retriving_run.status == "завершено": # Получить сообщения, добавленные помощником в ветку all_messages = client.beta.threads.messages.list(thread_id=my_thread.id) # Отобразить сообщение помощника если all_messages.data: консоль.print( f"\nАссистент: {all_messages.data[0].content[0].text.value}\n", стиль="черное на белом", ) еще: консоль.print( "\nАссистент: Ответ не получен.", style="bold red" ) перерыв elif Keep_retriving_run.status в ["в очереди", "in_progress"]: # Задержка перед следующей попыткой получения время.сон(2) еще: консоль.print( f"\nНе удалось выполнить запуск Ассистента со статусом: {keep_retriving_run.status}", стиль="жирный красный", ) перерыв кроме исключения как e: консоль.print( f «Ошибка во время поиска выполнения или отображения сообщения: {e}», style="bold red" ) ```... Если бы кто-нибудь мог дать мне какой-нибудь совет, я был бы очень признателен!