В этой статье мы рассмотрим тонкости создания Proof of Concept (PoC) мобильного приложения, построенного с помощью фреймворка SwiftUI и бэкенда с использованием FastAPI и OpenAI API. Дополнительно я продемонстрирую эффективные архитектурные паттерны для SwiftUI-приложений, в частности MVVMP в сочетании с принципами SOLID и Dependency Injection (DI). Для андроид код можно легко перевести на Kotlin с помощью Jetpack Compose Framework.
Силуэт
Книги для Golang-разработчиков: подборка для программистов с опытом
Привет, Хабр! Относительно недавно мы уже публиковали подборку книг по Go для начинающих разработчиков. Теперь пришёл черёд изданий для специалистов с опытом. В этой статье рассказываем о книгах для программистов, у которых уже есть опыт работы с Golang и кто готов двигаться дальше. Книги актуальные, написаны как на русском, так и на английском языке. Как всегда, просьба: если у вас есть собственные предпочтения, расскажите о них в комментариях.
Другая сторона ИТ: 15 полезных книг и руководств по маркетингу и управлению проектами
В интернете полно книг по теме маркетинга и управления проектами, однако, как показывает практика, даже прочтение толстых бестселлеров от лучших мировых авторов не всегда гарантирует, что изложенная информация будет хоть как-то применена на деле. Мой опыт говорит о том, что когда речь заходит о каких-то прикладных знаниях, гораздо полезнее обращаться к кратким руководствам от компаний, которые занимаются решением той или иной задачи, а уже затем дополнять их чтением более масштабной литературы. Последние пару лет именно этот подход я применяю в своей работе (а я часто работаю над продвижением разных ИТ-проектов).
В моем списке чтения накопилось немало интересных ресурсов (какие-то из них более известны, какие-то нет), так что я решил поделиться им с аудиторией Хабра.
Язык Go, микросервисы и DevOps – хорошая компания?
Напоминаем, что все желающие по-прежнему могут приобрести отличную книгу Сэма Ньюмена "Создание микросервисов". Поскольку наши ожидания эта тема более чем оправдала, мы продолжаем искать связанную с ней литературу и не так давно обратили внимание на книгу о программировании микросервисов на языке Go
Интересную статью с обоснованием этого подхода мы нашли в блоге Agile Maverick, и ее перевод размещаем под катом.
Приятного чтения!
Алгоритмическая и автоматизированная торговля: 13 книг по теме
Недавно мы публиковали материал нашего читателя о терминологической путанице, которая окружает алгоритмическую и автоматизированную торговлю. В продолжение темы сегодня речь пойдет о том, как эта путаница влияет на профессиональную литературу (а вот еще один материал о книгах и образовательных ресурсах по теме).
Сам термин «Алгоритмическая торговля» сейчас настолько на слуху, что некоторые нерадивые авторы пользуются этим и втискивают его в название своих книг, чтобы привлечь читательское внимание.
Читатель видит такие книги и убеждается в том, что читает про алгоритмическую торговлю, когда на самом деле ему рассказывают об автоматизированной.
Шифруйте контейнеры или Как обойти ограничения на частные репозитории в публичных реестрах контейнеров
В Docker Hub и других реестрах контейнеров существуют ограничения на частные репозитории. Чтобы сохранить образы контейнеров недоступными для публичного скачивания, нужно заплатить, и чем больше частных репозиториев вам нужно, тем выше стоимость. Однако есть способ обойти это ограничение, давайте узнаем как.
TL;DR: Используйте зашифрованные изображения.
В Podman есть функция, позволяющая шифровать образы контейнеров, делая их доступными только с определенным ключом. Это делает образы конфиденциальными, даже если они хранятся в общедоступном хранилище. Кроме того, для дополнительной безопасности можно зашифровать сам ключ с помощью пароля. Давайте посмотрим, как это сделать!
Для начала вам нужно установить Podman. Это альтернатива Docker и, на мой взгляд, более функциональная, так что ее стоит иметь в своей системе. Впрочем, не волнуйтесь - вы сможете запускать все с помощью того же Docker
. Podman
необходим для загрузки и скачивания образов, которые затем будут импортированы в Docker
и запущены как обычно. Мы будем использовать как командную строку, так и Ansible для лучшей автоматизации.
Для использования всех возможностей Ansible
нам понадобится коллекция Ansible Podman, которая предоставляет широчайшие возможности для автоматизации любых контейнеров и гибкие способы работы со всеми технологиями, связанными с контейнерами - собственно контейнерами, контейнерными сетями, томами, подами, образами, секретами, реестрами и многим другим. Она входит в официальный дистрибутив Ansible
, поэтому вы можете использовать ее оттуда, но функции, которые нам нужны, являются новейшими, и скорее всего нам нужно будет установить ее из Ansible Galaxy:
Генерация текста с помощью GPT2 и PyTorch
Генерация текста — одна из самых захватывающих прикладных задач обработки естественного языка (Natural Language Processing - NLP) за последние годы. Большинство из нас, вероятно, слышали о GPT-3, мощной языковой модели, которая может генерировать тексты, близкие к написанным человеком. Однако такие модели чрезвычайно трудно обучать из-за их большого размера, поэтому предварительно обученные модели обычно предпочтительнее там, где это приемлемо.
В этой статье мы научим вас генерировать текст с помощью предварительно обученного GPT-2 — более легкого предшественника GPT-3. Мы будем использовать именитую библиотеку Transformers, разработанную Huggingface. Если вы хотите узнать, как настроить GPT-2 на своем собственном наборе данных для генерации текста в конкретной предметной области, вы можете прочитать мою предыдущую статью: Настройка GPT2 для генерации текста с помощью Pytorch
Если предварительно обученной GPT-2 для ваших целей будет достаточно, то вы попали как раз туда, куда нужно! Без лишних отлагательств, приступим туториалу.
Cross-Fold Generation или как генерировать длинные последовательности с ruGPT-3
RuGPT-3 - AI-модель для русского языка, которая умеет писать тексты. Она может генерировать истории, стихи и новости, которые люди не могут отличить от настоящих. Похожая модель лежит в основе Балаболы от Яндекса. В этой статье мы описываем способ генерации длинных текстов без потери смысла на примере модели ruGPT-3 Large. Мы назвали этот метод Cross-Fold Generation. С ним можно генерировать последовательности более 2000 токенов с сохранением идеи текста.
NaNoGenMo: как компьютеры пишут новеллы
Ноябрь считается месяцем литературного творчества. Каждый год в интернете проходит мероприятие NaNoWriMo (National Novel Writing Month). Участники должны до конца месяца написать новеллу длиной не менее 50000 слов. За 17 лет в нем поучаствовали больше 20000 человек.
В 2013 году у программистов появилось аналогичное соревнование — NaNoGenMo (National Novel Generation Month). Задача NaNoGenMo — написать программу, которая сгенерирует новеллу длиной 50000 слов или больше. При этом требования к новелле довольно слабые — подойдет любой текст достаточной длины. Как вы увидите, это может быть сборник рассказов, пьеса, кулинарная книга, словарь или туристический путеводитель. На самом деле, произведение не обязано даже быть текстовым.
Я обучил нейросеть на своих рисунках и отдаю модель бесплатно (и научу вас делать это)
Модель подходит для создания бесшовных узоров, абстрактных рисунков и стилизованных под акварель образов. Как использовать модель и как обучить нейросеть на своих картинках?
Шаблон Go-микросервиса для начинающих от .NET разработчика. Часть 1
Привет, Хабр! У многих разработчиков на .NET вызывает интерес относительно свежий язык программирования Go (Golang). Однако при поиске информации и учебных материалов он может отпугивать. Нам предлагается забыть все удобное и красивое, чему нас научила .NET, и принять что-то новое, но кажущееся непривычным и не всегда приятным.
И к проблеме непривычности добавляется отсутствие качественного материала на русском языке. Большинство книг поверхностно рассматривают стандартные для всех языков ключевые слова, не углубляясь в важные аспекты их внутреннего устройства и работы.
В своей статье я хочу поэтапно описать все необходимые шаги для создания простого микросервиса и представить его в виде шаблона. Так как я сам не являюсь опытным разработчиком на Go, а только изучаю этот язык, мой шаблон предназначен для того, чтобы показать, как примерно выглядит микросервис.
Расширяем возможности Keras с помощью кастомных слоев
Привет, Хабр!
Keras предоставляет мощные инструменты для создания сложных нейронных сетей. Однако иногда стандартного набора слоев недостаточно для решения некоторых задач. В таких случаях на помощь приходят кастомные слои.
Кастомные слои позволяют адаптировать архитектуру модели под особенности данных, улучшая тем самым производительность и точность моделек.
Использование генеративного ИИ для автоматизации дата инжиниринга
За сравнительно небольшое время генеративный искусственный интеллект (Gen AI) превратился в одну из ключевых технических парадигм и уже породил отдельное направление в программной инженерии. Это происходит аналогично тому, как сначала это сделали СУБД, потом интернет с поиском и мобильными платформами. Gen AI несет в себе не меньший потенциал для решения и автоматизации ключевых бизнес-проблем.
Как построить MVP AI-сервис и сэкономить время
Всем привет!
Меня зовут Дима Савелко, я лид команды нейро-сети.рф. Зачастую на старте создания сервисов люди концентрируются на вещах, которые стоит делать в самую последнюю очередь, после чего теряют кучу времени на расхлёбывание проблем.
В нашей статье мы рассказываем о том, как построить сервис с AI, а именно с диффузионной моделью, когда нужно обучать модель, как нужно обучать, и что делать если не можете обучить модель, также делимся ценным опытом предобработки данных и практическими советами, как начать с базовых решений и только при необходимости переходить к более сложным методам.
Узнайте, как существующие ИИ-инструменты могут уже сейчас удовлетворить ваши потребности, сохраняя высокое качество продукта.
Учим нейронную сеть генерировать текст
Всем привет!
На волне популярности различных нейросетевых моделей, позволяющих генерировать связный текст, отвечающих на вопросы и позволяющих вести беседы, хотелось бы рассмотреть вопрос о том, а что вообще происходит внутри таких сетей.
Например, мы хотим научить нейронную сеть отличать кошек от собак или может яблоко от апельсина. Тогда мы просто говорим ей, что есть что, и на основе представленных данных, такая нейронная сеть особенным образом находит закономерности и строит самое обычное уравнение, которое в зависимости от подаваемого ей набора данных, пытается классифицировать изображение. Если мы хотим научить сеть предсказывать какие-то значения (погода, курс валют, отток клиентов банка), то мы понимаем, что ей надо предоставить выборку прошлых лет на основе которой она сможет найти закономерности, также сформировать уравнение и спрогнозировать результат.
С генерацией текста фактически тоже самое. Только здесь нейронная сеть учиться предсказывать всего лишь одно слово на основе представленного ей текста.
Шпаргалка для создания идеального промпта LLM
Большие языковые модели могут производить любую последовательность символов на каком угодно языке в любом формате данных (включая языки программирования, аудио и видео). Соответственно и качество этой последовательности может быть самым разным. Иногда мы получаем многословные запутанные объяснения с галлюцинациями и устаревшими знаниями, а иногда ― элегантную функцию на Python решающую сложную задачу, идеальное название для бренда, а скоро и первую серию будущего бестселлера. Более того, модель может надёжно и точно ответить на миллионы вопросов ваших клиентов, сопоставить запросы из сотен позиций с многотысячным каталогом, самостоятельно обработать заявки по страховым искам, обучить робота или перебрать новые патентные заявки в поисках конфликтов со старыми. Однако чтобы полностью реализовать потенциал LLM, необходимо научиться мастерски давать им подсказки. А как это делать, я расскажу в этой статье.
5 распространенных ошибок, которые лучше не допускать при запуске кампаний в Яндекс Директе
Запуск рекламной кампании в Яндекс Директе сам по себе не решит задачи бизнеса. Чтобы продвижение принесло пользу, нужно не ошибиться в настройках и правильно нацелиться на аудиторию. Только в этом случае кампании не потратят лишних денег и принесут заявки. В материале разберем 5 распространенных проблем, которые встречаются при запуске контекстной кампании.
Руководство по написанию промптов
Написание промптов — это искусство общения с генеративной ИИ-моделью. В этой статье мы расскажем о том, как мы в GitHub подходим к составлению промптов и как можно использовать эти принципы для создания собственного приложения на основе LLM.
В 2011 году в одной своей публикации Марк Андриссен предупредил: «Программы поглощают мир». Спустя более десятка лет мы наблюдаем появление нового типа технологий, которые поглощают мир с ещё большей скоростью: генеративный искусственный интеллект. Этот инновационный искусственный интеллект включает в себя уникальный класс больших языковых моделей (англ. large language models, LLM), созданных в результате десятилетия новаторских исследований, которые способны превзойти человека в решении определённых задач. И вам не нужно иметь докторскую степерь в области машинного обучения, чтобы создавать программы с использованием LLM. Разработчики уже создают программы с LLM, используя базовые HTTP-запросы и промпты на естественном языке.
В этой статье мы расскажем о работе GitHub с LLM, чтобы помочь другим разработчикам узнать, как лучше использовать эту технологию. Статья состоит из двух основных частей: в первой мы высокоуровнево расскажем о том, как функционируют LLM и как создавать приложения на основе LLM. Во второй части мы рассмотрим пример такого приложения: автодополнение кода от GitHub Copilot.
Запускаем .NET на RISC-V и разрабатываем IoT приложение для Sipeed Lichee RV
До недавнего времени разрабатывать IoT приложения на C# можно было только для компьютеров построенных на архитектуре ARM или x86. Поддержка RISC-V процессоров для платформы .NET уже давно в стадии разработки. В начале этого года был представлен не официальный .NET 8.0 SDK, который уже сейчас вы сможете запустить на RISC-V процессоре под ОС Debian/Ubuntu. В качестве платформы запуска возьмем одноплатный компьютер Sipeed Lichee RV на RISC-V процессоре Allwinner D1 (ядро Alibaba/T-Head Xuantie C906 RISC-V). В первой части поста рассмотрим установку .NET 8.0 SDK на Sipeed Lichee RV. Во второй, запустим приложение для работы с контактами GPIO и датчиком BME280 для замера температуры, влажности и давления.
Проектирование DWH с помощью Data Vault
Привет, Хабр!
Методология Data Vault была разработана Дэном Линстедом в конце 1990-х годов и предлагает гибкий, масштабируемый и проверяемый способ управления данными. Data Vault сочетает в себе самые лучшие черты нормализованных моделей данных и звездных схем.
В этой статье мы рассмотрим эту методологию и как с помощью нее проектировать DWH на примере.
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity