Задать вопрос
  • Python вызов асинхронной функции с периодичностью?

    fenrir1121
    @fenrir1121
    Начни с документации
    Кто попадет на эту страницу: проблема кода в сомнительной логике расчета задержки, которая может быть околонулевой.
    Не пишите свои велосипеды, если нужны периодические асинхронные задачи используйте Sheduling tasks в taskiq
    Ответ написан
    Комментировать
  • Почему модель google/flan-t5-large отвечает неправильно?

    fenrir1121
    @fenrir1121
    Начни с документации
    Потому что любой ответ языковых моделей это предсказание. В них не заложена концепция правильного/не правильного ответа, только минимизация ошибки предсказания через дообучение.

    предпосленяя по размеру, должна как то адекватно отвечать
    Нет не должна. Это семейство моделей, которые тренировали на решение NLP задач, а не географические задачи

    The primary use is research on language models, including: research on zero-shot NLP tasks and in-context few-shot learning NLP tasks, such as reasoning, and question answering; advancing fairness and safety research, and understanding limitations of current large language models
    Ответ написан
  • Как сделать форму обратной связи на сайте с отправкой на Whatsapp?

    fenrir1121
    @fenrir1121
    Начни с документации
    Как правило, подобные вещи делаются на бэке, а не фронте и далее смотреть библиотеки для реализации на языке бэка. Точно знаю несколько подобных либ под питон, вроде pywhatkit.
    Либо можно поднять WAHA и пулять в него сообщения по API.
    Ответ написан
    9 комментариев
  • При добавление элементов в вектор, при превышении capacity, это приведет к перераспределению Vec?

    fenrir1121
    @fenrir1121
    Начни с документации
    При превышении capacity адрес может измениться.
    Довольно банальная оптимизация - если впереди необходимая память свободна, расширение происходит на месте, без переноса.

    Проверить можно так
    fn main() {
        let mut vec = Vec::with_capacity(2);
        let initial_ptr = vec.as_ptr();
    
        let (new_ptr, new_capacity) = std::iter::repeat(())
            .enumerate()
            .find_map(|(i, _)| {
                vec.push(i as i32 + 3);
                (vec.as_ptr() != initial_ptr).then(|| (vec.as_ptr(), vec.capacity()))
            })
            .unwrap();
        println!("Initial ptr: {:?}", initial_ptr);
        println!("New ptr: {:?}", new_ptr);
        println!("New capacity: {}", new_capacity);
    }
    Ответ написан
    Комментировать
  • Существуют ли раскладки клавиатуры ENG/RUS, где пунктуация остается одинаковой?

    fenrir1121
    @fenrir1121
    Начни с документации
    Ответ написан
    Комментировать
  • Как установить библиотеки python вручную?

    fenrir1121
    @fenrir1121
    Начни с документации
    pip install /path/to/package
    Ответ написан
    4 комментария
  • Как можно запустить бота на discord py и asyncio?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Как можно запустить бота на discord py и asyncio
    Так, как описано в документации библиотеки. Внутри функции run уже есть логика инициализации цикла событий
    import discord
    
    intents = discord.Intents.default()
    intents.message_content = True
    
    client = discord.Client(intents=intents)
    client.run('your token here')


    Если вы хотите самостоятельно им управлять есть функция start(), но в вашем варианте вы не получаете вообще никаких преимуществ, следовательно, все это не нужно. Обычно так делают если хотят вызывать бота в уже существующем цикле событий (и потом страдать). Для этого нужен asyncio.create_task(bot.start(token=token)

    Подробно с комментариями бот в виде кастомного класса описан тут.

    Task exception was never retrieved

    Цикл событий завершается с исключением, которое вы не обрабатываете. А исключение вызывается, потому что start не принимает то, что вы пытаетесь в него передать *args

    P.S. лучше описывать какую проблему вы решаете, а не что пытаетесь сделать.
    Ответ написан
  • Как проверить перемещается ли в памяти объект при "перемещении"?

    fenrir1121
    @fenrir1121
    Начни с документации
    Как проверить перемещается ли в памяти объект при «перемещении»?

    В общем случае: посмотреть реализован ли Copy, поскольку у него семантика перемещения заменяется на семантику копирования. За исключением Copy все копирования и аллокации в расте явные, вроде методов clone() или to_vec().

    В случае с Box вы уже сами пришли к ответу, достаточно было просмотреть на адрес в указателе.

    Ну и код проверки какой-то странный, достаточно этого
    fn main() {
        let b = Box::new(4);
        check(&b);
        let c = b;
        check(&c);
    }
    
    fn check(val: &i32) {
        println!("address: {:p}", val);
    }
    Ответ написан
  • Хочу посмотреть реализацию функции в builtins.py, но там только докстринги по функциям. Как посмотреть реализацию?

    fenrir1121
    @fenrir1121
    Начни с документации
    как найти исходники хотя бы на C

    Они лежат на гитхабе
    Ответ написан
    Комментировать
  • Rust как подключить внешний файл в модуле?

    fenrir1121
    @fenrir1121
    Начни с документации
    Я уже 3ч маучаюсь с этой ошибкой...
    А мог за 15 минут прочитать 7 главу растбука, где все разобрано.
    Ответ написан
    5 комментариев
  • Cargo и npm код компилируется, но почему программа ui не запускается?

    fenrir1121
    @fenrir1121
    Начни с документации
    А где хоть строчка кода связанного с запуском приложения?
    Минимальный код запуска выглядит как-то так
    fn main() {
        tauri::Builder::default().run(tauri::generate_context!()).unwrap();
    }

    Раз идет работа с БД, стоит заглянуть в доку по State management и посмотреть как дергать бэк с фронта и фронт с бэка
    Ответ написан
    2 комментария
  • Не открывается книжка Excel на Python Windows, как исправить?

    fenrir1121
    @fenrir1121
    Начни с документации
    Удаляйте ваши принты и делайте нормальное логгирование через logging. В частности нужен logging.exception, чтобы нормально понимать где вообще происходит ошибка. С учетом тройной вложенности except Exception сейчас код хуже, чем он был бы вообще без обработки ошибок.

    Предположу по принтам, что ошибка в строке
    workbook = workbooks.Open(r"{}".format(abs_path), ReadOnly=1)
    и далее может быть 2 класса ошибок: ошибки, которые можно обработать и нельзя. Чтобы понять какая это ошибка, нужно видеть полный traceback, но с учетом какой-то черной виндовой магии для работы с экселем, возможно его вообще не получить.
    К первому типу ошибок может отнестись то, что возможно Open принимает иные аргументы или ждет другой разделитель пути.
    Ко второму какие-то внешние ошибки, например если эксель не может открыть 2 экземпляра, нет прав на чтение файла или какая-то иная херня на стороне винды/экселя. Текст ошибки очень абстрактный, я уверен ошибка именно подобного рода.

    Ну и задумайтесь о том, чтобы придумать менее проклятое и более масштабируемое решение. Не знаю как выглядит вызывающий код и надеюсь вы не используете эксель как базу данных, но генерировать реальный xlsx файл с копией диапазона было бы значительно безопаснее, быстрее и проще.
    Ответ написан
    Комментировать
  • Какие есть Алгоритмы поиска синонимов?

    fenrir1121
    @fenrir1121
    Начни с документации
    Какие есть Алгоритмы поиска синонимов?

    К примеру: вов, варкрафт, world of warcraft, и просто warcraft

    А вас не смущает что в вашем примере нет ни одного синонима? Если хотите математическую точность решения, начинайте с математической точности запроса.

    Я здесь вижу транслитерацию, сокращение и совокупность транслитерации и сокращения. Причём сокращение это всегда узкая дорожка, когда вы что-то додумали за пользователя: с чего вы взяли что вов это "ворлд оф варкрафт", а не "великая отечественная война"?

    Вопрос как это можно реализовать полностью автоматически?
    Взять готовые инструменты для нечёткого поиска, например ElasticSearch
    Ответ написан
    8 комментариев
  • Как сделать пользовательского бота в дискорд?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    В коде все так, это базовый код бота.
    Чтобы бот можно было добавить в мои приложения нужно выставить галку в настройках на портале для разработчиков: Installation - Installation Contexts - User install
    Ответ написан
    Комментировать
  • Возвращение двух типов Rust?

    fenrir1121
    @fenrir1121
    Начни с документации
    В вашем случае достаточно возвращать Result<Client>. А вообще вернуть несколько значений можно при помощи кортежа.
    Ответ написан
    Комментировать
  • Как интегрировать python код в tauri?

    fenrir1121
    @fenrir1121
    Начни с документации
    Есть два пути
    - Использовать pyo3
    - Использовать sidecar в tauri (пример с питоном)

    Оба способа на мой взгляд сложнее и труднее поддерживаются, чем переписать. Код для авторизации лежит прямо в examples в oauth2-rs
    Ответ написан
    Комментировать
  • Как сделать команду help?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Я не знаю зачем вам хранить все в виде словаря, но из клиента можно получить все зарегистрированные команды и соответственно как угодно их выводить.
    Например вот так
    Ответ написан
  • Как при on message отправить сообщение от другого бота?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Это сделать можно, но исключительно костылями, в результате чего будет теряться какой-нибудь функционал. При этом я не могу придумать ни одной задачи, которая могла бы требовать подобной странной системы из двух ботов, так что есть ощущение что вы делаете что-то не то и стоит детализировать задачу.

    Во-первых стоит прочитать сообщение Дэнни (автора библиотеки), на которое он сам ссылается при подобных ответах.
    При этом подходе запуская два бота в одном цикле событий у вас не будут работать ивенты.

    Второй подход, это запустить оба бота как подпроцессы с общением через каналы или очереди.
    При этом подходе оба бота будут конкурировать за доступ потому что GIL.

    Третий и наиболее адекватный подход в том, чтобы 2 независимых бота общались через шину данных, например RabbitMQ.
    Ответ написан
  • Можно ли реализовать custom bot на discord.py?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Грамотная реализация может оказаться сложнее написания бота, а используемые внутри сервиса библиотеки не имеют значения.
    Вам нужно по команде разворачивать новые экземпляры. Простейший способ - поднятием новых докер контейнеров.

    Наблюдаемость, балансировку нагрузки и обновления оставлю за кадром, для этого нужны более конкретные вопросы.
    Ответ написан
    Комментировать
  • Почему кнопка не взаимодействует спустя время?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    Нужно прочитать про persistant view или посмотреть в примерах использования библиотеки. Вот ссылка на документацию.
    Ответ написан