Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня в 21:00 по МСК проводим стрим по профилированию PHP приложений и о том как искать медленный код (Bottlenecks) на примере Laravel и Spiral Framework + Buggregator.
Мы подготовим PHP приложение к запуску с xhprof, сбору профилей и отправки их в Buggregator для анализа. Заодно посмотрим как вообще запускать профайлер, какую информацию он отдает, как ее интерпретировать и т.д. и т.п.
Не пропустите, будет интересно
https://youtube.com/live/CU6gCj5UU84?feature=share
Мы подготовим PHP приложение к запуску с xhprof, сбору профилей и отправки их в Buggregator для анализа. Заодно посмотрим как вообще запускать профайлер, какую информацию он отдает, как ее интерпретировать и т.д. и т.п.
Не пропустите, будет интересно
https://youtube.com/live/CU6gCj5UU84?feature=share
YouTube
Profiling Laravel Apps with XHProf and Buggregator on Steroids!
🚀 Заходите на наш последний стрим, где мы разбираемся с профилированием PHP приложений через XHProf. Узнаете, почему старые инструменты устарели и как с помощью Buggregator превратить профилирование в удовольствие! 🎯
- 🤔 Что новенького? Обсудим проблемы…
- 🤔 Что новенького? Обсудим проблемы…
Очередной упоротый обзор всякой фигни вокруг PHP с жиром и шутками 🚽
https://telegra.ph/V-mire-PHP-2-06-05
Зеркало на Notion, если телеграф опять все ссылки поломает.
⬆️ предыдущая часть
#Article #PHP #МыслиВслух
ℹ️ Если в конце статьи нет ссылки на следующую часть, то статья в телеге подгрузилась не полностью. В этом случае можно открыть в браузере.
https://telegra.ph/V-mire-PHP-2-06-05
Зеркало на Notion, если телеграф опять все ссылки поломает.
⬆️ предыдущая часть
#Article #PHP #МыслиВслух
ℹ️ Если в конце статьи нет ссылки на следующую часть, то статья в телеге подгрузилась не полностью. В этом случае можно открыть в браузере.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
В мире PHP #1
⬅️ предыдущая часть Мутационное тестирование Напомню, что мутационное тестирование — это отличный способ убедиться в том, что написанные тесты – говно и ничего не тестируют даже при 100% покрытии. Infection Infection теперь поддерживает кастомные мутаторы.…
Всем привет!
🕘 В 21:00 по МСК проведем очередной стрим для любителей RoadRunner, а также для тех, кто слыхал что-то про него, но не понимает зачем оно нужно. 💩
🚀 В стриме будем обсуждать как вдохнуть новую жизнь в монолит на PHP с помощью очередей RoadRunner.
😎 Наш гость, активный контрибьютор в RoadRunner, Владимир Плахотников (@embargo2710)
🧨 Обсудим:
- Проблемы старых демонов: что с ними не так и как RoadRunner делает жизнь лучше.
- Почему RoadRunner? Минимум технических сравнений, только суть.
- Истории из траншеи: как я начал учить Go и не прогадал.
- Обсудим критические ошибки и мелкие фишки, которые мы добавили.
- Итоги внедрения: что у нас получилось и как это помогло.
- Что дальше? Готовимся к HTTP-запросам!
не забудь про лайк и подписку на канал, мы их каждый день пересчитываем и складываем в копилку 🐷
https://www.youtube.com/live/otFglUGsSi0"
🕘 В 21:00 по МСК проведем очередной стрим для любителей RoadRunner, а также для тех, кто слыхал что-то про него, но не понимает зачем оно нужно. 💩
🚀 В стриме будем обсуждать как вдохнуть новую жизнь в монолит на PHP с помощью очередей RoadRunner.
😎 Наш гость, активный контрибьютор в RoadRunner, Владимир Плахотников (@embargo2710)
🧨 Обсудим:
- Проблемы старых демонов: что с ними не так и как RoadRunner делает жизнь лучше.
- Почему RoadRunner? Минимум технических сравнений, только суть.
- Истории из траншеи: как я начал учить Go и не прогадал.
- Обсудим критические ошибки и мелкие фишки, которые мы добавили.
- Итоги внедрения: что у нас получилось и как это помогло.
- Что дальше? Готовимся к HTTP-запросам!
не забудь про лайк и подписку на канал, мы их каждый день пересчитываем и складываем в копилку 🐷
https://www.youtube.com/live/otFglUGsSi0"
YouTube
Разбираем, как вдохнуть новую жизнь в монолит на PHP с помощью RoadRunner Jobs. 🚀
Привет, всем! Сегодня у нас особенный стрим: разбираем, как можно вдохнуть новую жизнь в монолит с помощью RoadRunner Jobs. 🚀
Что ждет нас сегодня:
- Проблема старых демонов: что с ними не так и как RoadRunner делает нашу жизнь лучше.
- Почему выбрали RoadRunner?…
Что ждет нас сегодня:
- Проблема старых демонов: что с ними не так и как RoadRunner делает нашу жизнь лучше.
- Почему выбрали RoadRunner?…
Всем привет!
🕘 В 21:00 по МСК проведем очередной стрим для самых маленьких, кому хочется RoadRunner, но он не понимает зачем.
😎 Часто слышу отзывы по RoadRunner, мол мы много говорим про него, какой он крутой и т.д., но оказывается мало кто понимает что это такое, как он работает и зачем он вообще нужен для нашего PHP приложения. Я решил, что пора нам уже с ним познакомиться, настроить, запустить, посмотреть как он работает, как взаимодействует с PHP и бежать устанавливать в свой проект.
Сегодня мы это исправим!
Что нас ждёт:
- Разберёмся, в чем разница между работой приложения без RoadRunner и с ним.
- Установим RoadRunner.
- Изучим конфигурацию и подготовим всё к работе.
- Посмотрим, как PHP-приложение обменивается данными с RoadRunner на примере HTTP и Jobs плагинов.
- Изучим основные возможности RoadRunner.
- Узнаем, что такое RPC-протокол и зачем он нужен.
- Ответим на ваши вопросы.
https://www.youtube.com/live/qnl51Hl44kw
🕘 В 21:00 по МСК проведем очередной стрим для самых маленьких, кому хочется RoadRunner, но он не понимает зачем.
😎 Часто слышу отзывы по RoadRunner, мол мы много говорим про него, какой он крутой и т.д., но оказывается мало кто понимает что это такое, как он работает и зачем он вообще нужен для нашего PHP приложения. Я решил, что пора нам уже с ним познакомиться, настроить, запустить, посмотреть как он работает, как взаимодействует с PHP и бежать устанавливать в свой проект.
Сегодня мы это исправим!
Что нас ждёт:
- Разберёмся, в чем разница между работой приложения без RoadRunner и с ним.
- Установим RoadRunner.
- Изучим конфигурацию и подготовим всё к работе.
- Посмотрим, как PHP-приложение обменивается данными с RoadRunner на примере HTTP и Jobs плагинов.
- Изучим основные возможности RoadRunner.
- Узнаем, что такое RPC-протокол и зачем он нужен.
- Ответим на ваши вопросы.
https://www.youtube.com/live/qnl51Hl44kw
YouTube
Что такое RoadRunner и зачем он нужен вашему PHP-приложению. Полное руководство с примерами!
Привет, всем!
Часто слышу отзывы о RoadRunner: многие говорят, какой он крутой, но мало кто действительно понимает, что это такое, как он работает и зачем нужен для нашего PHP-приложения. Пора это исправить! Сегодня мы познакомимся с RoadRunner, настроим…
Часто слышу отзывы о RoadRunner: многие говорят, какой он крутой, но мало кто действительно понимает, что это такое, как он работает и зачем нужен для нашего PHP-приложения. Пора это исправить! Сегодня мы познакомимся с RoadRunner, настроим…
Всем привет!
🕘 В 21:00 по МСК проведем очередной стрим для самых маленьких, кому хочется научиться создавать масштабируемый Workflow с Temporal
Не пропустите наш предстоящий стрим, где мы подробно разберем пример реализации Workflow для регистрации пользователя с использованием Temporal!
В этом стриме мы покажем, как можно эффективно управлять сложным процессом регистрации, включающим несколько обязательных этапов:
- Прохождение KYC для подтверждения личности.
- Верификация Email адреса, чтобы убедиться, что пользователь действительно владеет указанным email.
- Выбор тарифного плана, который определяет уровень доступа и функциональности, доступные пользователю.
Мы также рассмотрим, как в рамках Workflow происходит смена статусов и отправка уведомлений пользователю, что делает процесс регистрации максимально автоматизированным и прозрачным.
Может показаться, что все эти процессы можно реализовать и без использования Workflow, но мы покажем, как использование Temporal позволяет не только оптимизировать и упорядочить каждый шаг, но и гарантировать выполнение всех процессов в правильном порядке и с нужной синхронизацией. Это особенно важно для сервисов, требующих высокого уровня безопасности и надежности при регистрации пользователей.
Присоединяйтесь к нам, чтобы узнать, как с помощью Temporal можно повысить эффективность и безопасность регистрационных процессов!
https://youtube.com/live/QhXpI9rVnN8?feature=share
🕘 В 21:00 по МСК проведем очередной стрим для самых маленьких, кому хочется научиться создавать масштабируемый Workflow с Temporal
Не пропустите наш предстоящий стрим, где мы подробно разберем пример реализации Workflow для регистрации пользователя с использованием Temporal!
В этом стриме мы покажем, как можно эффективно управлять сложным процессом регистрации, включающим несколько обязательных этапов:
- Прохождение KYC для подтверждения личности.
- Верификация Email адреса, чтобы убедиться, что пользователь действительно владеет указанным email.
- Выбор тарифного плана, который определяет уровень доступа и функциональности, доступные пользователю.
Мы также рассмотрим, как в рамках Workflow происходит смена статусов и отправка уведомлений пользователю, что делает процесс регистрации максимально автоматизированным и прозрачным.
Может показаться, что все эти процессы можно реализовать и без использования Workflow, но мы покажем, как использование Temporal позволяет не только оптимизировать и упорядочить каждый шаг, но и гарантировать выполнение всех процессов в правильном порядке и с нужной синхронизацией. Это особенно важно для сервисов, требующих высокого уровня безопасности и надежности при регистрации пользователей.
Присоединяйтесь к нам, чтобы узнать, как с помощью Temporal можно повысить эффективность и безопасность регистрационных процессов!
https://youtube.com/live/QhXpI9rVnN8?feature=share
YouTube
Мастер-класс по Temporal на примере регистрации пользователей с KYC и Email верификацией.
В этом стриме мы подробно покажем, как эффективно управлять сложным процессом регистрации пользователя, который включает несколько критических этапов, таких как прохождение KYC для подтверждения личности, верификация email адреса и выбор тарифного плана.…
Привет 👋
Делюсь апдейтами.
Последние пару недель хакинга были довольно продуктивными.
Запустил в альфу два новых пакетов и одну мажорную версию:
👩💻 internal/dload — утилита, скачивающая бинари.
Удобно тем, что можно закинуть в композер на событие
Уже загружаю таким образом
К полноценному релизу надо покрыть тестами и навесить пару оптимизирующих фичей.
👩💻 spiral/grpc-client — обвязка для клиента gRPC. Эта ответственность вынесена в отдельный пакет из
Для стабильной версии не хватает тестов.
👩💻 spiral/roadrunner-bridge — новая мажорная версия интеграции Spiral с RoadRunner. Оптимизации, зачистки и новые концепты из будущих версий Spiral.
Для стабильного релиза не хватает релиза Spiral 3.14 и небольшой полировки.
Делюсь апдейтами.
Последние пару недель хакинга были довольно продуктивными.
Запустил в альфу два новых пакетов и одну мажорную версию:
Удобно тем, что можно закинуть в композер на событие
post-update
и бинари будут подгружаться вместе с зависимостями."scripts": {
"post-update-cmd": [
"dload get rr --no-interaction",
"dload get temporal --no-interaction"
],
Уже загружаю таким образом
RoadRunner
, Dolt
, Temporal
(CLI и Test) и protoc
с PHP плагином.К полноценному релизу надо покрыть тестами и навесить пару оптимизирующих фичей.
spiral/roadrunner-bridge
. Теперь нет необходимости генерировать замудрёные классы, т.к. всё генерится само на лету (достаточно интерфейса). Больше контроля и поведений благодаря интерцепторам: ротация коннекшенов, гибкие ретраи, таймауты и всё, что угодно.Для стабильной версии не хватает тестов.
Для стабильного релиза не хватает релиза Spiral 3.14 и небольшой полировки.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - php-internal/dload: Helps to download binaries from release assets
Helps to download binaries from release assets. Contribute to php-internal/dload development by creating an account on GitHub.
А продуктивно хакать мне помогал Copilot.
Да, да, он бывает полезным!
Вот, например, ситуация: кот наступил на клавиатуру и набрейнфачил прямо среди PHP кода 😼
Как не завалить проверку кота при том, что вы совсем не знаете brainfuck?
Не расстраивайтесь, ведь именно здесь то нейросеть и раскроет свой потенциал. Подождите секундочку, пока llm сгенерит продолжение, и останется только нажать tab, чтобы утвердить своё превосходство😠
Ну, а если Copilot не знает, что предложить, то хотя бы честно (пусть и грубо) об этом скажет.
Да, да, он бывает полезным!
Вот, например, ситуация: кот наступил на клавиатуру и набрейнфачил прямо среди PHP кода 😼
Как не завалить проверку кота при том, что вы совсем не знаете brainfuck?
Не расстраивайтесь, ведь именно здесь то нейросеть и раскроет свой потенциал. Подождите секундочку, пока llm сгенерит продолжение, и останется только нажать tab, чтобы утвердить своё превосходство
Ну, а если Copilot не знает, что предложить, то хотя бы честно (пусть и грубо) об этом скажет.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый выпуск "В мире PHP"
https://triangular-octopus-0f6.notion.site/PHP-2-d67a1f346b8541729fb3aa476e0fa086?pvs=4
⬆️ предыдущая часть
#Article #PHP #МыслиВслух
https://triangular-octopus-0f6.notion.site/PHP-2-d67a1f346b8541729fb3aa476e0fa086?pvs=4
⬆️ предыдущая часть
#Article #PHP #МыслиВслух
triangular-octopus-0f6 on Notion
В мире PHP #2 | Notion
Сорян, фартаны. Статейку чутка просрочил. Заработался, бывает. Представьте, что она опубликована месяц назад и баянов тут нет.
Пакет 👩💻 phplrt/phplrt несомненно хорош! Спасибо @SerafimArts за крутой инструмент!
Что бы вы сделали, будь у вас AST для proto message? Я бы, например, только в нем схемы и описывал 😁
Что бы вы сделали, будь у вас AST для proto message? Я бы, например, только в нем схемы и описывал 😁
final class MessageDefNodeTest extends TestCase
{
public function testParse(): void
{
$node = $this->parser->parse(
<<<'PROTO'
syntax = "proto3";
package example;
message Person {
string name = 1;
int32 id = 2;
string email = 3;
}
PROTO,
);
$this->assertSame('proto3', $node->syntax->syntax);
$this->assertSame('example', $node->package->name);
$message = $node->topLevelDefs[0];
$this->assertSame('Person', $message->name);
$this->assertCount(3, $message->fields);
$this->assertSame('name', $message->fields[0]->name);
$this->assertSame('string', $message->fields[0]->type);
$this->assertSame(1, $message->fields[0]->number);
$this->assertSame('id', $message->fields[1]->name);
$this->assertSame('int32', $message->fields[1]->type);
$this->assertSame(2, $message->fields[1]->number);
$this->assertSame('email', $message->fields[2]->name);
$this->assertSame('string', $message->fields[2]->type);
$this->assertSame(3, $message->fields[2]->number);
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - phplrt/phplrt: PHP Language Recognition Tool
PHP Language Recognition Tool. Contribute to phplrt/phplrt development by creating an account on GitHub.
Ну что, за два дня готов пакет для построения AST для protobuf 👩💻 butschster/proto-parser . Уверен всплывут баги и т.д., но тесты есть, кучу edge кейсов покрыл.
Чем он крут? Можно взять proto-файлы, превратить их в дерево PHP-объектов (AST) и далее сгенерировать свои DTO-классы. Например:
Превратим в:
Что умеет:
1. Строить дерево. Понимает весь синтаксис, что я смог найти.
2. Привязывать комментарии к нодам. Например комментарий над полем будет в ноде поля. Комментарий к option будет в его ноде. И т.д.
3. Дока есть.
Что не умеет:
ХЗ что. призываю потестить и улучшить желающих.
Прогнал свой проект с > 100 proto файлов, все спарсил.
P.s. Ах да, забыл сказать, что эти DTO сгененировал мой другой пакет, который уже умеет работать с AST. Сделан на коленке, поэтому еще не выкладывал.
Чем он крут? Можно взять proto-файлы, превратить их в дерево PHP-объектов (AST) и далее сгенерировать свои DTO-классы. Например:
syntax = "proto3";
package examplepb;
message Person {
// Unique identifier for the person.
uint64 id = 1 [(validate.rules).uint64.gt = 999];
// Email address will be used for communication.
string email = 2 [(validate.rules).string.email = true];
// Full name of the person.
string name = 3 [(validate.rules).string = {
pattern: "^[A-Za-z]+( [A-Za-z]+)*$",
max_bytes: 256
}];
// Home location of the person.
Location home = 4 [(validate.rules).message.required = true];
message Location {
double lat = 1 [(validate.rules).double = {gte: -90, lte: 90}];
double lng = 2 [(validate.rules).double = {gte: -180, lte: 180}];
}
}
service ExampleService {
// Create a new person.
rpc CreatePerson(Person) returns (Person) {
option (google.api.http) = {
post: "/v1/persons"
body: "*"
};
}
}
Превратим в:
use Symfony\Component\Validator\Constraints as Assert;
final readonly class Person
{
public function __construct(
/** Unique identifier for the person. */
#[Assert\GreaterThan(value: 999)]
public int $id,
/** Email address will be used for communication. */
#[Assert\Email]
public string $email,
/** Full name of the person. */
#[Assert\Regex(pattern: '^[A-Za-z]+( [A-Za-z]+)*$'), Assert\Length(max: 256, charset: '8bit')]
public string $name,
/** Home location of the person. */
#[Assert\NotNull]
public Location $home,
) {
}
}
use Symfony\Component\Validator\Constraints as Assert;
final readonly class Location
{
public function __construct(
#[Assert\GreaterThanOrEqual(value: -90), Assert\LessThanOrEqual(value: 90)]
public float $lat,
#[Assert\GreaterThanOrEqual(value: -180), Assert\LessThanOrEqual(value: 180)]
public float $lng,
) {
}
}
<?php
declare(strict_types=1);
namespace Internal;
use App\Grpc\Service;
use OpenApi\Annotations as OA;
use Spiral\RoadRunner\GRPC\ContextInterface;
#[Service(name: 'ExampleService', package: 'examplepb')]
interface ExampleServiceInterface
{
/**
* Create a new person.
*/
#[OA\Post(path: '/v1/persons', tags: ['CreatePerson'])]
#[OA\RequestBody(path: '*', tags: ['CreatePerson'])]
public function CreatePerson(ContextInterface $ctx, Person $in): Person;
}
Что умеет:
1. Строить дерево. Понимает весь синтаксис, что я смог найти.
2. Привязывать комментарии к нодам. Например комментарий над полем будет в ноде поля. Комментарий к option будет в его ноде. И т.д.
3. Дока есть.
Что не умеет:
ХЗ что. призываю потестить и улучшить желающих.
Прогнал свой проект с > 100 proto файлов, все спарсил.
P.s. Ах да, забыл сказать, что эти DTO сгененировал мой другой пакет, который уже умеет работать с AST. Сделан на коленке, поэтому еще не выкладывал.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - butschster/proto-parser: Proto parser is a library for parsing Protocol Buffers files into AST
Proto parser is a library for parsing Protocol Buffers files into AST - butschster/proto-parser
Всем привет!
🕘 В 21:00 по МСК проведем очередной стрим для самых маленьких, кому хочется научиться создавать парсер protobuf синтаксиса на PHP с помощью AI
Не пропустите наш предстоящий стрим, где мы подробно разберем В мощный пакет от @SerafimArts - phplrt/phplrt для создания парсеров. Вместе мы напишем парсер для синтаксиса protobuf, который преобразует код в AST (абстрактное синтаксическое дерево). В процессе лайв-кодинга вы узнаете, как использовать AI для упрощения и ускорения разработки, а также получите практические советы по применению AI в программировании. Не пропустите, будет интересно и познавательно!
https://www.youtube.com/watch?v=xyk0sLe8Q9I
🕘 В 21:00 по МСК проведем очередной стрим для самых маленьких, кому хочется научиться создавать парсер protobuf синтаксиса на PHP с помощью AI
Не пропустите наш предстоящий стрим, где мы подробно разберем В мощный пакет от @SerafimArts - phplrt/phplrt для создания парсеров. Вместе мы напишем парсер для синтаксиса protobuf, который преобразует код в AST (абстрактное синтаксическое дерево). В процессе лайв-кодинга вы узнаете, как использовать AI для упрощения и ускорения разработки, а также получите практические советы по применению AI в программировании. Не пропустите, будет интересно и познавательно!
https://www.youtube.com/watch?v=xyk0sLe8Q9I
Детальнейший разбор дженериков в #PHP на текущий момент.
Знакомьтесь и присоединяйтесь к обсуждению (ссылки в конце статьи).
https://thephp.foundation/blog/2024/08/19/state-of-generics-and-collections/
Знакомьтесь и присоединяйтесь к обсуждению (ссылки в конце статьи).
https://thephp.foundation/blog/2024/08/19/state-of-generics-and-collections/
thephp.foundation
State of Generics and Collections
The PHP Foundation — Supporting, Advancing, and Developing the PHP Language
Screencast from 2024-08-25 19-08-56.webm
10.3 MB
📖 Подробнее можно почитать здесь:
- OpenAI
- Claude
{
"name": "get_weather",
"description": "Determine weather in my location",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": [
"c",
"f"
]
}
},
"additionalProperties": false,
"required": [
"location",
"unit"
]
}
}
А вот пример того, что видит сервер, когда его просят запустить функцию:
"tool_calls": [
{
"id": "call_fwTWdctuKEO9Ytf",
"name": "get_weather",
"arguments": "{\"location\":\"Moscow\",\"unit\":\"c\"}"
}
]
Сервер запускает функцию и возвращает результат. Причем в любом виде. Далее LLM уже сама придумает что с этим делать.
{
"id": "call_fwTWdctuKEO9Ytf",
"role": "tool",
"content": [
"{\"temp\":\"30\"}"
]
}
А теперь редставьте, что у вас умный дом, и вы говорите: "Включи чайник, я хочу пить". Описываем функции, которые помогут LLM посмотреть что у нас есть в квартире и управлять устройствами:
{
"key": "list_room_devices",
"description": "Lists all smart devices in a specified room.",
"input_schema": {
"type": "object",
"properties": {
"room_name": {
"type": "string",
"description": "The name of the room to query"
}
},
"required": ["room_name"]
}
}
{
"key": "control_device",
"description": "Controls a specific device by performing the specified action with given parameters.",
"input_schema": {
"type": "object",
"properties": {
"deviceId": {
"type": "string",
"description": "The unique identifier of the device to control"
},
"action": {
"type": "string",
"description": "The action to perform on the device (e.g., turnOn, turnOff, setBrightness)"
},
...
},
"required": ["deviceId", "action"]
}
}
Что сделает LLM? Она проанализирует ваш запрос, найдет подходящие функции, получит список устройств на кухне (ведь обычно чайник там), и выполнит нужное действие (включит чайник).
Круто, да? А теперь представьте PHP-фреймворк, который позволит описывать такие процессы (flow) и возьмет на себя сложные задачи, такие как запуск функций, группировку функций по назначению.
P.S. После прочтения, можно пересмотреть видео заново. В этом видео агент для управления умным домом, в котором 4 комнаты и куча устройств. Управление текстом или голосом (с переводом в текст)
#llm #ai #chatgpt #claude #php
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!
🕘 В 20:00 по МСК приглашаем вас на крутой стрим для всех, кто хочет научиться создавать LLM-агентов на PHP! Советую приходить, чем не приходить!
Не пропустите наш предстоящий стрим, где мы подробно разберем процесс создания LLM-агента.
Мы шаг за шагом разработаем функционального ИИ-агента, способного выполнять сложные задачи и взаимодействовать с пользователями на естественном языке.
В ходе лайв-кодинга вы узнаете:
- Как настроить и интегрировать LLM (например, GPT) в ваше PHP-приложение
- Как создавать и управлять инструментами (tools) для расширения возможностей агента
- Как реализовать систему памяти агента для контекстного общения
- Как обрабатывать пользовательские запросы и генерировать осмысленные ответы
Мы также обсудим лучшие практики по применению AI в разработке и рассмотрим потенциальные use-cases для LLM-агентов в реальных проектах.
Не упустите шанс погрузиться в мир AI и получить практические навыки по созданию интеллектуальных агентов на PHP!
До встречи на стриме!
https://www.youtube.com/live/A976uZxW_8E
🕘 В 20:00 по МСК приглашаем вас на крутой стрим для всех, кто хочет научиться создавать LLM-агентов на PHP! Советую приходить, чем не приходить!
Не пропустите наш предстоящий стрим, где мы подробно разберем процесс создания LLM-агента.
Мы шаг за шагом разработаем функционального ИИ-агента, способного выполнять сложные задачи и взаимодействовать с пользователями на естественном языке.
В ходе лайв-кодинга вы узнаете:
- Как настроить и интегрировать LLM (например, GPT) в ваше PHP-приложение
- Как создавать и управлять инструментами (tools) для расширения возможностей агента
- Как реализовать систему памяти агента для контекстного общения
- Как обрабатывать пользовательские запросы и генерировать осмысленные ответы
Мы также обсудим лучшие практики по применению AI в разработке и рассмотрим потенциальные use-cases для LLM-агентов в реальных проектах.
Не упустите шанс погрузиться в мир AI и получить практические навыки по созданию интеллектуальных агентов на PHP!
До встречи на стриме!
https://www.youtube.com/live/A976uZxW_8E
YouTube
Пошаговое руководство по разработке AI-ассистентов на PHP
В этом стриме мы подробно разберем процесс разработки LLM-агента на PHP.
Мы шаг за шагом разработаем функционального LLM-агента, способного выполнять сложные задачи и взаимодействовать с пользователями на естественном языке.
В ходе лайв-кодинга вы узнаете:…
Мы шаг за шагом разработаем функционального LLM-агента, способного выполнять сложные задачи и взаимодействовать с пользователями на естественном языке.
В ходе лайв-кодинга вы узнаете:…
LOL, на Laracon рассказывают про LLM tools, то, что я рассказывал на стриме https://youtube.com/live/A976uZxW_8E
Да, всем настоятельно рекомендую посмотреть его. Кстати добавил оглавление в видео, так что можно сразу мотать, где я показываю разных агентов.
А для тех, кто не хочет смотреть я подготовил простое приложение для общения с нейронкой через консоль https://github.com/llm-agents-php/sample-app
Да, всем настоятельно рекомендую посмотреть его. Кстати добавил оглавление в видео, так что можно сразу мотать, где я показываю разных агентов.
А для тех, кто не хочет смотреть я подготовил простое приложение для общения с нейронкой через консоль https://github.com/llm-agents-php/sample-app
YouTube
Пошаговое руководство по разработке AI-ассистентов на PHP
В этом стриме мы подробно разберем процесс разработки LLM-агента на PHP.
Мы шаг за шагом разработаем функционального LLM-агента, способного выполнять сложные задачи и взаимодействовать с пользователями на естественном языке.
В ходе лайв-кодинга вы узнаете:…
Мы шаг за шагом разработаем функционального LLM-агента, способного выполнять сложные задачи и взаимодействовать с пользователями на естественном языке.
В ходе лайв-кодинга вы узнаете:…
Иногда меня пугает, то, что можно сделать с помощью LLM. Вчера посидел немного и создал новое видео, которое озвучил ChatGPT, картинки тоже сгенерировал (Логотип, и статические изображения) ну и код проекта + readme
Зацените https://youtu.be/loXRbS_TPnM
Кстати да, я создал новую организацию https://github.com/llm-agents-php, где потихоньку собираю SDK для запуска агентов. Там есть sample-app, который можно запустить в docker и поиграться. Пример в видео из этого демо-приложения.
Зацените https://youtu.be/loXRbS_TPnM
Кстати да, я создал новую организацию https://github.com/llm-agents-php, где потихоньку собираю SDK для запуска агентов. Там есть sample-app, который можно запустить в docker и поиграться. Пример в видео из этого демо-приложения.
YouTube
LLM Agents PHP package intro
Read more https://medium.com/@butschster/a-php-devs-dream-an-ai-home-that-really-gets-you-dd97ae2ca0b0
Я календарь перевернул, и понял, что сегодня последний день розыгрыша от CutCode.
А значит завтра я выиграю билет на курс Изучение продвинутых методик Laravel на примере интернет-магазина.
Вы же не хотите, чтобы я перестал говорить, что ларавел - говно? Тогда не дайте мне выиграть: присоединяйтесь к розыгрышу!
А ещё сегодня идеальный день для релиза третьей версии.
Релизить будем не Half-Life или Yii, а🌀 Spiral 3.14. Основные ништяки: новые перехватчики (Interceptors) и контекстовые DI Scopes.
А значит завтра я выиграю билет на курс Изучение продвинутых методик Laravel на примере интернет-магазина.
Вы же не хотите, чтобы я перестал говорить, что ларавел - говно? Тогда не дайте мне выиграть: присоединяйтесь к розыгрышу!
А ещё сегодня идеальный день для релиза третьей версии.
Релизить будем не Half-Life или Yii, а
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Laravel новости от CutCode
🚀 Хватит откладывать свое обучение на потом!
Знакомая ситуация? Ты давно хочешь освоить Laravel, но каждый раз находишь оправдание, чтобы отложить обучение. "Начну с понедельника", "Вот закончу этот проект и тогда...", "Сейчас нет времени".
⏳ А время-то…
Знакомая ситуация? Ты давно хочешь освоить Laravel, но каждый раз находишь оправдание, чтобы отложить обучение. "Начну с понедельника", "Вот закончу этот проект и тогда...", "Сейчас нет времени".
⏳ А время-то…
Ну что, Spiral 3.14 в релизе 😋
А что там с Yii 3?😄
Пока вы обновляете Spiral на ваших продакшенах, предлагаю в комментах закидать @samdark вопросами.
Мы точно в этом году увидим Yii3?😮
* все совпадения с этим мемом случайны
А что там с Yii 3?
Пока вы обновляете Spiral на ваших продакшенах, предлагаю в комментах закидать @samdark вопросами.
Мы точно в этом году увидим Yii3?
* все совпадения с этим мемом случайны
Please open Telegram to view this post
VIEW IN TELEGRAM