374

Запустил дома нейросеть для программирования ( 60 языков!!)1

Буквально неделю назад вышла открытая нейросеть- модель именно заточенная под программирование ( поддерживает 60 языков). В этом видео на 2 минуты буквально показываю как банально устанавливается ( но нужен мощный компьютер, от 16GB оперативка как на основном процессоре, так и на графическом)
Отвечает пока на английском, хотя и все правильно, но понимает запросы ( задачи для программирования) на русском. Чудеса, иначе не сказать.
В интернете эта же сеть https://chat.mistral.ai/chat отвечает и на русском. Может на русском тоже пойму потом как сделать, но пока не понял. С другой стороны для начинающих программистов английский полезно изучать:)
Установка через эту программу https://lmstudio.ai/ и дальше грузится модель и всё.. по сути в два клика, не надо мучаться с пайтоном, вчера полдня пробовал по инструкции сделать, то одних библиотек не хватает, то других. Инструкция для пайтонистов вот тут https://huggingface.co/mistralai/Codestral-22B-v0.1

Для тех, кто адски ленив и невнимателен, и не хочет 2 минуты видео смотреть, посмотрите на последнюю ссылку, и выбирайте Codestral последний размером 15GB или 22GB, в видео это видно.

UPD:

На эту тему конечно разгорелись почти что жаркие споры в комментариях, но я то думал довольно очевидно, что если человек использует нейросеть для программирования он какие-то элементарные основы знает: что такое хостинг, ftp хотя бы на бейсике или турбо паскале в школе институте программировал ( как я).
Поэтому да, если вы совсем с нуля- то нужно какие-то основы получить, тогда может быть будет смысл для простых программ. У меня уровень крайне простой, программировать не умею, но основы знаю, поэтому например смог обновить на своих сайтах картинки, предварительно спарсив их из источника оригиналов и совместив артикулы, воспользовавшись определенным форматом экселя..
Звучит страшно и непонятно? Если да, то как бы не очень будет вам полезно..
Но научиться я думаю можно быстрей с помощью нейросетей. И плюс ошибаются они, некоторые программки я с 7й попытки писал, то есть делает- ошибка..я ей говорю- ошибка, она такая- исправляю..и так далее. Так что делайте выводы.

И кстати, был невнимателен, по ссылке в тексте где эта нейросеть запускается на сайте- по умолчанию стоит общая сеть, поэтому и отвечает на русском. Очень быстро. Если же там поставить Codestral ( посмотрите внимательно)- также по английски будет отвечать. Так что все как и было задумано:-)
Ах да, пришлось просить исправить скрипт на php написанный Codestral - потому что он начал тупить, хоть по кругу.. Copilot все исправил и всё заработало. Так что гибкость и хитрость тоже нужна. Всем успехов!

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Кто-то наверняка хотел увидеть чем пригодились нейросети и какого уровня код может делать..
Но перед этим скажу, что к сожалению одной сетью Сodestral восхваляемой в предыдущем посте не обошлось.. В итоге использовал по некоторым мелким вопросам ( для уточнений скорей)- Copilot, также https://chat.deepseek.com/coder ( выпустили на днях- тоже довольно хороша для программирования). И даже немного поюзал вышедший чуть ли не вчера ( тоже улучшенный- но не специально для кода)- Claude 3.5 Sonnet, модель которая превосходит GPT-4 почти на всех тестах ( в том числе в программировании)

Claude 3.5 Sonnet уже доступна бесплатно для всех пользователей. ( я регился через sms-activate) за 10р ( конечно нужен VPN)
по факту же- основной код из https://chat.deepseek.com/coder... почему так говорю- потому что уже сам не помню- дня три долбил разные сети)) наверное с 15й попытки сделал рабочий вариант. Штука в том, что пару раз наблюдал за тем, как разные сети начинали глючить..то код не допишут, то еще чего. Я в программировании почти ноль ( на php знаю 2-3 команды и то со словарём..). Хотя кое-какие задачи для себя решаю, пишу технические задания.. И вот ниже тех.задание которое я запихивал в нейросеть- нужное для моих целей.

Ниже также будет опубликован рабочий код. Так что и программисты и любители могут оценить..поругать..или поудивляться что может нейросеть..или оценить свои перспективы.

Итак- вот такое было тех.задание:

