Midjourney и другие нейросети обработки изображений - страница 1029

 
Aleksander #:
Ха, щас в телефоне запустил локально гемму3, и она начала писать сову на мкль5

1B версия ничего не стоит, чисто чтобы с телефона собирать саммари данных. Создавать вменяемые вещи может с трудом. 4B и выше на тф будут тормозить. Хотя, если 4B запустится, она хороша (но не в коде).

Edgar Akhmadeev #:

Не ждите от LLM слишком многого. Они не выполнят за вас проект. Просто помогают в тупых и скучных операциях. Программисты на C/C++ и Питоне вовсю пользуются. Вот решил попробовать. Собираю все локальные модели GGUF максимального размера, которые ещё помещаются в мой VRAM 12Gb, умеющие кодить. Потом буду отсеивать, кто лучше знает MQL5 и его служебные функции.

Codestral-22B (урезанный Mistral)

DeepSeek-Coder-V2-Lite

Gemma-3-12b

Gemma_coder_9B

Meta-Llama-3.1-8B

Qwen3-14B-128K

Qwen-2.5-Coder-7B

Phi-4 (Microsoft)

StarCoder2-15B

WizardCoder-15B

Falcon-7B

CodeLlama-13B

Вот всё, что нашёл.

С выходом Qwen3 всё перевернулось в сфере кодинга, математики и рассуждений.

Хоть 4B модель по запросу на стихи включила режим рассуждения и не выдала рифмы на русском, стоит отдать должное её результатам в бенчмарках по программированию.

Работает быстро. Для тестов с кодом лучше не найти. 4B будет летать. 8B работать сносно. Остальное проверяйте сами на своём железе.

Все версии доступны в LM Studio официально. Гляньте на бенчмарк CodeForce и всё поймёте. Если не MQL5, то на питоне будет хорошо писать. Все нейронки по коду почему-то принципиально затачивают на питон.

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

 
Ivan Butko #:
Попробовал снова написать код модифицированного зигзага с помощью ИИ - никто не справляется. 

Задачу уже писал давно в этой ветке. 

В общем мотивация Сэму Альтману, Илону Маску и Си Дзинь Пиню - работайте! 
Вашим ИИ пока тяжело даются пространственные геометрические индикаторы. 

Я знаю, вы читаете эту ветку

Вот ии выдал код, посмотри может полезное есть:

//+------------------------------------------------------------------+
//|                                                       ZigZagExtLabels.mq5 |
//|                        Перевод и адаптация: @YourName           |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 0

input int     InpDepth    = 12;     // Глубина ZigZag
input int     InpDeviation = 5;     // Отклонение
input int     InpBackstep  = 3;     // Возврат
input color   LabelColor  = clrRed; // Цвет подписей

int zigzag_handle;

bool labels_created[]; // Для отслеживания уже созданных подписей

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
    // Получаем хэндл зигзага
    zigzag_handle = iCustom(NULL, NULL, "ZigZag", InpDepth, InpDeviation, InpBackstep);
    if(zigzag_handle == INVALID_HANDLE)
    {
        Print("Не могу получить хэндл индикатора ZigZag");
        return(INIT_FAILED);
    }

    ArrayInitialize(labels_created, false);

    return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
    static int last_processed_bar = 0;

    // Обрабатываем только новые бары
    int to_process = rates_total - prev_calculated;
    if(prev_calculated == 0) // первый запуск
    {
        last_processed_bar = 0;
        to_process = rates_total;
    }

    double zz_values[];
    ArraySetAsSeries(zz_values, true);
    CopyBuffer(zigzag_handle, 0, 0, to_process + InpDepth, zz_values);

    for(int i = 0; i < ArraySize(zz_values); i++)
    {
        int bar_index = rates_total - 1 - i;

        if(bar_index < 0 || bar_index >= rates_total)
            continue;

        double zz_val = zz_values[i];

        if(zz_val != EMPTY_VALUE && !labels_created[bar_index])
        {
            // Проверяем, является ли точка пиком или впадиной
            bool is_peak = IsPeak(bar_index);
            bool is_trough = IsTrough(bar_index);

            string label_name = "Label_" + IntegerToString(bar_index);

            if(is_peak)
            {
                ObjectCreate(0, label_name, OBJ_TEXT, 0, time[bar_index], zz_val);
                ObjectSetInteger(0, label_name, OBJPROP_ANCHOR, ANCHOR_BOTTOM);
                ObjectSetString(0, label_name, OBJPROP_TEXT, "Пик");
                ObjectSetInteger(0, label_name, OBJPROP_COLOR, LabelColor);
                labels_created[bar_index] = true;
            }
            else if(is_trough)
            {
                ObjectCreate(0, label_name, OBJ_TEXT, 0, time[bar_index], zz_val);
                ObjectSetInteger(0, label_name, OBJPROP_ANCHOR, ANCHOR_TOP);
                ObjectSetString(0, label_name, OBJPROP_TEXT, "Впадина");
                ObjectSetInteger(0, label_name, OBJPROP_COLOR, LabelColor);
                labels_created[bar_index] = true;
            }
        }
    }

    return(rates_total);
}

