Ответы пользователя по тегу API
  • Есть ли какие есть варианты api для отправки файлов?

    @rPman
    http (тип upload - multipart/form-data), самый простой и функциональный, поддерживается всеми и везде.

    Например прием файла на php тут разные методы и примеры использования, полистай примеры еще и по ссылкам.
    Ответ написан
    Комментировать
  • Как связать YandexGPT с базой данных?

    @rPman
    При наличии доступа к весам llm, мощностям для finetuning и переобучения, специалистам по нейронным сетям, можно сделать ряд сопроводительны нейронок, которые будут помогать принимать решение о дальнейших действиях, закодировать большое количество 'дорожек' из llm к формальным базам данных, и сделать задачу якобы решенной.

    По факту llm будет решать одну единственную задачу - текстовый интерфейс на естественном языке к интерфейсу к базе данных. Т.е. набор функционала и запросы, которые можно делать к базе нужно будет закодировать заранее.

    Если не углубляться
    - во первых, тебе нужно на основе llm сделать классификатор, который будет из текста пользователя понимать, intent - какое именно действие он желает сделать (для этого обучают нейронку на основе pretrained llm, возможно убирают последние слои, заменяя их на новые, веса которых нужно будет найти и обучить на основе подготовленной базы вопросов пользователей и соответствующих им реакций, с некоторой долей вероятности можно попробовать без обучения спрашивать у умной llm типа chatgpt4, к сожалению chatgpt3.5 и сравнимые с ней плохо с этим справляются, точнее это вопрос творческий и возможно вместо одного универсального промпта тут нужно готовить франкенштейна из большого количества разных, llm-ка от яндекса не подойдет).
    - во вторых, это сбор информации, отличный пример - человек спрашивает брать ли завтра зонтик, мало сети понять что для ответа на вопрос нужно знать какая будет погода завтра (а завтра это через сколько часов?), нужно понять где этот человек находится и возможно задать наводящий вопрос... это я еще молчу про контекст беседы, может пользователь обсуждает о том что взять с собой в поездку на следующей неделе, т.е. вот уже другое время и место (фраза взять с собой может подразумевать - положить в багаж).
    Я видел примеры промптов, с помощью которых из лога беседы можно вытягивать элементы информации (список этих элементов придется заранее забивать соответственно тому интерфейсу, который выбран как целевой на первом шаге), что то типа проанализируй, достаточно ли в данном тексте информации для ответа на вопрос, выделяя в промпте цель, собранную информацию и часть лога беседы, может сжатой через саморизацию с фильтром - нужную для данной задачи (этакая симуляция большого окна контекста).
    Вот тут у директора по развитию ии от яндекс спрашивали как раз

    Не получится брать сырой поток сообщений, добавлять к ним промпт и надеяться получить сразу результат, это кропотливая работа, по преобразованию потока сообщений в некую выжимку, работа с ней разными запросами и заранее подготовленными нейронками (это на порядок эффективнее, кстати то где слабые сети еще могут давать результат, повторяю, нужен доступ к весам, оборудованию и собирать датасеты)

    p.s. С некоторой долей риска можно просить на ходу нейронку генерировать sql запросы на основе вопросов пользователя, результат будет с большими ошибками, чем умнее llm-ка тем сложнее эти ошибки будет обнаружить (в автоматическом режиме я имею в виду).

    upd. вот тут из гигачата сделали внутреннюю базу и как то интегрировали нейронку чтобы ею пользоваться, подробности не сообщили но в статье и комментариях есть ссылки на работы и технологии
    Ответ написан
    1 комментарий
  • Обход блокировки API openai?

    @rPman
    Мой ответ не про openai в частности а в целом про прокси.

    Арендуешь vps с поддержкой ssh (т.е. любой) и ничего не настраивая на нем кроме может пользователя (команда useradd ... и пароль passwd) и опционально настраиваешь беспарольную авторизацию ssh на своем локальном компьютере (смотри как настраивать твой любимый клиент ssh) делов на 1 минуту. А дальше, в своем клиенте добавляешь настройку тунеля -Dпорт (это ключ ssh, например в putty он называется Dynamic) и после подключения к своей vps-ке (в этом окне ssh ничего больше не надо делать, пусть висит) у тебя локально на комьютере будет поднят socks прокси сервер, который прописываешь в браузере или где тебе надо. Например -D1080 даст socks5 прокси по адресу localhost:1080

    Теперь про аренду vps, идешь на поисковик дешевых vps-ок lowendstock и выбираешь себе от 2 бакса в год (но это совсем ущербные), там же почти все принимают оплату биткоинами. У меня годами работают vps-ки с ценой от 1$ в месяц до 3$ (последняя для моих скриптов с 1gb ram и 20gb ssd, не самая шустрая но свои $ отрабатывает на ура)

    p.s. если vps-ка на основе kvm (точнее можно и на любом но нужен модуль tun) то есть шанс настроить ssh сервер на работу vpn-ом буквально

    upd. к сожалению в россии провайдеры стали потихоньку ломать ssh протокол
    , и он рандомно может быть очень медленным, больших скоростей не жди, у меня на ростелекоме с 5мбайт/с может упасть до 100кбайт/сек и держаться так часами (притом что канал у ростелекома широкий, я с того же huggingface на 25мбайт/cек качал гигабайтами нейронки)
    Ответ написан
    3 комментария
  • Существует ли альтернатива видео api ютуба?

    @rPman
    В целом альтернатив youtube нет, любые варианты будут хуже, так как за ними не стоит компании, готовой вкладывать миллиарды годами в убыточный проект до тех пор пока даже самые стойкие конкуренты не протухнут, а население мира не станет воспринимать площадку как естественно единственный вариант.

    youtube это не только api но и люди, без них любая технология будет в забвении.

    p.s. попробуй peertube, технология позволяет во первых не зависеть от центра, не требует держать действительно дорогие сервера чтобы удерживать большие всплески посетителей (за счет того что видео грузится по технологии torrent с других веб клиентов) и там какие то механизмы объединения списка медиа в какой то каталог чтобы все было в одном месте а не миллион независимых сайтов... может у них получится.
    Ответ написан
    Комментировать
  • Модуль python информация о клиенте Minecraft?

    @rPman
    Правильно, написать (легким гуглением не нашел но наверняка похожее кто то запилил) мод к майнкрафту, который каким то образом сообщает все необходимое твоему python приложению, на выбор от промежуточного файла до полноценного IPC

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

    @rPman
    Запусти фейсбуковский переводчик локально (вопросы лицензии и прав использования изучи сам, если тебе для бизнеса)
    https://huggingface.co/facebook/nllb-200-3.3B
    (там есть куча моделей ищи nllb) код использования может быть таким (он автоматически скачает модель):
    #!/usr/bin/python
    from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
    
    # available models: 'facebook/nllb-200-distilled-600M', 'facebook/nllb-200-1.3B', 'facebook/nllb-200-distilled-1.3B', 'facebook/nllb-200-3.3B'
    model_name = 'facebook/nllb-200-distilled-600M'
    
    # add .to('cuda') to use nvidia gpu 
    model = AutoModelForSeq2SeqLM.from_pretrained(model_name) #.to('cuda')
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    
    source = 'eng_Latn' # English
    target = 'rus_Cyrl' # Russian
    
    text = 'Information about training algorithms, parameters, fairness constraints or other applied approaches, and features. The exact training algorithm, data and the strategies to handle data imbalances for high and low resource languages that were used to train NLLB-200 is described in the paper.'
    
    # code to use cpu only
    translator = pipeline('translation', model=model, tokenizer=tokenizer, src_lang=source, tgt_lang=target)
    output = translator(text, max_length=512)
    translated_text = output[0]['translation_text']
    
    # code to use gpu
    #inputs = tokenizer(text, return_tensors="pt").input_ids.to('cuda')
    #outputs = model.generate(inputs, max_new_tokens=512, do_sample=True, temperature=0.001, forced_bos_token_id=tokenizer.lang_code_to_id[target])
    #translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
    
    # you can loop this three code lines to translate multiple texts (it's fast even on cpu)
    print(translated_text)
    Список кодов языков и оценку качества перевода бери из метрик
    Ответ написан
    1 комментарий
  • Получение курса по API Binance?

    @rPman
    Напоминаю, ticker выдает курс последней совершенной сделке по паре, что на неликвидных парах (да и вообще всегда) абсолютно бесполезен (зачем тебе знать что пять минут назад кто то купил по какой то цене, а в реальности она уже убежала на 10%). А график на скриншоте - фиктивный, вычисляется на основе курса основных пар.

    Обменный курс (любой спот биржи) - это два значения BUY и SELL, зависящие от разового объема AMOUNT сделки (чем больше объем сделки тем сильнее отличаются buy и sell друг от друга, это называется спред, и да цены на всех биржах таковы что buy выше sell), обычно разница между ними сравнима с величиной комиссии на сделку на бирже (точнее 2x).

    Смотреть оперативную информацию о стакане (список текущих лимитных ордеров) нужно либо тут либо собирать самостоятельно на основе websocket потока depth
    Ответ написан
    Комментировать
  • Как правильно передать данные?

    @rPman
    Первое, sh - отвратительный язык программирования, именно для задач работы с данными, т.е.он конечно может но сильно неудобно. В метках php, он отлично подходит для написания скриптов, поддержка json есть.

    Второе, поищи для системы виртуализации готовые бинднги или библиотеки , иногда утилиты обслуживания вм есть ключи вывода информации в машиночитаемой виде, чтобы не парсить обычный текст.

    Иногда вместо разработки сетевой коммуникации и сопутствующих им проблем, проще разрабатывать централизованную систему управления, запускать скрипты на удаленных машинах с помощью ssh, но реализовать скрипты так, чтобы они н отрабатывали быстро, репортуя состояния, без ожидания, особенно если система распределенная через ненадежный интернет
    Ответ написан
  • (вопрос от полного чайника) Как писать код, который будет работать с внешним сайтом?

    @rPman
    У тебя тут сразу несколько технологий и задач, достаточно сложных и сильно друг от друга отличающихся:
    1. сбор данных с сайта
    целая вселенная - это и реверсинженеринг сайта, и борьба против автоматизированных сборщиков (в зависимости от того как заморочился с этим владелец сайта)
    Настоятельно рекомендую сразу работать с сайтом из браузера, техник много, от простого открытия сайта в обычном браузере с инжектом твоего javascript (например расширение tempermonkey), который будет ходить по сайту, до запуска безголового браузера и управление им из своей программы с помощью selenium, а там кликать кнопки и собирать данные, отправляя их тебе на сервер или сохраняя в локальной базе браузера - localStorage/indexeddb/...
    2. обработка данных
    тесно связана со сбором, данные нужно не просто собрать но и привести к машиночитаемому виду (бывают ситуации когда данные создаются людьми без определенного формата, в этом случае совсем туго), так же это тесно перекликается с технологиями борьбы владельцев сайтов с автоматическими собирателями данных
    Совет, вместе с текстовыми данными собирай информацию о расположении, гораздо проще догадываться о назначении данных, если знаешь их относительную позицию.
    3. анализ данных и поиск закономерностей плюс визуализация
    это не только нейронные сети, алгоритмов тьма, разбираться хотя бы на уровне что это и в каких ситуациях применять, придется... и самое главное результата может и не получиться но узнаешь ты только потом
    работа творческая, и готовых решений скорее всего нет (хотя спасибо, за последние лет 10 собран такой пласт библиотек для работы, один tenserflow и torch чего стоит. Загляни на weka, это огромный сет библиотек и алгоритмов (java) как источник информации об этих алгоритмах
    Ответ написан
    1 комментарий
  • Защита данных в API?

    @rPman
    Обычно два направления атак, от которых нужно защищаться:
    1. защита от кражи передаваемых данных провайдером (любым, на пути следования пакетов, например публичный wifi)
    2. защита от подмены передаваемых данных, так же провайдером
    Для первой задачи нужно шифрование HTTPS, для второй хватит цифровой подписи но при использовании HTTPS это не актуально, так как подменить зашифрованные данные не получится

    Клиент должен не игнорировать предупреждения о невалидности цифровой подписи (любят тут люди вместо корректной настройки последних версий openssl отключать контроль curl --insecure).

    Есть еще защита от фальсификаций истории действий клиентом и сервисом (как доказать что ты отправил сервису сигнал на покупку и он его принял, а серверу доказать что ты отправлял этот сигнал), это реализуется цифровой подписью, сервер и клиент сначала обмениваются ключами шифрования (или просто солью для хешей) и каждое свое сообщение подписывают, если клиент будет хранить всю коммуникацию, эти цифровые подписи будут доказательством.
    Ответ написан
    Комментировать
  • Как разобраться в api php Binance?

    @rPman
    Installation

    composer require binance/binance-connector-php

    composer есть в поставке любой linux либо скачай с офф сайта последний (тогда запускать composer.phar, он написан на php)

    p.s. есть библиотека ccxt ставится так же через composer, поддерживает кучу бирж (наверное все имеющие смысл) для бинанса там помню максимум проблема будет с coin-m futures и то это было несколько лет назад, когда они только только появились

    хорошая документация, и главное унификация, написал код для одной биржи, с минимумом телодвижений переносишь на другую
    Ответ написан
    Комментировать
  • Всем привет. Я зарегистрировала свое приложение на hh.api, получила client id и client secret. Не разобралась, что делать дальше?

    @rPman
    а дальше идешь на сайт с документацией
    https://github.com/hhru/api
    там будет все красиво описано со ссылками на другую документацию, с примерами, по русски (так не привычно), оформлено очень качественно
    https://api.hh.ru/openapi/redoc
    Ответ написан
    6 комментариев
  • Как оптимизировать работу PHP интеграции?

    @rPman
    Со своим сервисом - сделать batch запросы, позволяющие одним запросом выполнять несколько операций, например запрашивать/модифицировать информацию сразу по нескольким объектам. Но еще лучше, реализовать требуемую логику изменения объектов прямо на сервере, грубый пример - нужно сдвинуть координаты объектов на величину [dx,dy,dz], вместо того чтобы все с сервиса выгружать, менять координаты и загружать обратно, нужно сделать команду, которая на вход получит этот вектор и все сделает на сервере (это самый быстрый вариант)

    С чужими сервисами, либо искать api для batch операций, либо переделать код на параллельные запросы, надеясь что этот сервис оптимизирован на такую работу (не факт, и даже если есть, количество параллельных запросов могут быть ограничены). Если ни то ни другое не доступно, размести свой сервис территориально максимально близко к чужому сервису (так как очень часто задержки сетевых запросов вносят очень большую задержку), само собой сначала удостовериться что причина именно в этом а не тормозах сервиса
    Ответ написан
    3 комментария
  • Линк на апи валидации паспортных данных?

    @rPman
    какой закон это требует?
    p.s. https://kontur.ru/market/spravka/25171-xochu_proda...
    Ответ написан
    Комментировать
  • Кроссплатформенное программирование на C?

    @rPman
    Ну, про "большинство" мне кажется это преувеличение.

    winapi ничем особым не отличается от других UI библиотек, чуть сложнее кастомизация, достаточно неудобная работа, C-структуры а не классы и старые форматы строк (и проблемы с кодировками). Главное его достоинство - минимальные требования к ресурсам, в том смысле что не нужно использовать какую то прослойку, формирующую свою логику и способ рисования UI только чтобы проще его было кастомизировать.. но если тебе нужен только голый функционал, тянуть весь этот лишний мусор психологически неприятно.
    Когда то очень давно
    , впечатлившись возможностями delphi и успешными потугами msvc сделать разработку UI удобным, пробовал реализовать некую IDE, позволяющую рисовать формочки и генирирующую чистый winapi код для их создания (никаких библиотек), попытка была так себе но идея витает до сих пор (надобности в этом теперь нет).

    Ответ на вопрос - использовать libwine
    Ответ написан
    4 комментария
  • Какова архитектура коммуникации между сервисами?

    @rPman
    работу двух не моих сервисов
    собственно все проблемы тут.

    не твои сервисы, значит если их разработчик не продумал каких то механизмов взаимодействия друг с другом, хотя бы в пределах одной машины или в полуручном режиме (например участие пользователя тут экспорт и импорт), то тебе нужны с обоих сторон промежуточные инструменты, которые будут
    * проводить взаимодействие
    * совершать доставку
    * мониторить проблемы

    т.е. на каждой стороне нужно свое приложение которое будет работать с данными, преобразовывать их к нужному виду (понятному приложению на другой стороне) и совершать передачу по сети.

    Плюс к этому еще мониторинг/уведомление о проблемах, если операция периодическая и совершается в автоматическом режиме, нужно сообщать о не завершенности ответственному лицу максимально оперативно и подробно... фраза - 'произошла ошибка 134' - неправильное сообщение, верное - 'обновление данных о сотрудниках не завершено по причине обнаружении дублирующих значений фио и день рождение Василий Иванович Пересменкин 13.02.00 для разных сотрудников', и в идеале по каждой ошибке предлагать какое то решение.
    Ответ написан
    Комментировать
  • Как загружать файлы на гугл диск с сайта php?

    @rPman
    согласно этому, есть проперти parents[] а так же методы addParents чтобы добавить каталог, где будет виден файл (тут каталоги как теги, один и тот же файл может быть размещен в разных местах)

    вот примеры, попробуй в files->create добавить этот параметр
    Ответ написан
  • TON Coin API на php?

    @rPman
    Интересно, почему вы не можете в гугл написать простейший запрос?
    ton web php и получить сразу ответ? это не официальный и не шибко популярный проект, так что настоятельно рекомендую провести анализ исходников на вопрос надежности

    p.s. официально от разработчиков есть javascript и python библиотеки
    Ответ написан
    Комментировать
  • Как лучше хранить и пересылать время: как полную дату или только время?

    @rPman
    храни и передавай как число секунд, огромное количество готовых функций, во всех языках, не подходит только для исторических дат (все что старее unixtime 1970г, во всех остальных случаях - удобно, просто, быстро.

    если на стороне базы данных много работы со временем, то храни соответствующим типом в базе, но передавать лучше готовыми сериализаторами, и не изобретать паровоз.
    Ответ написан
    1 комментарий