Напиши программу на php, которая обрабатывает файл prices.csv, при запуске проверяет существование файлов ostatki.txt и pusto.txt, если эти файлы не существуют, создаёт их. Если файлы существуют, очищает их содержимое. Также если не существует, то создается база sqlite ostatki.db с с двумя таблицами: таблица ostatki с полями artikul ( число), tovar (текстовое), qty ( числовое)  и таблица pusto с полями artikul (число), tovar (числовое), qty (текстовое) . Также добавь вывод ошибок php в начале файла.

Если скрипт запускается первый раз ( это можно проверить по отсутствию базы ostatki.db)- если файла базы нет ostatki.db, она создается как написано выше и запуск считается первым, в этом случае идет обработка файла prices.csv по таким правилам:
файл prices.csv содержит разделители ; ( точка с запятой)

обработка файла prices.csv начинается со второй строки.

2ая колонка в prices.csv это переменная artikul (артикул товара), 3я колонка это name (название товара), 14ая колонка это qty ( количество), считываем все данные из prices.csv построчно, для ускорения процесса используем массив, записываем данные в базу данных ostatki.db в таблицу ostatki по соответствующим названиям полей и переменных ( artikul в artikul и так далее, при условии что в 14й колонке содержится любое число, если в 14й  колонке пусто, тогда данные artikul, tovar записываются в таблицу pusto, а в поле qty этой таблицы pusto записывается текстовое значение zero.

Происходит запись лог файлов ostatki.txt и pusto.txt по таким правилам:

в файл ostatki.txt идет построчная запись товаров с нулевыми остатками, то есть из таблицы ostatki берется товар где qty=0 и в этом случае формируется запись: Товар artikul name закончился, проверьте остатки! И так до тех пор, пока будут проверены все нулевые значения таблицы ostatki в поле qty в базе ostatki.db

в файл pusto.txt построчно записываются значения из таблицы pusto в таком формате Товар artikul name не был заведён по каким-то причинам. После первого запуска идет отправка данных с помощью функции

maillogfile, ее описание в конце текста. И после запуска этой функции maillogfile идет остановка программы, она считается завершенной.
.

При повторном запуске программы ( повторным считается запуск если существует база ostatki.db)

идет проверка на изменение данных в базе данных при сравнении с файлом prices.csv по таким правилам ( начиная со второй строки):

Если в файле prices.csv где 2ая колонка в prices.csv это переменная artikul (артикул товара), 3я колонка это name (название товара), 14ая колонка это qty ( количество), считываем все данные из prices.csv построчно ( ускоряем процесс с помощью массива), если определяется что qty=0 нужно проверить совпадение в базе данных ostatki.db в таблице ostatki по артикулу ( artikul), если в таблице также в qty находится 0, то ничего не делаем, и запись в лог файл ostatki.txt  не производим. Если в таблице prices.csv qty=0 ( это 14ая колонка), а в базе данных ostatki.db в таблице ostatki значение qty больше нуля, тогда делаем запись в лог файл ostatki.txt в формате Товар artikul name закончился, проверьте остатки!

Если при сравнении prices.csv и таблицы ostatki в базе данных ostatki.db при совпадении artikul число qty отличается от нуля ( не пустая строка и не отсутствие значения), и qty в prices.csv отличается от qty в таблице ostatki то делаем перезапись значения qty в базе данных.. Если artikul в prices.csv не находится в ostatki.db в таблице ostatki, при втором  и последующих запусках программы, значит данного товара еще не было и создается новая строка с данными  artikul, tovar, qty и также идёт запись в ostatki.txt такого вида: Добавлен товар artikul name с остатком qty.

Также проверяем проходя 2, 3, 14 колонку файла prices.csv и таблицу pusto в базе данных, если artikul содержит qty от 0 и выше, и при этом данный artikul содержится в таблице pusto, то удаляем эту строку из базы данных из таблицы pusto.

Также идёт проверка таблицы pusto, если в файле prices.csv есть пустые значения в qty ( 14ая колонка), то есть это не 0 и не число, и такое же точно значение уже есть в таблице pusto по значению artikul, и в qty находится zero, то в файл pusto.txt ничего не пишем и проверяем дальше. В итоге после всех проверок

Запускается функция для отправки  maillogfile, ее описание ниже.

Функция maillogfile содержит отправку по заданному адресу с другого заданного адреса  с использованием библиотеки Phpmailer ( она находится в папке PHPMailer/src/, адрес куда отправлять берет из файла email.txt, откуда отправлять и другие настройки берет из файла email.cfg в формате json, пример содержимого email.cfg с соответствующими настройками, чтобы ты знал как создать функцию maillogfile с использованием данных файлов в виде настроек приведены ниже в кавычках {}

{

"smtp_host": "smtp.mail.ru",

"smtp_auth": true,

"smtp_username": "de--@Mail.ru",

"smtp_password": "H--—9H",

"smtp_secure": "ssl",

"smtp_port": 465
“Name”: ”Dimitriy”

}

Здесь Name это имя отправителя, все остальные данные совпадают с переменными..

Эта функция при запуске отправляет во вложении файлы ostatki.txt и pusto.txt, также тексты добавляются из файлов в тело письма, , при условии что в данных файлах содержится текст, если файлы пустые, не содержат текст,  то письмо не отправляется.

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


Если лог файлы ostatki.txt и pusto.txt пустые- выводится - Ничего не изменилось, поэтому письмо не отправлено. Также проследи чтобы не было проблем с кодировкой при отправке писем, чтобы заголовки и сам текст был в одной кодировке. Также учти чтобы при чтении файла prices.csv не было проблем с кодировкой ( текст внутри этого файла prices.csv в кодировке  windows-1251), следует при записи в базу данных и обработке делать преобразование в utf-8 текстовых данных.

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

Также проверь время выполнения файла и выведи в конце подробную информацию- сколько времени было выполнение файла.

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

<?php

ini_set('display_errors', 1);

ini_set('display_startup_errors', 1);

error_reporting(E_ALL);

function maillogfile($to, $from, $fromName, $smtpSettings) {

require 'PHPMailer/src/PHPMailer.php';

require 'PHPMailer/src/SMTP.php';

require 'PHPMailer/src/Exception.php';

$mail = new PHPMailer\PHPMailer\PHPMailer();

$mail->isSMTP();

$mail->Host = $smtpSettings['smtp_host'];

$mail->SMTPAuth = $smtpSettings['smtp_auth'];

$mail->Username = $smtpSettings['smtp_username'];

$mail->Password = $smtpSettings['smtp_password'];

$mail->SMTPSecure = $smtpSettings['smtp_secure'];

$mail->Port = $smtpSettings['smtp_port'];

$mail->CharSet = 'UTF-8';

$mail->setFrom($from, $fromName);

$mail->addAddress($to);

$mail->Subject = 'Остатки товаров';

$ostatkiContent = file_get_contents('ostatki.txt');

$pustoContent = file_get_contents('pusto.txt');

if (empty($ostatkiContent) && empty($pustoContent)) {

echo "Ничего не изменилось, поэтому письмо не отправлено.";

return;

}

if (!empty($ostatkiContent)) {

$mail->addAttachment('ostatki.txt');

$mail->Body .= $ostatkiContent;

}

if (!empty($pustoContent)) {

$mail->addAttachment('pusto.txt');

$mail->Body .= $pustoContent;

}

if (!$mail->send()) {

echo 'Ошибка, почта не была отправлена.';

echo 'Mailer Error: ' . $mail->ErrorInfo;

} else {

echo 'Почта с нулевыми остатками отправлена.';

}

}

$startTime = microtime(true);

$dbFile = 'ostatki.db';

$csvFile = 'prices.csv';

$ostatkiFile = 'ostatki.txt';

$pustoFile = 'pusto.txt';

$emailFile = 'email.txt';

$emailConfigFile = 'email.cfg';

if (!file_exists($ostatkiFile)) {

file_put_contents($ostatkiFile, '');

} else {

file_put_contents($ostatkiFile, '');

}

if (!file_exists($pustoFile)) {

file_put_contents($pustoFile, '');

} else {

file_put_contents($pustoFile, '');

}

$ostatkiBuffer = '';

$pustoBuffer = '';

if (!file_exists($dbFile)) {

$db = new SQLite3($dbFile);

$db->exec("CREATE TABLE ostatki (artikul INTEGER, tovar TEXT, qty INTEGER)");

$db->exec("CREATE TABLE pusto (artikul INTEGER, tovar TEXT, qty TEXT)");

$db->exec("CREATE INDEX idx_ostatki_artikul ON ostatki (artikul)");

$db->exec("CREATE INDEX idx_pusto_artikul ON pusto (artikul)");

$insertOstatki = $db->prepare("INSERT INTO ostatki (artikul, tovar, qty) VALUES (:artikul, :tovar, :qty)");

$insertPusto = $db->prepare("INSERT INTO pusto (artikul, tovar, qty) VALUES (:artikul, :tovar, 'zero')");

$csvData = [];

if (($handle = fopen($csvFile, "r")) !== FALSE) {

fgetcsv($handle, 0, ";"); // Skip header

while (($data = fgetcsv($handle, 0, ";")) !== FALSE) {

$csvData[] = $data;

}

fclose($handle);

}

$db->exec("BEGIN TRANSACTION");

foreach ($csvData as $data) {

$artikul = $data[1];

$tovar = mb_convert_encoding($data[2], 'UTF-8', 'Windows-1251');

$qty = $data[13];

if (is_numeric($qty)) {

$insertOstatki->bindValue(':artikul', $artikul, SQLITE3_INTEGER);

$insertOstatki->bindValue(':tovar', $tovar, SQLITE3_TEXT);

$insertOstatki->bindValue(':qty', $qty, SQLITE3_INTEGER);

$insertOstatki->execute();

} else {

$insertPusto->bindValue(':artikul', $artikul, SQLITE3_INTEGER);

$insertPusto->bindValue(':tovar', $tovar, SQLITE3_TEXT);

$insertPusto->execute();

}

}

$db->exec("COMMIT");

$ostatkiBuffer = '';

$pustoBuffer = '';

$result = $db->query("SELECT * FROM ostatki WHERE qty = 0");

while ($row = $result->fetchArray()) {

$ostatkiBuffer .= "Товар {$row['artikul']} {$row['tovar']} закончился, проверьте остатки!\n";

}

$result = $db->query("SELECT * FROM pusto");

while ($row = $result->fetchArray()) {

$pustoBuffer .= "Товар {$row['artikul']} {$row['tovar']} не был заведён по каким-то причинам.\n";

}

file_put_contents($ostatkiFile, $ostatkiBuffer);

file_put_contents($pustoFile, $pustoBuffer);

$email = file_get_contents($emailFile);

$emailConfig = json_decode(file_get_contents($emailConfigFile), true);

maillogfile($email, $emailConfig['smtp_username'], $emailConfig['Name'], $emailConfig);

} else {

$db = new SQLite3($dbFile);

$updateOstatki = $db->prepare("UPDATE ostatki SET qty = :qty WHERE artikul = :artikul");

$insertOstatki = $db->prepare("INSERT INTO ostatki (artikul, tovar, qty) VALUES (:artikul, :tovar, :qty)");

$deletePusto = $db->prepare("DELETE FROM pusto WHERE artikul = :artikul");

$insertPusto = $db->prepare("INSERT INTO pusto (artikul, tovar, qty) VALUES (:artikul, :tovar, 'zero')");

$csvData = [];

if (($handle = fopen($csvFile, "r")) !== FALSE) {

fgetcsv($handle, 0, ";"); // Skip header

while (($data = fgetcsv($handle, 0, ";")) !== FALSE) {

$csvData[] = $data;

}

fclose($handle);

}

$db->exec("BEGIN TRANSACTION");

foreach ($csvData as $data) {

$artikul = $data[1];

$tovar = mb_convert_encoding($data[2], 'UTF-8', 'Windows-1251');

$qty = $data[13];

if (is_numeric($qty)) {

$result = $db->querySingle("SELECT qty FROM ostatki WHERE artikul = '$artikul'", true);

if ($result) {

if ($result['qty'] != $qty) {

$updateOstatki->bindValue(':qty', $qty, SQLITE3_INTEGER);

$updateOstatki->bindValue(':artikul', $artikul, SQLITE3_INTEGER);

$updateOstatki->execute();

}

if ($qty == 0 && $result['qty'] > 0) {

$ostatkiBuffer .= "Товар {$artikul} {$tovar} закончился, проверьте остатки!\n";

}

} else {

$insertOstatki->bindValue(':artikul', $artikul, SQLITE3_INTEGER);

$insertOstatki->bindValue(':tovar', $tovar, SQLITE3_TEXT);

$insertOstatki->bindValue(':qty', $qty, SQLITE3_INTEGER);

$insertOstatki->execute();

$ostatkiBuffer .= "Добавлен товар {$artikul} {$tovar} с остатком {$qty}.\n";

}

$deletePusto->bindValue(':artikul', $artikul, SQLITE3_INTEGER);

$deletePusto->execute();

} else {

$result = $db->querySingle("SELECT qty FROM pusto WHERE artikul = '$artikul'", true);

if (!$result) {

$insertPusto->bindValue(':artikul', $artikul, SQLITE3_INTEGER);

$insertPusto->bindValue(':tovar', $tovar, SQLITE3_TEXT);

$insertPusto->execute();

}

}

}

$db->exec("COMMIT");

file_put_contents($ostatkiFile, $ostatkiBuffer);

file_put_contents($pustoFile, $pustoBuffer);

$email = file_get_contents($emailFile);

$emailConfig = json_decode(file_get_contents($emailConfigFile), true);

maillogfile($email, $emailConfig['smtp_username'], $emailConfig['Name'], $emailConfig);

}

$endTime = microtime(true);

$executionTime = $endTime - $startTime;

echo "Время выполнения скрипта: " . round($executionTime, 2) . " секунд";

?>

Сам бы я такое на написал даже после обучение в полгода-год как мне кажется.. по сути тут работы с нейросетью мне на полдня ( хотя в итоге было три попытки- часа по два каждый раз)
Еще стоит учесть что и тех.задание переписывал ( это уже вторая версия глобально). В первый раз почти все получилось- но что-то пошло не так..и на второй день уже снова делал с нуля..и новое тех.задание ( другими словами). Первые запуски были тормозные- секунд по 20.. было переформулировано- сделай быстрей... Нейросеть давала советы- как сделать лучше- переписывала код.. В итоге обработка файла где 1000 товаров- происходит примерно за секунду.
Так то можно даже чему-то научиться если читать советы:-)
Вот и смотрите теперь- как вам такое? Может ли быть полезно? Всякие обработки эксель файлов на ура с кучей условий ( мне практические такое требуется). В итоге конечно на практических примерах лучше тренироваться- тогда можно научиться чему-то.. а если теоретически- даже и не знаю что у этого железного мозга спрашивать:-)
Были нюансы- на хостинге через планировщик не запускалось- были ошибки- спросил в чем дело- оно тоже дало совет, варианты из-за чего могла быть проблема.. так что пользы много))

Показать полностью
комментарии (9)
0
Автор поста оценил этот комментарий

Поэтому меня и радуют нейросети- которые можно дома запускать. Выпустили вчера уже сеть- которая может музыку писать ( именно локально)... да и много чего есть

Вот в этом и был мой вопрос - какую из видюх можно считать разумным минимумом для того, чтобы подобные сетки нормально работали?


Планирую собирать второй комп-сервер, проц вероятно будет Ryzen 8500G, доступной для экспериментов оперативки - в пределах 64Gb, осталось решить с видюхой, будет ли она вообще и если будет, то что именно нужно искать.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

у меня gforce RTX 4080, памяти вроде там 16, а насчет минимума и т.д- у всех же разные требования.. все еще от финансов зависит..

3
Автор поста оценил этот комментарий
Еще один уровень абстракции, да. Теперь вместо написания кода надо будет учиться писать промты, а потом контролировать написанный код.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

0
Автор поста оценил этот комментарий

А чем лучше того же GPT-4o или gemini-1.5-flash?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

это сеть заточенная именно под программирование. Чем лучше или хуже не знаю- нужно проверять тестировать на разных задачах. Плюс в том что можно дома у себя держать

0
DELETED
Автор поста оценил этот комментарий

Только под питон или же можно под другие языки?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

