Также представлена новая команда
genkit init:ai-tools для лёгкой интеграции с AI-ассистентами в процессе разработки. 🔑 Что нового в Genkit Go 1.0
1. Production-ready
API признан стабильным: все программы, написанные на Genkit 1.*, будут работать и собираться в будущих минорных версиях.
2. Type-safe AI-flows
- Определение “flows” через Go-структуры и JSON Schema.
- Повышенная типобезопасность, тестируемость, наблюдаемость и удобство при деплое.
3. Унифицированный интерфейс моделей
Поддержка разных провайдеров (Google AI, Vertex AI, OpenAI, Ollama и др.) через единый API — легко переключаться между ними.
4. Tool calling, RAG и мультимодальность
- Вызов внешних инструментов (tool calling).
- Retrieval-augmented generation (RAG).
- Поддержка мультимодальных сценариев (текст, изображения и др.).
5. Инструменты для разработчиков
- Независимая CLI-утилита для локальной разработки.
- Developer UI: тестирование промтов, отладка flows, отслеживание производительности и трассировка.
6. Команда `genkit init:ai-tools`
Автоматическая интеграция с AI-ассистентами разработки: Gemini CLI, Firebase Studio, Claude Code, Cursor и др.
7. Примеры кода
В официальной документации показано, как определять flows, запускать HTTP endpoints, работать с моделями и инструментами.
🚀 Почему это важно
- Быстрая и безопасная разработка AI-приложений на Go.
- Унифицированный API позволяет экспериментировать и менять провайдеров без переписывания логики.
- Встроенные dev-инструменты ускоряют отладку и интеграцию.
- Подходит как для прототипов, так и для production-решений.
📌 Официальный анонс: https://developers.googleblog.com/en/announcing-genkit-go-10-and-enhanced-ai-assisted-development/?linkId=16710004Нужно
@Golang_google
#Genkit #GoLang #GoogleAI #AIDevelopment #OpenSource #RAG
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54❤16👍8
🚀 Как ВК строит единую платформу разработки и общие технологии для всех продуктов
О том, что из себя представляет платформа и зачем компании сквозные технологии, рассказал Сергей Ляджин, СТО бизнес-группы «Социальные платформы и медиаконтент».
ВК держит нагрузку в миллионы запросов в секунду и одновременно развивает десятки продуктов: от ленты до VK Видео и Музыки. Чтобы ускорить разработку и масштабирование, компания создает и развивает единые технологии:
- единая видеоплатформа
- единая платформа разработки
- единая рекомендательная система и поиск
Все это позволяет ускорять развитие, снижать издержки и строить сквозные продукты для огромной аудитории.
🎧 Подкаст «Багрепорт» — смотреть выпуск
@golang_google
#golang
О том, что из себя представляет платформа и зачем компании сквозные технологии, рассказал Сергей Ляджин, СТО бизнес-группы «Социальные платформы и медиаконтент».
ВК держит нагрузку в миллионы запросов в секунду и одновременно развивает десятки продуктов: от ленты до VK Видео и Музыки. Чтобы ускорить разработку и масштабирование, компания создает и развивает единые технологии:
- единая видеоплатформа
- единая платформа разработки
- единая рекомендательная система и поиск
Все это позволяет ускорять развитие, снижать издержки и строить сквозные продукты для огромной аудитории.
🎧 Подкаст «Багрепорт» — смотреть выпуск
@golang_google
#golang
😁23👍8🤬7🥰4🔥3❤1
Ключевые возможности:
- интеграция LLM для рспознавания сложных документов,
- семантический поиск по содержимому, а не только по ключевым словам,
- ответы, учитывающие контекст и извлечение данных через Retrieval-Augmented Generation,
- написано на Go — быстрая, масштабируемая и удобная интеграция в существующие системы.
Проект:
https://github.com/Tencent/WeKnora
@golang_google
#golang
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥9👍6
Go использует собственную, достаточно сложную модель аллокации памяти, которая сильно отличается от традиционного
malloc. Вместо прямой работы с кучей Go оперирует несколькими уровнями: - Arena - основной блок памяти в 64 МБ, который Go выделяет у ОС.
- Page - каждая арена делится на страницы по 8 КБ.
- Span - набор страниц, который используется для аллокаций объектов одного размера.
- Size class - категории размеров объектов (от tiny до large), каждая из которых имеет свой способ обработки.
Память также делится на:
- scan (объекты с указателями, которые должен обходить GC),
- noscan (объекты без указателей, GC может их игнорировать).
Аллокация объектов
- Tiny-объекты (менее 16 байт) могут группироваться в один слот для ускорения.
- Small-объекты (до 32 КБ) выделяются из span’ов в соответствии с size class.
- Large-объекты (более 32 КБ) выделяются напрямую из кучи (heap).
Escape analysis
Go-компилятор анализирует, выходит ли переменная за пределы функции:
- если нет → объект попадает на стек,
- если да → объект уходит в кучу.
Это решает судьбу каждой переменной и напрямую влияет на работу GC.
Стек горутин
- Каждая горутина стартует со стека в 2 КБ.
- Стек растёт динамически (copy & grow) и может сжиматься.
- При глубокой рекурсии или сложных вычислениях рост стека может быть дорогим, так как требует копирования всех данных.
Практические советы
1. Избегайте лишних tiny / small аллокаций в горячих функциях - каждая мелочь создаёт нагрузку на GC.
2. Переиспользуйте срезы и буферы (`row[:0]`, sync.Pool) для минимизации мусора.
3. Объединяйте переменные в структуры, если они живут одинаковое время, чтобы уменьшить число malloc’ов.
4. Следите за размером объектов, чтобы они не перескакивали из small в large — это увеличивает расходы.
5. Профилируйте escape analysis (`go build -gcflags="-m"`) - он покажет, какие переменные уходят в кучу, а какие остаются на стеке.
6. Следите за ростом стека в рекурсивных функциях - копирование может быть дорогим.
Контроль над аллокацией в Go - это контроль над работой GC. Если понимать, как именно Go управляет памятью, можно проектировать код так, чтобы минимизировать аллокации, упростить жизнь GC и получить значительный прирост производительности.
@golang_google
#golang #go #memory
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥65👍24❤17