48
Рейтинг

Jokstr



  •   Регистрация: 31.03.2013 (11 лет назад)

  •   Был(а) на сайте: 26.04.2024

Друзья
  • Лола Нурханова
  • Дмитрий Малышев
Подписчики 8

Рейтинг 48

Чат GPT (OpenAI) + генератор изображений

Инструменты и обработки Для всех Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Нейросети Мессенджеры и боты

Обработка для взаимодействия с известным в последнее время "искусственным интеллектом", созданным OpenAI, включающая в себя генерацию изображений и чат-бота.

5 стартмани

10.04.2023    7338    12    Jokstr    5       

5

Расчет аванса фиксированной суммой или любой другой формулой, отличной от основного начисления

Инструменты и обработки Бухгалтер Пользователь Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Абонемент ($m) Расширение (cfe) Зарплата

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

2 стартмани

25.01.2023    1660    4    Jokstr    0       

2

Комментарии

ПубликацииМагия и логика настройки оплаты праздничных дней в ЗУП 3.1 для сдельщиков и не только#9 22.12.23 17:53
(8) Речь идет о задаче ввода ночных часов в документе "Работа в праздники и выходные" или о различных коэффициентах при оплате ночных в праздники для разных организаций?
ОбменСохранение карточек гражданина, подлежащего воинскому учету, в отдельные файлы#0 04.08.23 18:00
Обработка для массового сохранения карточек гражданина, подлежащего воинскому учету, в отдельные файлы.
ЗарплатаОблагаемая база взносов по договорам ГПХ#2 04.08.23 17:52
Все правильно - этот документ не начисляет взносы, но регистрирует доход для их начисления в конце месяца, поэтому облагаемая база и увеличивается.
УчетКак настроить формулу в 1С ЗУП#3 30.06.23 17:35
Можно так:
?(РазмерНадбавкиКЧасовомуТарифу>0, РазмерНадбавкиКЧасовомуТарифу*ВремяВЧасах, Оклад*ДоляНеполногоРабочегоВремени/НормаЧасов*ВремяВЧасах)

Но по хорошему нужно разобраться, почему показатель Оклад не равен 0 для тех, кто работает по тарифу, скорее всего он не очищается при отмене начисления.
ПубликацииЧат GPT (OpenAI) + генератор изображений#4 11.04.23 15:49
(3) Получилось

Код
...
      Разделитель = СтрЗаменить(Строка(Новый УникальныйИдентификатор()),"-","");
      
      Тело = Новый ПотокВПамяти();
       ЗаписьДанных = Новый ЗаписьДанных(Тело);
      ЗаписьДанных.ЗаписатьСтроку("--"+Разделитель);
      ЗаписьДанных.Записать(СоздатьСообщение_Изображение("image", "img.png", ПолучитьИзВременногоХранилища(АдресФайла)));
      
      ЗаписьДанных.ЗаписатьСтроку("--"+Разделитель);
      ЗаписьДанных.Записать(СоздатьСообщение_Текст("size", РазмерКартинки));
      
      ЗаписьДанных.ЗаписатьСтроку("--"+Разделитель);
      ЗаписьДанных.Записать(СоздатьСообщение_Текст("prompt", ПолеВопрос));      
      
      ЗаписьДанных.ЗаписатьСтроку("--"+Разделитель+"--");
            
        ЗаписьДанных.Закрыть();
       ДанныеТела = Тело.ЗакрытьИПолучитьДвоичныеДанные();
      
      Заголовки.Вставить("Content-Type","multipart/form-data; boundary="+Разделитель+";");
       Заголовки.Вставить("Authorization","Bearer "+КлючAPI);
      ЗапросHTTP = Новый HTTPЗапрос("/v1/images/edits",Заголовки);
       ЗапросHTTP.УстановитьТелоИзДвоичныхДанных(ДанныеТела);
      Соединение = Новый HTTPСоединение("api.openai.com",443,,,,,Новый ЗащищенноеСоединениеOpenSSL(),Ложь);
      Ответ = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
...


Но не понятно как нужно обработать картинку, чтобы он ее по запросу изменял, у меня возвращает ту же, что я отправил.
ПубликацииЧат GPT (OpenAI) + генератор изображений#3 11.04.23 13:07
Попробовал отправить изображение для изменения на /v1/images/edits, с заголовком "Content-Type = application/json" не приняло, требует использования заголовка "multipart/form-data", переделал код следующим образом:
Код
    