60 языков. я использую под php и python

показать ответы
0
Автор поста оценил этот комментарий
@dimitrioniks,привет! А можешь записать демонстрацию возможностей неросетки? Типа написания простейших программ. Спасибо!
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

привет. была такая идея, у меня просто довольно специфические программы, тут наверное главное показать как быстро настроить тот же python и потом запускать программы, написанные на нём. Но опять же, хоть какие-то минимальные основы алгоритмизации и логики этого всего дела- нужно понимать. В основном у меня это обработки разные эксель таблиц, всякие разные переносы данных, в редких случаях создание mysql команды для таблицы в базе данных интернет-магазина. То есть для своих мелких бизнес-целей использую.

0
Автор поста оценил этот комментарий

Она такое же говно как и все остальные типа copilot и jetbrains assistant? Или умеет не терять контекст хотя бы в пределах файла и не рожает по 10 секунд?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

10 секунд это долго?)) для человека- который нуб в программировании

показать ответы
0
Автор поста оценил этот комментарий

Это будет работать ровно до тех пор, пока размер говна мал.

Когда кодовая база перевалит 1-10-100к строк - вы будете сами себе локти кусать, что сделали тяп-ляп и не стали вникать глубоко.


Для утилитарных нужд. Какие-то говноскрптики, парзеры и прочая - ии удобен.

