Из дома - заходит, но через несколько секунд отрубается (ls/pwd/uptime успел сделать и все).
Забавно, что команда: ssh servername "while true; do date;sleep 1;done"
работает замечательно и долго. При почти одностороннем трафике с сервера - все может жить вечно. А вот интерактивный, когда я печатаю команды - не работает.
Если залогиниться по SSH и первым делом сделать эту while true.... (скопировать, напечатать не получается) и дать ей долго поработать (не знаю, сколько у меня было, я просто поставил и забыл, может час. Но точно минуты мало) - тогда потом можно оборовать этот цикл и сессия уже работать будет нормально.
При этом проверил три сервака в РФ на разных площадках, с любого из них SSH доступ к серверу сейчас вполне нормально работает, без проблем совершенно.
С одной стороны, согласен, что у нас ни на что нельзя положиться, все что работает сейчас, может поломаться через какое-то время.
Но с другой - все в нашей жизни временное. Любой другой вариант тоже ведь может поломаться. Может быть лучше что-то сделать, получить опыт, научиться, и потом если потребуется - сделать снова чуть иначе в новых реалиях.
N, да я технических сложностей не боюсь, умею их решать. Мне интересно, не придется ли (в каких-то сложных случаях) отвечать перед законом если кто-то что-то как-то не так сделает. Или вот даже просто - завтра письмо из спецслужб РФ, США или Угандды придет - требуем показать ящик такой-то, печать-подпись. Можно ли на это безопасно забивать? Если ли страны где более безопасно в этом плане?
alexalexes, то что я выше написал - это супер-упрощенные примеры для наглядности. Да, по ним легко предположить, какие сделать правила и легко и быстро их написать. Но меня интересует именно машинное решение этой проблемы для огромного количества разных шаблонов.
Пока что через всякие GPT я нашел советы использовать Random Forest или LightGBM для нормальных и аномальных примеров, а Isolation Forest для поиска редких аномалий. Но оценить качество этого совета сходу не могу, для меня все три варианта - набор слов пока что :-)
exwill, тут даже мой естественный интеллект пасует. Что странного в структуре?
{
"field1": "abc",
"field2": 123,
}
при таком подходе можно ловить странности только если у нас имена всеъ полей очень понятные, а это может быть только в редких случаях. вот tax_number - это ИНН или казахский ИИН или европейский аналог для физлица или европейский для юрлица или еще какой-то? у них у всех разные параметры. Чтобы догадаться, что tax_number должен быть каким-то - надо много примеров, а не один.
Боюсь, что ни в какой контекст не влезет сотни тысяч таких структур разного типа. А по 100 структурам невозможно составить никакие правила (поле sex в них всегда male => делаем логичный, но ложный вывод, что это строковая константа)
Но вообще что-то подобное я делал вроде через langchain и собственная локальная векторная база данных.
много ресурсов на это не нужно.
Общая схема такая:
- вы анализируете книгу кусками (абзацами) и закидываете каждый в векторную базу данных
- по запросу (по теме книги) - ищете N подходящих абзацев на эту тему и формируете запрос к нейронке (в промпте будут ваши куски, в которых ответ )
- ответ от нейронки кидаете юзеру
промт на запрос "назови столицу России" будет вроде:
Ответь на запрос: назови столицу России.
Столица России - город Москва
Население Москвы .... ....
Москва что-то еще про нее
Столица Чехии Прага
(последний - пример - это какой-то малорелеватный кусок из книги, нейронка должна понять, что этот кусок не пригодится и использовать данные из первого)
Нейронку можно или собственную использовать (если потянет) или любую стороннюю.
И я возможно путаю, но у меня на гораздо более старом i5 локальная лама крутилась и более менее терпимо отвечала на простые запросы (я просил ее генерировать правдоподобных людей в JSON для тестовой базы).
iva2000, попробуйте чуть более сложный пример, возможно вы увидите блокирующую причину.
Я спотыкался на том, что он не может хорошо обработать книгу по будущей (еще не вышедшей) версии некоторой известной программы. На запрос "какая последняя версия" он называл реально вышедшую (известную ему), но не информацию из книги. Но на момент публикации книги новая уже должна будет выйти, поэтому на запрос "какая последняя" он должен давать цитату из текста книги "последняя версия продукта X: 1.2.3 вышедшая тогда-то". Переубедить его у меня не получилось.
Попробуйте сделать тестовый документ, обосновывающий, что снег - черный, а курить - очень полезно (вроде "как показали самые свежие исследования") и добиться от нейросети чтобы она в это поверила.
Возможно вы рано или поздно упретесь в проблему, что нейронка просто отвечает вам из своих общих знаний, которые она считает более приоритетными над любым вашим документом.
Dmitry Roo, что-то слышал, примерно с 1997 года :-). Ничего против такого подхода не имею. Тогда задача - автоматически сгенерировать нужные регекспы (только они тут только для проверки поля подойдут) или JSON схему.
Я же говорю - вручную сделать фильтр для собак и людей, дело на 1 вечер неспешно. Теперь представьте, что у нас пара тысяч разных типов данных. И это уже 2000 вечеров, 7 лет, если делать это вручную. Надо - автоматически.
Wispik, Это и есть - разные. Класс, вероятно, одинаковый, но символы разные. :-). Вопрос же не в том, чтобы программа работала (для этого можно хоть int'ом объявить - работать все равно будет).
Но если объявить неправильный символ (импортированный не из того модуля, как задумал автор), в следующей версии он может все реорганизовать внутри своего пакета (оставив все "официальные" символы на месте, а "внутренний" перебросить из file1.py в file2.py или из Engine в MyEngine переименовать, но импортировать его "as Engine"), и тогда наш код, где мы используем file1.Engine вообще поломается на этапе импорта этого неправильного символа.
Я ниже в "ответах" выслал скрин, что IDE показывает. Нечто без полного пути (знаем только последнюю часть - оканчивается на Engine) и есть по меньшей мере 3 разных символа, (вероятно) указывающих на один и тот же класс. (Даже чтобы перепроверить эту версию, что все 3 - это один и тот же класс, надо потратить время).
Я просто надеялся, что есть какой-то прямой путь. Либо функция подобная type() чтобы вернула заведомо правильное название класса (например, не тип именно этого объекта, а тип того его предка, который надо использовать), либо хотя бы VSCode. У меня он не пишет, какой именно Engine надо использовать.
Aragorn, я так понял, что IDE ничего не вычисляет, а тупо показывает прототип и подсказку docstring из кода.
В случае sqlalchemy create_engine это у нас "... -> Engine", который (если перейти, чтобы понять, какой именно из множества символов Engine в этом пакете имеется в виду) приводит в sqlalchemy.engine.base и в нем уже Engine...
Everything_is_bad, Wispik так разные же Engine. Даже если они одинаковые, есть разные символы:
- sqlalchemy.Engine
- sqlalchemy.engine.Engine
- sqlalchemy.engine.base.Engine
Чтобы узнать, разные или нет - надо полазить по исходникам. Неужели это правильный путь?
и еще, наверное, есть какой-то _engine.Engine откуда-то, я даже не нашел откуда.
Пусть даже в нашем частном случае (с sqlalchemy) - все они указывают на один класс, как определить какой из них правильнее?
Мне интересно не с этим конкретным типом разобраться, а с общим правилом. Есть некоторая функция F из пакета P, какой тип использовать для того значения, которое она возвращает?
Не знаю, звучит интересно - а как, в общих чертах? И насколько дорогой этот метод? Какое-то железо нужно специальное? То есть оператор отправляет смску не на свою настояющую БС, а на фейковую?
CityCat4, у нас импортные товары продаются же. Псевдоотечественные (из импортной комплектухи) - тоже. Это все стоит денег. Эти деньги не вагонами же отправляют, а банковскими переводами. Значит, какое бы впечатление от новостей не было - в реальности банковские переводы работают. Сложнее стало, не так проще как раньше - но можно. Один мой друг сам ведет международный бизнес.
Не все банки под санкциями (хотя многие, надо выбирать). Сейчас райф пока держится, про другие не знаю. Газпромбанк, возможно, тоже, как ни смешно (т.к. через него деньги за нефть и газ). Ну и что-то из мелких может быть.
momvov1, надо прояснить - к какому именно файлу базы случается эта ошибка (и посмотреть, тот ли это файл, как ожидалось). Вполне может быть вариант, что вы ХОТЕЛИ каждое приложение увязать с его собственой базой, но где-то ошибка и поэтому они все открывают один и тот же файл. Попробуйте печатать имя файла базы максимально близко к коду его открытия, а еще посмотреть, нет ли имени файла в exception, и может быть его еще распечатать.
Если бы у вас в самом деле они были полностью изолированы - то каждое приложение даже не знало бы, что другое использует какую-то другую базу.
Из дома - заходит, но через несколько секунд отрубается (ls/pwd/uptime успел сделать и все).
Забавно, что команда:
ssh servername "while true; do date;sleep 1;done"работает замечательно и долго. При почти одностороннем трафике с сервера - все может жить вечно. А вот интерактивный, когда я печатаю команды - не работает.
Если залогиниться по SSH и первым делом сделать эту while true.... (скопировать, напечатать не получается) и дать ей долго поработать (не знаю, сколько у меня было, я просто поставил и забыл, может час. Но точно минуты мало) - тогда потом можно оборовать этот цикл и сессия уже работать будет нормально.
При этом проверил три сервака в РФ на разных площадках, с любого из них SSH доступ к серверу сейчас вполне нормально работает, без проблем совершенно.
С одной стороны, согласен, что у нас ни на что нельзя положиться, все что работает сейчас, может поломаться через какое-то время.
Но с другой - все в нашей жизни временное. Любой другой вариант тоже ведь может поломаться. Может быть лучше что-то сделать, получить опыт, научиться, и потом если потребуется - сделать снова чуть иначе в новых реалиях.