Сравнение локальных моделей (Deepseek, Codellama, Qwen 2.5)

04.02.25

Интеграция - Нейросети

Год назад я покупал доступ к CoPilot, чтобы рассмотреть возможность ускорения разработки на 1С. Однако, я столкнулся с проблемой, что CoPilot отвратительно работает с кодом на языке 1С. Он не знал синтаксиса абсолютно...

Интро

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

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

C улучшением качества локальных моделей, я решил посмотреть их возможности для использования в разработке на 1С и поделиться своими результатами.

 

Рассматриваемые модели

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

deepseek-coder-v2:16b 8.9 GB
codellama:34b 19 GB
qwen2.5-coder:32b 19 GB
deepseek-r1:32b 19 GB

       

Рабочее окружение

В качестве IDE я использую Visual Studio Code, и плагин "Continue" который поддерживает Ollama, что позволяет использовать модели без необходимости установки дополнительных инструментов.

Данный плагин имеет функционал аналогичный CoPilot, но может работать с локальными моделями.

Итого: ollama(фреймвор для локального запуска) + VSC + continue(плагин vsc)

 

Примеры чатов с моделями

Пример взаимодействия с моделями:

  1. Задаю вопрос написания простейшей функциональности удаления элементов массива по условию.
  2. Описываю в чате ошибки и недостатки, обнаруженные в предоставленном коде.
  3. Анализирую улучшенные версии ответов.
  4. Пытаюсь запустить код на 1С.
 
 deepseek-r1:32b
 
 deepseek-coder-v2:16b
 
 codellama:34b
 
 qwen2.5-coder:32b

 

Выводы

deepseek-r1:32b

Размышляет хорошо. Но синтаксис 1С как языка не знает. Рабочий код не получилось получить за три итерации.

deepseek-coder-v2:16b

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

codellama:34b

Модель не знает синтаксиса языка 1С. С трех попыток не удалось добиться адекватного кода для выполнения на языке 1С.

qwen2.5-coder:32b Синтаксис 1С знает. С первого промта удалось получить результат уровня deepseek_coder_v2_16b. Алгоритмы знает но не всегода синтаксис 1С понимает.

 

Выбор в контексте языка 1С остается за моделью qwen2.5-coder:32b, достаточно хорошо себя показала, похоже в ее датасет входило достаточно много кода на 1С.

 

Картиночки

 
 Дописываем код под структуру метаданных
 
 Добавление тестовых данных

AI LLM LocalLLM DeepSeek LLAMA QWEN2.5 VSC Continue plugin

См. также

Нейросети 8.3.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Обработка подключения фотокамер Canon и Nikon к Управление торговлей 11.4 для потоковой загрузки фотографий в карточки товаров с автоматическим удалением фона

22800 руб.

24.06.2021    10073    4    4    

15

Мастера заполнения Нейросети Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Расширение для заполнения описания товара (номенклатуры) с помощью модели ИИ ChatGPT с ключевыми словами. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ. Прошло аудит на 1cfresh.com. Версия для автоматического заполнения

5000 руб.

13.03.2023    18631    47    50    

76

Нейросети Мастера заполнения Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ GigaChat от Сбера. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ.

5000 руб.

08.11.2023    2963    12    0    

22

Нейросети Бесплатно (free)

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

03.02.2025    438    js_    5    

4

Инструментарий разработчика Нейросети Программист Платформа 1С v8.3 Управляемые формы Абонемент ($m)

Думаю, почти все специалисты знают типовую обработку "Групповое изменение реквизитов". Она всем хороша, но уж очень много кликов. С помощью ИИ сведем весь пользовательский интерфейс к одному полю ввода.

1 стартмани

30.01.2025    4366    11    mkalimulin    34    

14

Нейросети Мессенджеры и боты Программист Платформа 1С v8.3 Россия Бесплатно (free)

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

28.01.2025    3047    SultanovStas    8    

24

Нейросети Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Когда-то давно пользователи распрощались с командной строкой и получили в свое распоряжение интуитивно понятный интерфейс. В этот же момент и родился UX/UI. Его задачей стало создание все более и более "интуитивных" и все более и более "понятных" интерфейсов. А поскольку нет предела совершенству, то и сам UX/UI казался вечным, пока предел совершенству не обнаружился вдруг во всей своей простоте.

1 стартмани

22.01.2025    3939    4    mkalimulin    57    

22

Нейросети Бесплатно (free)

Современные технологии искусственного интеллекта открывают уникальные возможности для оптимизации бизнес-процессов и повышения эффективности работы компании. Расскажем о том, как дообучить ChatGPT через контекст, и использовать его ответы для создания виртуального помощника сотрудника в компании. Прим. ред.: доклад от 11 октября 2023 года.

21.01.2025    991    zev_s    3    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 864 04.02.25 12:45 Сейчас в теме
оу. опередили)
тоже готовлю публикацию по локальным моделям )
1) какая видяха у вас и сколько в ней памяти? и сколько РАМы ?
2) сколько токенов в сек можете генерить?
3) пробовали ли локальные дистилляты и модели с разной квантизацией?
dimaster; +1 Ответить
2. huxuxuya 377 04.02.25 14:01 Сейчас в теме
(1) буду ждать вашу публикацю )

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

У меня 24Гб VRAM и 16 RAM и 2 ядра CPU :D

Прям много моделей еще не перепробовал, скорее пока вектор выбрал в которую сторону смотреть.
Из того куда глаз положил, видел модель смердженой qwen и deepseek но еще не добрался до нее.

Сейчас смотрю в сторону, скорее зафайнтюнить qwen, посмотреть что получится.

Так же любопытно попробовать модель от Тбанка, но там она либо слишком большая либо слишком маленькая.
dimaster; +1 Ответить
4. huxuxuya 377 04.02.25 19:55 Сейчас в теме
(1)
2.
total duration: 29.691433s
load duration: 13.678717s
prompt eval count: 59 token(s)
prompt eval duration: 844ms
prompt eval rate: 69.91 tokens/s
eval count: 717 token(s)
eval duration: 14.69s
eval rate: 48.81 tokens/s
SerVer1C; +1 Ответить
3. grumagargler 728 04.02.25 17:10 Сейчас в теме
Просто для полноты картины, вот какой код генерирует платная онлайн версия (claude-3-5-sonnet):

// Удаляет элементы массива по условию
//
// Параметры:
//  array - Массив - Исходный массив
//  condition - ОписаниеОповещения - Функция проверки условия удаления
//
// Возвращаемое значение:
//  Массив - Массив с удаленными элементами
//
function removeByCondition ( array, condition ) export
    
    result = new Array ();
    for each item in array do
        if not condition.ExecuteCallback ( item ) then
            result.Add ( item );
        endif;
    enddo;
    return result;
    
endfunction

// Пример использования:
procedure test ()
    
    numbers = new Array ();
    numbers.Add ( 1 );
    numbers.Add ( 2 );
    numbers.Add ( 3 );
    numbers.Add ( 4 );
    numbers.Add ( 5 );
    
    // Удалить все четные числа
    callback = new NotifyDescription ( "isEven" );
    filtered = removeByCondition ( numbers, callback );
    
endprocedure

// Функция условия: возвращает Истина для четных чисел
function isEven ( number ) export
    
    return number % 2 = 0;
    
endfunction
Показать

в этом коде есть две ошибки, но всё равно, кажется не плохо.
Оставьте свое сообщение