//+------------------------------------------------------------------+
//| Является ли бар пиком                                            |
//+------------------------------------------------------------------+
bool IsPeak(int bar)
{
    return(high[bar] > high[bar + 1] && high[bar] > high[bar - 1]);
}

//+------------------------------------------------------------------+
//| Является ли бар впадиной                                         |
//+------------------------------------------------------------------+
bool IsTrough(int bar)
{
    return(low[bar] < low[bar + 1] && low[bar] < low[bar - 1]);
}

//+------------------------------------------------------------------+
//| Deinitialization function                                        |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
    // Здесь можно удалить все созданные объекты
}

 
Так же есть версии самописно написанный зигзаг от ии, с подписями
 
Aleksander #:
TheBloke/openchat-3.5-0106-GGUF тоже может кодить

Взял mradermacher/openchat-3.5-0106-128k-GGUF, контекст 128K вместо 8K.

 
Vitaliy Kuznetsov #:

1B версия ничего не стоит, чисто чтобы с телефона собирать саммари данных. Создавать вменяемые вещи может с трудом. 4B и выше на тф будут тормозить. Хотя, если 4B запустится, она хороша (но не в коде).

Скачал 4b , правда 4бит квант., Заработало на смартфоне, и скорость относительно нормальная, 7токенов в сек... А  1б 15токенов давала,чисто оценить ии брал.
Файлы:
 
Кстати у 4б версии 131000 токенов котекст
Файлы:
 
Aleksander #:
Скачал 4b , правда 4бит квант., Заработало на смартфоне, и скорость относительно нормальная, 7токенов в сек... А  1б 15токенов давала,чисто оценить ии брал.

Она в разы лучше. Более того, понимает фото на вход.

 

Сгенерированные девушки. Миджорни


 

Разное. Миджорни


 
Vitaliy Kuznetsov #:

С выходом Qwen3 всё перевернулось в сфере кодинга, математики и рассуждений.

Хоть 4B модель по запросу на стихи включила режим рассуждения и не выдала рифмы на русском, стоит отдать должное её результатам в бенчмарках по программированию.

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

Vitaliy Kuznetsov #:
Работает быстро. Для тестов с кодом лучше не найти. 4B будет летать. 8B работать сносно. Остальное проверяйте сами на своём железе.

Qwen3-14B-128K-UD-Q5_K_XL.gguf умещается в VRAM 12 Gb и работает с 25.45 t/s. Достаточно быстро. Это средняя скорость среди вышеперечисленных мною. DeepSeek-Coder-V2-Lite-Instruct-Q5_K_M.gguf (16B) - самая быстрая, 52.37 t/s.

Vitaliy Kuznetsov #:
Все версии доступны в LM Studio официально.

Я использую llama.cpp, она быстрая (native code). Совместим с OpenAI и можно сделать локальный copilot для VSCode, если надо. GGUF загружаю вручную.