Но сделать что-то посложнее, да хоть бы mitm proxy(burp, fiddler) увы, на это у ии сил не хватит. А если туда, скажем, запихнуть еще TLS fingerprint hijacking, то сушите весла. Только ручками.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

большего многим и не надо. телеграм боты писать может. обрабатывать базы данных и эксель листы по разным правилам тоже. для вещей посложней- есть уже полуготовые решения- всякие там зенно постеры... в общем 80% пожеланий решает. Вот пример: у меня надо было картинки обновить в интернет магазинах по определенному паттерну. Заказывал бы у фрилансера- пришлось бы 5-10т.р платить и ждать два дня..а тут полчаса повозился и скрипт готов. Конечно надо алгоритм понимать и малейшие основы- чтобы исправлять ошибки ( этой же сетью). Так что..каждому свое. Ускоряет процессы это сильно

показать ответы
1
Автор поста оценил этот комментарий
Опа. Сохранил. 🙏 спс
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

показать ответы
0
Автор поста оценил этот комментарий
Как думаете , появится вообще ИИ которое будет способна сразу рабочий код выдать, чтобы только в программе останется активировать? Но вообще да, очень гибкие навыки общения (наверное так) нужно иметь и понимание что как спрашивать и писать
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Вообще то простые программы и сейчас выдаёт, иногда сразу все рабочее, иногда нет:) надо следить. Большие нет. Хотя телеграм ботов можно писать с его помощью например

1
Автор поста оценил этот комментарий
Можно запустить в докере, на vs code установить плагин ollama autocoder. В коде пишете комментарий, нажимаете Ctrl+пробел и он генерирует код прямо в файле.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

что-то на богатом)) спецы наверняка поймут

0
DELETED
Автор поста оценил этот комментарий

Отвечает пока на английском

А это не перевод?

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не знаю; ( где это ?

показать ответы
4
Автор поста оценил этот комментарий

Для нуба всё это ИИ просто противопоказано. У меня уже была пара chatgpt-джунов, это полная дичь. Они свято верят что та шизофазия которую им генерит чат это хороший, нормальный код, и переубедить их можно только увольнением


Основная беда что джун тупо не знает "что вообще есть" и потому не может грамотно сформулировать вопрос. Пример: допустим вы джун и работаете с монгой, у вас приходят строка-ID и число, нужно если такого id нет создать новую запись и сложить число в поле A, а есть уже есть - добавить к A это число. Счётчик короче. Как вы думаете, сколько запросов на это уйдёт у джуна? Суть - он не знает про upsert, про findAndUpdate, про setOnUpdate, inc и прочие. Он будет искать в лоб - "как проверить есть ли запись" или "как поменять значение поля в записи". Что будет по итогу думаю понятно, ни производительностью, ни atomicity там и не пахнет. При том если открыть доку - все эти вещи идут в reference к тому же update, и шанс что джун их увидит гораздо выше.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

О том и речь, нужны конечно понимания основ и алгоритмизации и т.д и т.п. Тогда это полезно. Я вот даже не джун, а недо-недо джун, потому очень простые программы делаю на php и python, которые по сути на одном экране помещаются. И то порядок

показать ответы
2
Автор поста оценил этот комментарий

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


Я как-то пробовал написать с помощью ЧатЖПТ приложение календарь на андроид, супер примитивное, тупо отображение дней месяца и возможность сделать заметку. За 4 часа смог заставить нейронку выплюнуть мне рабочий код из трёх или четырёх классов. Но было понятно, что любая попытка добавить что-то ещё туда чисто через нейронку - сломает всё, что есть. Я сам программист, но мне было интересно добиться рабочей версии именно от нейронки. Короче гиблое дело, я считаю.


Так же, по работе иногда использую ЧатЖПТ. Бывает нужно решить какую-то редкую проблему, спрашиваешь чат и ничего путного нейронка не даёт. Начинаешь сам гуглить и на стэковерфлоу находишь эти же самые ответы, которая писал тебе чат, только от живых людей и в реальном обсуждении из которого сам приходишь к решению. То есть нейронка тупо скопировала ответ но потеряла весь контекст. И если такой ответ на 100% не решает проблему, то нейронка просто бесполезна.


Короче, возможности большие, но никакой магии. Без своих знаний мало шансов что-то напрограммировать путное.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

4
Автор поста оценил этот комментарий

Обещать можно что угодно, но по ключевым моментам пока всё не слишком хорошо:
1. Стоимость. Поддержание инфраструктуры ИИ сейчас стоит каких-то безумных денег. Пока всё это глубоко убыточно, но держится на хайпе "вот-вот выстрелит, начнёт приносить много денег и окупит себя". Если не будет какого-то супер серьёзного прорыва, который позволит увеличить прибыль или уменьшить расходы, то даже непонятно, как это выводить на себестоимость.

2. Фундаментальные проблемы ИИ - они галлюцинируют и я не слышал, чтобы были какие-то продвижения на этот счёт. Люди тоже галлюцинируют, но у людей есть отдельная "функция" (отдел мозга? я тут плохо разбираюсь), которая занимается отделением реальности от фантазий.

Когда именно появится (и появится ли вообще без очередного скачка сложности) такой же фильтр у ИИ - неизвестно. Тут как с "доступным термоядом, который будет уже скоро" - уже много десятков лет "осталось всего 20 лет до промышленного применения термоядерных реакторов".


В общем, я не особо верю в какие-то близкие серьёзные прорывы в ИИ, которые позволят сделать его коммерчески оправданным.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
0
Автор поста оценил этот комментарий

тем не менее- конечно программирует очень хорошо
А по каким критериям Вы определили очень хорошее программирование?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

по сравнению с тем что было- на том же Copilot и стало)) все познается в сравнении. также пишет хорошие комменты на каждый кусок кода- это может способствовать изучению программирования. Понятно дело- что хорошо для простых задачек, возможно я напишу скоро примеры решаемых задач, чтобы было понятно. Все равно- то что ускоряет процесс ( особенно если знаешь что нужно и знаешь какие-то основные программирования)- уже хорошо.. разве можно это назвать плохим?))) Без этого я бы не смог написать эти программы свои.