...           
           Разделитель = СтрЗаменить(Строка(Новый УникальныйИдентификатор()),"-","");
      
           Тело = Новый ПотокВПамяти();
           ЗаписьДанных = Новый ЗаписьДанных(Тело);
           ЗаписьДанных.ЗаписатьСтроку(Разделитель);
           ЗаписьДанных.Записать(СоздатьСообщение_Изображение("""image""", """img.png""", ПолучитьИзВременногоХранилища(АдресФайла)));        
           ЗаписьДанных.ЗаписатьСтроку(Разделитель);
           ЗаписьДанных.Записать(СоздатьСообщение_Текст("""prompt""", ПолеВопрос));
           ЗаписьДанных.ЗаписатьСтроку(Разделитель);
           ЗаписьДанных.Записать(СоздатьСообщение_Текст("""size""", РазмерКартинки));
           ЗаписьДанных.ЗаписатьСтроку(Разделитель);
           ЗаписьДанных.Закрыть();
           ДанныеТела = Тело.ЗакрытьИПолучитьДвоичныеДанные();
      
           Заголовки.Вставить("Content-Type","multipart/form-data; boundary="+Разделитель);
           Заголовки.Вставить("Authorization","Bearer "+КлючAPI);
           ЗапросHTTP = Новый HTTPЗапрос("/v1/images/edits",Заголовки);
           ЗапросHTTP.УстановитьТелоИзДвоичныхДанных(ДанныеТела);
           Соединение = Новый HTTPСоединение("api.openai.com",443,,,,,Новый ЗащищенноеСоединениеOpenSSL(),Ложь);
           Ответ = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
...

// Возвращается HTTP-сообщение в виде ДвоичныеДанные
Функция СоздатьСообщение_Текст(ИмяСообщения, Текст)
        Поток = Новый ПотокВПамяти();
        ЗаписьДанных = Новый ЗаписьДанных(Поток);
        // Заголовки
        ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=" + ИмяСообщения);
        ЗаписьДанных.ЗаписатьСтроку("");
        // Тело
        ЗаписьДанных.ЗаписатьСтроку(Текст);
        ЗаписьДанных.Закрыть();
        Возврат Поток.ЗакрытьИПолучитьДвоичныеДанные();
КонецФункции


// Возвращается HTTP-сообщение в виде ДвоичныеДанные
Функция СоздатьСообщение_Изображение(ИмяСообщения, ИмяФайла, КартинкаДД)       
        Поток = Новый ПотокВПамяти();
        ЗаписьДанных = Новый ЗаписьДанных(Поток);
        // Заголовки
        ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=" + ИмяСообщения+ "; filename=" + ИмяФайла);
      ЗаписьДанных.ЗаписатьСтроку("Content-Type: image/png");
      ЗаписьДанных.ЗаписатьСтроку("");
        // Тело
        ЗаписьДанных.Записать(КартинкаДД);
        ЗаписьДанных.Закрыть();
        
        Возврат Поток.ЗакрытьИПолучитьДвоичныеДанные();
КонецФункции



Но не принимает, выдает ошибку "'image' is a required property". Есть мысли, почему такая ошибка возникает? Что у меня в коде не так?
ПубликацииЧат GPT (OpenAI) + генератор изображений#2 10.04.23 11:36
(1) Пока не придумал. Можно было бы посадить на первую линию поддержки, но об 1С он знает чуть больше, чем ничего, кроме того если чего-то не знает, то начинает додумывать и будет только вводить пользователей в заблуждение. Можно подключить к авито, но торговаться он не умеет. В OpenAI есть возможность создавать и обучать собственные модели, но общение с ними стоит значительно дороже, да и выходит за пределы академического интереса. Пока мне просто интересно разобрать их API и подключить к 1С, возможно сделаю еще отправку изображений для изменения и звуковых файлов для распознавания.
ПубликацииЧат GPT (OpenAI) + генератор изображений#0 09.04.23 1:00
Обработка для взаимодействия с известным в последнее время "искусственным интеллектом", созданным OpenAI, включающая в себя генерацию изображений и чат-бота.
ПубликацииМагия и логика настройки оплаты праздничных дней в ЗУП 3.1 для сдельщиков и не только#7 20.03.23 12:14
(1)
Цитата
эти дни и часы отражаются в отработанном времени, влияют на отпуск и т.д.
Согласен. По хорошему надо разделять на "Сдельный заработок" и "Сдельный заработок в выходные и праздники". Я так пытался сделать, но у меня не получилось (сейчас уже и не вспомню почему). Будет свободное время, попробую настроить.
ПубликацииМагия и логика настройки оплаты праздничных дней в ЗУП 3.1 для сдельщиков и не только#6 20.03.23 11:44
(4) В сдельном заработке у меня в виде времени стоит "Рабочее время", в итоге в РВ и ПН одна одинарная часть оплачивается начислением "Сдельный заработок". Вторая часть оплачивается начислениями "Доплата за работу в праздничные и выходные дни (сдельно)" или "Доплата за работу в праздничные дни по графику (сдельно)" при условии, что в табеле установлен РВ или НРВ. Начисление "Оплата работы в праздничные и выходные дни без повышенной оплаты" начисляется только если сумма сдельного заработка >0.
Вынести оплату праздничных и выходных в отдельное начисление особо не пытался, можно попробовать в одном начислении указать явку, а в другом РВ, но не уверен, что получится как надо.