0
Автор поста оценил этот комментарий

лишь бы работало:)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

работает.

0
Автор поста оценил этот комментарий
"до этого писал..." , вот и спрашиваю что за нейронка ) Вообще у меня были попытки с chat GPT , он давал код, но как его скомпилировать вообще не смог разобраться программы на английском, то что пишут в инструкциях не совпадает с действительностью(названи/расположение кнопок) и я это дело забросил. Но попутно общался со знакомым программистом, который в геймдеве и не только успел поработать, он сказал мне что я узко описываю функции и что если даже если код я смогу заставить работать, то будет куча конфликтов и несостыковок, наглядный пример он мне показал, после того как я ему написал как должен работать флаг для PVP , а взамен он мне скинул в 10 раз больше текста где учитывал все, чтобы этот флаг не конфликтовал с другими функциями и игрой....
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

1
Автор поста оценил этот комментарий

Да и хуже качество ответов в этих нейросетях чем беслатные нейросети которых сейчас полно и онлайн и в телеграмм ботах, так что смысла не имеет эта штука.

На первый взгляд да, а по факту - нет.

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

Когда же сетка запущена локально - работать она будет вне зависимости от желания левой пятки владельца нейросети.


Понятно, что с ChatGPT сравнивать смысла нет - у них там сотни миллионов долларов в месяц уходят просто на поддержание работы сетей. Но далеко не всегда нужна такая мощность.


К примеру, распознавание голосовых команд для персонального "умного дома" должна потянуть и довольно простая сеть, особенно если количество команд ограничивается парой десятков + ещё десятком параметров.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
0
Автор поста оценил этот комментарий

И/или наплодить кучу говнокода:)

А вообще согласен. На коленке написать 50 алгоритмов и потестить на них свои входные данные " в лоб". Руками такое делать не будешь

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

запросто. но так бы я учился полгода и замучался..а так сделаю говнокод- и будет работать..

показать ответы
1
Автор поста оценил этот комментарий
Подскажите чем пользовались? Я в программировании вообще не Але, но допустим хотел бы чтобы под мои хотелки написали например плагины для Майнкрафт сервера ))))
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

пользовались в каком плане? в любом случае логику и алгоритмы надо понимать- без этого нейросети бесполезны.

показать ответы
0
Автор поста оценил этот комментарий

Кому как, мне интереснее и проще самому решение найти. А уж оно само как-то запоминается(вектор, куда копать . какой-то общий ньюанс и тп).

Я не очень себе представляю задачу в моей работе, которую нейронка сделает за меня:)

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В любом случае алгоритм человек придумывает- но нейросеть может сэкономить кучу времени..

показать ответы
0
Автор поста оценил этот комментарий

ZLib это библиотека. Сжимаете чем, gzip?


Я не знаю, как сделано именно у вас, но для gzip(если не путаю) можно как добавлять хидер, так и не добавлять.

Под рукой мануалов нет, но, если не ошибаюсь 12байт первые можно выкинуть попробовать в ваших данных и скормить в .net.

Да и сложно на самом деле подсказать, без исходников и без лога ошибок..

Сорри, Но я бы с документации начал - 100% какой-то ньюанс упускаете

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

самое что забавное, нейросети когда им задаешь вопрос про ошибки документацию и что-то такое, что пришлось бы в гугле или на форуме искать, часто отвечают гораздо лучше и понятней, уже было несколько таких у меня примеров.. спросил на форуме..погуглил безрезультатно- спросил у нейросети- ответила- экономия 1-2 дня..неделя и т.д. Не факт что в гугле бы вообще нашел. У этой еще не спрашивал такое- но вот тот же Copilot сильно помог отвечая на разные такие вопросы программистские..

показать ответы
3
Автор поста оценил этот комментарий

Оно на оперативе запускает, но работает на оперативе в разы медленней чем на видеокарте. У меня 64GB оперативки, я запускал и 70B ну работает крайне долго по 5 минут отвечает . Да и хуже качество ответов в этих нейросетях чем беслатные нейросети которых сейчас полно и онлайн и в телеграмм ботах, так что смысла не имеет эта штука. Разве что для теста. Chat gpt 3.5 вроде на 200B+ или 300B работает и другие качественные нейросети, такие если и есть бесплатно исходники или будут то локально не запустишь из-за нехватки памяти.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Можно выбрать в настройках распределение между CPU и GPU

44
Автор поста оценил этот комментарий

Скрипт из видео просто конкатенирует файлы. А заголовки экселя, формат ячеек? - И так сойдёт.


Недавно смотрел лекцию Kevin Henney - Talk six impossible things. Он там одной фразой описал современные нейросети что пишут код: "человечество придумало еще один способ писать легаси код". Это ёмко описывает текущее развитие нейросетей которые обучаются на куче плохо написанных программах с гитхаба.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

я не стал париться, в реальности я до этого писал похожей нейросетью сложные программы- где сложные обработки экселей ячеек и т.д и т.п. это ж просто для примера

показать ответы
3
Автор поста оценил этот комментарий

Все сильно проще. https://ollama.com/

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

там командная строка, отдельно надо ставить WebUI и вот это вот все, а тут просто два клика.. хотя не спорю, возможно там больше возможностей и плюсов, это еще предстоит попрбовать

3
Автор поста оценил этот комментарий

Все сильно проще. https://ollama.com/

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
Автор поста оценил этот комментарий

Там куча моделей - какую качать?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Codestral размерами от 12gb, посмотрите внимательно видео, сделайте стоп кадр, я пару моделей загрузил попробовал. Так то их море для разных целей.

показать ответы
3
Автор поста оценил этот комментарий

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

А если серьезно - начинаю жалеть, что не родился лет эдак на 20 позже. Столько возможностей, а возраст уже не пацанячий и даже не школьный, чтобы все их попробовать.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
Автор поста оценил этот комментарий

тож сохраню.

Неужто нейросети умеют чтото еще, а не только делать домашку и рисовать несуществующих девушек?!

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

очень много чего умеют, при условии задавания правильных вопросов, я и до этого писал простые программки с ее помощью, теперь тем более

показать ответы
Автор поста оценил этот комментарий

Ааа, тут надо прям видео смотреть). Прямо в статье написали бы названия

раскрыть ветку (1)
Автор поста оценил этот комментарий

ну, значит вам это не надо. тем более что в статье есть ссылки на название модели- даже в самом URL :-))

показать ответы