DevChallengesLog
35 subscribers
1 photo
4 links
“DevChallengesLog: Ваш путеводитель в мире IT. Ежедневные обновления о решении сложных задач разработки и системного администрирования. Инсайты, опыт и практические советы для IT-специалистов.”
Download Telegram
Channel created
Channel photo updated
🚀 Добро пожаловать на “DevChallengesLog”!

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

💡 Что это значит?
ChatGPT, разработанный OpenAI, представляет собой передовую модель искусственного интеллекта, способную вести диалоги, отвечать на вопросы и предоставлять рекомендации. Наша цель - использовать его возможности для повышения эффективности в различных областях работы компании.

🔍 Первые Шаги:

• Анализ потребностей: Определим ключевые области, где ChatGPT может принести максимальную пользу.
• Планирование интеграции: Разработаем детальный план внедрения AI в наши процессы.

📈 Ожидаемые Преимущества:

• Улучшение процессов взаимодействия с клиентами.
• Автоматизация рутинных задач.
• Повышение общей эффективности работы.

🔧 Дальнейшие Шаги:
В ближайшие дни мы начнем декомпозировать эту задачу на более мелкие и практические шаги, каждый из которых будет подробно описан здесь, в “DevChallengesLog”.

Присоединяйтесь к нам, чтобы быть в курсе всех этапов интеграции ChatGPT и вместе исследовать потенциал искусственного интеллекта в реальной рабочей среде!

#DevChallengesLog #ChatGPTIntegration #AIinBusiness
🌐 Второй Шаг в Интеграции ChatGPT: Расширяем Горизонты

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

1️⃣ Базовый Уровень: Наше первое знакомство с ChatGPT началось с версии 3.5, которую мы интегрировали бесплатно через библиотеку gpt4free, найденную на GitHub. Эта библиотека позволяет нам подключить ChatGPT к нашей CRM-системе. Цель - познакомить пользователей с функционалом ChatGPT, научить их формулировать запросы и общаться с AI, как это обычно делают с голосовыми ассистентами.

2️⃣ Продвинутый Уровень: Второй способ - это использование ChatGPT-4 через браузер. Это позволяет нам работать не только с текстовыми запросами, но и анализировать загруженные файлы, картинки, анализировать сайты. Этот метод предназначен для более опытных пользователей, которые умеют составлять эффективные запросы и готовы применять ChatGPT для решения более сложных задач, включая графический анализ.

3️⃣ Автоматизация с API: Третий и самый продвинутый уровень – интеграция с API ChatGPT для автоматизации внутренних процессов. Это позволит нам анализировать данные, получать инсайты и предложения, автоматизировать рутинные задачи. Работа с API будет невидима для пользователей, но существенно повысит эффективность наших систем.

🔍 Далее: Мы будем детально описывать каждый этап интеграции, поделимся опытом и примерами использования ChatGPT в реальных задачах. Следите за обновлениями!

#DevChallengesLog #ChatGPTIntegration #AITechnology
🚀 Обновление DevChallengesLog: Успешная Интеграция ChatGPT на Первом Уровне

Сегодня мы с гордостью объявляем об успешной реализации первого уровня подключения ChatGPT через библиотеку GPT4Free. Вот как мы это сделали:

🔧 Технические Детали:

Подключили библиотеку GPT4Free
Создали API-метод на нашем микросервисе, который был интегрирован с CRM.
В CRM добавили форму для диалога с ChatGPT.

👍 Преимущества Библиотеки GPT4Free:

GPT4Free хорошо описана, что упростило интеграцию.
Выбрали модель 3.5 Turbo, наиболее стабильную и продвинутую.
Остальные модели, которые обещают работу с gtp4 (bind) оказались очень нестабильными и медленными.

🧪 Тестирование и Отзывы Пользователей:

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

🔄 Улучшение Контекстного Взаимодействия:

Доработали систему для передачи контекста с каждым сообщением, что повысило качество диалога.
Контекст хранится в течение суток для обеспечения последовательности беседы.

⚙️ Технические Нюансы:

Иногда возникали сложности с обработкой контекста, что может быть связано с дополнительной настройкой с нашей стороны.
Нам приходилось отправлять весь контекст диалога с каждым новым сообщением пользователя. Это не типовое использование библиотеки.

Выводы:

Модель 3.5 Turbo показала себя с лучшей стороны, обеспечивая быстрые и точные ответы.
Пользователи успешно адаптировались к новой системе и уже готовы перейти к следующему этапу использования ChatGPT.
👨‍💻 Примеры Кода с Библиотекой GPT4Free:

(Ниже в сообщении)

# Инициализация модели
gpt = OpenAIGPT(model='gpt-3.5-turbo')

# Отправка запроса
response = gpt.generate(prompt="Привет, как дела?")
print(response)
Этот код показывает, как можно взаимодействовать с ChatGPT, отправляя запросы и получая ответы в CRM.

Следите за нашими обновлениями, чтобы узнать больше о следующих этапах интеграции ChatGPT!

#DevChallengesLog #GPT4FreeIntegration #AIinBusiness
🚀 DevChallengesLog: Итоги Этапов Интеграции ChatGPT

🔹 Отложенный Второй Этап
Мы решили отложить второй этап до выяснения, какие задачи и кто может их решить. Начат сбор предложений от пользователей. Параллельно изучаем возможности 4-й версии ChatGPT для наших ИТ-задач.

🔹 Прикладная Задача на Третьем Этапе
Сфокусировались на работе с аудиторией, ранее интересовавшейся нашей продукцией. Задача – выборка из отчета "Заказы клиентов" в 1С, порученная ChatGPT.

🔹 Четыре Подхода к Выборке:
1️⃣ JSON и 1С Запросы: Сформирован JSON из шапки отчета 1С для обучения ChatGPT. Необходимы доработки со стороны программиста из-за нехватки информации.
2️⃣ Микросервис и ChatGPT: Выгружен широкий отчет в микросервис. Используем ChatGPT для анализа и формирования выборки на основе запроса пользователя.
3️⃣ SQL Запросы к БД: Подобно п.1, но с SQL запросами. ChatGPT лучше справляется, но есть проблемы с пониманием полей.
4️⃣ Google Sheets и ChatGPT: Отложен из-за необходимости автоматизации передачи данных.

🔹 Преграды по Способам:
1️⃣ Недостаток Информации для ChatGPT: ChatGPT не распознает специфику полей 1С.
2️⃣ Ограничения API ChatGPT: API поддерживает только текст. Большие файлы требуют слишком много токенов.
3️⃣ SQL vs 1С Запросы: ChatGPT лучше работает с SQL, но есть проблемы с полями.
4️⃣ Google Sheets Отложен: Необходима автоматизация передачи данных.

🔹 Новый Подход: ChatGPT Ассистенты
В процессе изучения обнаружен новый способ с ассистентами ChatGPT, принимающими файлы целиком. Пока в бета-версии, но перспективен.

👨‍💻 Пример Кода для JSON to SQL Query:

python
-------------------------
import json

# Пример JSON данных из 1С
json_data = {...}

# Преобразование JSON в SQL запрос
def json_to_sql(json_data):
# Реализация преобразования
return sql_query

sql_query = json_to_sql(json_data)
--------------------------

Оставайтесь с нами для следующих обновлений!

#DevChallengesLog #ChatGPT #AIIntegration
👍1👏1
🚀 DevChallengesLog: Итоги Работы с ChatGPT за Праздничные Дни

🔹 Общий Обзор
Постараемся резюмировать всё, что успело произойти за праздничные и пару послепраздничных дней.

🔹 Проверили - выкинули

1. Отказались от отправки полного файла для анализа, вернувшись к версии, где мы описываем правила, а GPT формирует запрос для выборки из БД.
2. Отказались от использования ассистента, так как он отправлял все запросы через API, что делало тесты дорогостоящими и некачественными.

🔹 Новые Тесты и Подходы
Начали тестирование на GPTs, который позволяет использовать файл для обучения и текст инструкций.
Файл для обучения содержал две вкладки: отчет из 1 тыс. строк и легенду с описанием всех полей.

🔹 Проблемы и Их Решения

Проблемы с Анализом Легенды:
GPT не анализировал всю легенду, выбирая первое подходящее поле.
Решение:
Сократили отчет до 50 полей и строк в легенде, после чего GPT начал находить более подходящие поля.

Ошибки в SQL Запросах:
Проблема с артефактами и неправильными полями в запросах.
Решение:
Добавили команду в инструкции для перепроверки запроса по синтаксису и полям в легенде, что устранило ошибки.

Лишний Текст в Ответах:
GPT выводил лишний текст вместе с запросом.
Частичное решение:
Добавили в инструкцию просьбы об
очистке текста в ответе. Несмотря на это, иногда текст всё равно появляется, что требует дополнительного парсинга для выделения запроса.

Поиск Полного Соответствия Значений:
При поиске полного соответствия GPT и пользователь не знали точное значение (например, "Физическое лицо" вместо "Физика").
Решение:
В инструкции указано анализировать данные в отчете для поиска значений, максимально приближенных к пользовательской формулировке.

Отсутствие API у GPTs:
Невозможность использовать GPTs для автоматизации задач.
Предположительное решение: Преобразование данных в JSON, создание минимальной таблицы с уникальными значениями и разработка эффективного промпта.

🔹 Теоретические Справки и Код

SQL Запросы и GPT:
GPT модели могут быть обучены для формирования SQL запросов, но они требуют точной спецификации и ограничения в данных для эффективной работы.

# Пример кода для генерации SQL запроса с GPT
import openai

prompt = "Сформируй SQL запрос для выборки данных по следующим критериям: ..."
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
max_tokens=150
)
print(response.choices[0].text.strip())


🔹 Выводы и Планы на Будущее
Работа с GPTs представляет собой серию испытаний и ошибок, но мы находим новые способы оптимизации и автоматизации процессов. Оставайтесь с нами для дальнейших обновлений!

#DevChallengesLog #ChatGPT #DataAnalysis
👍1👏1
Суть проблемы подборов и их важность

🔍 Проблема подбора оборудования: почему это критично для вашего бизнеса?

В любой компании, работающей с оборудованием, важно не просто выбирать товары, но подбирать их так, чтобы они идеально соответствовали потребностям проекта. Это значит, что каждый подбор — это не просто покупка, а инвестиция в эффективность и продуктивность работы. Подбор оборудования становится особенно актуальным в условиях ограниченного рынка и высокой конкуренции.

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

Полезный инсайт: Начните с анализа ваших текущих и будущих потребностей в оборудовании. Это поможет сузить круг поиска и сделать подбор более целенаправленным. #ПодборОборудования #DevChallengesLog #ChatGPT
Как сейчас делается подбор инженерами

"🛠 Текущий процесс подбора оборудования: почему это боль и как мы с этим живем?

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

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

Полезный совет: Организуйте процесс подбора так, чтобы минимизировать время на поиск и анализ. Создайте шаблоны запросов и используйте единую систему для сравнения характеристик. #ЭффективностьЗакупок" #DevChallengesLog #ChatGPT
👏2
Как можно решить эту задачу при помощи ChatGPT

"🤖 Революция в подборе оборудования с ChatGPT: реальное применение

Представьте, что вы можете сократить время на подбор оборудования в разы, используя ИИ. ChatGPT может стать вашим незаменимым помощником в этом процессе. Как? Благодаря способности анализировать большие объемы данных и предоставлять релевантные рекомендации на основе вашего запроса.

Чтобы начать, определите ключевые параметры подбора и формулируйте их как часть запроса к ChatGPT. ИИ сможет анализировать доступные варианты и предложить оптимальные решения, основываясь на актуальных данных и трендах рынка.

Полезный эксперимент: Попробуйте интегрировать ChatGPT в ваш процесс подбора оборудования. Начните с простых запросов, постепенно увеличивая сложность, чтобы оценить эффективность и точность подбора. Это позволит вам на практике увидеть все преимущества использования ИИ. #ИИ_в_Закупках" #DevChallengesLog #ChatGPT
🔥 Немного истины, которую многие забывают 🔥

‼️ Никогда не правьте системные файлы Linux через текстовые редакторы(nano, vi и т.д.)! Файлы, такие как passwd, shadow, sudoers и т.д.!!! ‼️

⚙️ Используйте только команды, которые дополняют эти файлы нужными вам параметрами:

📌 Например, если вам нужно создать нового пользователя в системе:

useradd -G sudo -s /bin/bash -m -d /home/%username% %username%

Где:
- -G sudo — добавление в группу sudo
- -s /bin/bash — указание оболочки по умолчанию
- -m -d /home/%username% — создание домашней директории и присвоение пользователю

⚠️ А если вы не последуете этому совету, вас ждет неминуемое! ⚠️

1. /bin/bashroot:x:0:0:root:/root:/bin/bash
2. CD-ROM iso img
3. fdisk -l
4. mkdir /mnt/myroot
5. mount /dev/sdXY /mnt/myroot
6. chroot /mnt/myroot
7. passwd username

🤔 Кто понял, о чём речь, ставьте 👍, кто нет — 😳 (и я расскажу подробнее о последствиях)

#linux, #passwd, #sudo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👀2
⚙️ Сегодняшний инцидент с VCSA от VMware ⚙️

🔔 Проблема:
Ночью пришло уведомление, что наш VCSA был недоступен. Позже днем появилось сообщение о повышенной нагрузке на CPU из-за процесса API. Эта комбинация уведомлений от Nagios вызвала беспокойство, и я решил проверить сервер.

🔐 Ошибка авторизации:
При попытке войти через SSH я получил сообщение об ошибке пароля. Каждая новая попытка приближала к блокировке учетной записи root (оставалось 5, 4, 3 попытки…). В итоге пришлось сбросить пароль через загрузчик с помощью известного алгоритма:

- rw init=/bin/bash
- mount -o remount,rw /
- pam_tally2 --user=root --reset
- passwd
- umount /
- reboot -f


💡 Если кому-то понадобится помощь с этим процессом — пишите, помогу!

🧐 Смена пароля не помогла
Несмотря на сброс пароля, система по-прежнему выдавала ошибку. Тогда я создал новую учетную запись и успешно вошел в систему, но переключиться в /bin/bash не удавалось.

⚙️ Решение проблемы:
- Заменил оболочку для новой учетной записи на /bin/bash через файл passwd
- Добавил sudo-привилегии
- Удалось зайти под собой, переключиться на root, но команда shell всё ещё выдавала ошибку.

🔍 Выяснилось:
Проблема была в остановленной службе applmgmt, которая отвечает за оболочку /bin/appliancesh VCSA. После её запуска:

 service-control --start applmgmt

🛠️ всё заработало, и я смог авторизоваться под root. Вот такая история про неожиданную проблему с оболочкой VCSA!

Будьте внимательны, чтобы не перепутать "дверь", в которую заходите! 😄

#VMware #VCSA #SysAdmin #SSH #сброспароля

[Написать мне](https://t.me/tocha4)
📧 Как работают сервисы по поиску корпоративных email и как сделать это самостоятельно?

Задумывались ли вы, как такие сервисы, как voilanorbert.com, находят корпоративные email по фамилии, имени и домену компании? И как можно это реализовать самому? Давайте разберем.

🔍 Алгоритм работы таких сервисов:

1️⃣ Преобразование ФИ в латинские буквы
Для начала, если у вас русские фамилия и имя, их нужно перевести в транслит. Для этого можно использовать библиотеку Python:
from transliterate import translit


2️⃣ Перебор типовых комбинаций email-адресов
После этого сервис перебирает стандартные комбинации email-адресов на основе введенных данных, например:
- f"{first_name}@{domain}"
- f"{last_name}@{domain}"
- f"{first_name}.{last_name}@{domain}"
- f"{first_name[0]}{last_name}@{domain}"
- и другие...

3️⃣ Проверка существования email
Далее можно воспользоваться сервисом проверки email, например, millionverifier.com, или же написать свой собственный скрипт. Для проверки чаще всего используется метод HELO, который не отправляет письма, а проверяет email через SMTP. Пример кода:

print(f"Connecting to SMTP server: {mx_record}")
server = smtplib.SMTP(mx_record)
server.set_debuglevel(1)
server.helo(server.local_hostname)
server.mail('noreply@example.com') # отправитель
code, message = server.rcpt(email) # проверка email
print(f"Server response: {code}, {message}")


📒 Совет:
Ведите таблицу найденных email — обычно формат адресов в рамках одного домена остается одинаковым. Это поможет вам избежать лишних итераций в будущем.

⚠️ Ограничения:
Учтите, что крупные компании, такие как МТС или Роснефть, имеют защиту от проверки email на существование. В таких случаях даже платные сервисы не помогут, если в их базе нет уже проверенных email через реальные отправки писем.

💡 Интересно?
Если вас заинтересовал этот подход — обращайтесь! Я могу поделиться готовыми скриптами или дать советы по их составлению.

#корпоративныеEmail #Python #SMTP #автоматизация #проверкаEmail

[Написать мне](https://t.me/tocha4)
🔍 Где найти контакты ЛПР по нужным направлениям?

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

- Большая часть контактов не верифицирована
- Контакты не тех людей, которые могут быть заинтересованы вашим продуктом

📉 Негативный эффект:
Результат таких рассылок — ваши письма попадают в спам, а телефонные звонки получают жалобы, что ведет к попаданию номеров в черные списки. Это говорит о том, что сбор чистой клиентской базы требует индивидуального подхода под конкретные нужды.

⚙️ Как мы решаем этот вопрос?

### 🔧 Наш путь: ручной труд
1️⃣ Фильтрация резюме на hh.ru:
Создаем фильтры по интересующей нас компании и собираем все резюме, где указана эта компания как последнее место работы. Добавляем дополнительные фильтры (уровень знаний, должность, опыт и т.д.).

2️⃣ Просмотр резюме:
Изучаем каждое резюме вручную, отбирая тех, чьи должностные обязанности соответствуют нашим требованиям. Это можно сделать бесплатно!

3️⃣ Получение контактов:
Для получения контактных данных используем платформы вроде Kwork. Рабочие email подбираем с помощью скриптов, описанных в предыдущем посте.

### 🤖 Автоматизация
Когда нужно собрать 200+ контактов в неделю, ручная обработка уже не справляется. Поэтому мы перешли к полной автоматизации:

1️⃣ Сбор резюме через API hh.ru
Забираем резюме с нужными фильтрами и сохраняем необходимые блоки информации.

2️⃣ Анализ через ChatGPT
Отдаем собранные резюме на анализ ChatGPT с заранее подготовленным промтом. Это позволяет:
- Исключить нерелевантные резюме
- Получить дополнительную фильтрацию по параметрам, которых нет в hh
- Оценить вероятность того, что кандидат является ЛПР по 10-балльной шкале

3️⃣ Покупка и открытие резюме
Через API покупаем доступ только к тем резюме, которые точно нам интересны.

4️⃣ Подбор рабочих email
Скрипты подбирают рабочие email, так как в резюме указаны только личные.

📊 Что мы получаем на выходе?
Полностью автоматизированная таблица с колонками:
- ФИО
- Должность
- Компания
- Оценка ЛПР
- Телефон
- Личный email
- Рабочий email

💸 Цена одного ЛПР — около 90 рублей.

Если вам нужны качественные контакты, собранные под ваши продуктовые направления — обращайтесь за консультацией!

#контактыЛПР #автоматизация #hhru #emailпоиск #теххак

[Написать мне](https://t.me/tocha4)
👍4
💻 Как я перестал быть прокладкой между ChatGPT и консолью

Долгое время ИИ в моей админской работе помогал ровно наполовину.

Схема была такая:
нашёл ошибку на сервере → вставил в ChatGPT → получил команды → скопировал в консоль → получил новую ошибку → снова понёс в чат.
И так по кругу.

То есть формально ИИ помогает, а по факту ты просто занимаешься умным копипастом.

С появлением Codex CLI стало интереснее.
Он уже не просто предлагает команды, а сам работает в консоли: выполняет, смотрит результат, корректирует следующий шаг.

Но быстро стало понятно, что одного доступа к консоли мало.
Если у тебя много серверов и сервисов, ИИ нужен ещё и контекст.

Я в итоге сделал каталог серверов:
— доступы;
— сеть;
— ОС;
— софт;
— конфиги;
— мониторинг;
— заметки;
— история изменений.

После этого Codex начал работать уже совсем по-другому:
сначала анализирует задачу, потом строит план, потом выполняет, потом проверяет результат и документирует изменения.

И вот в этот момент ИИ перестаёт быть просто советчиком.
Он становится нормальным ассистентом для реальной админской рутины.

Главный вывод пока такой:

ИИ сам по себе хаос не лечит.
Но если дать ему структуру, правила и контекст инфраструктуры — пользы становится в разы больше. ⚙️

Если интересно, следующим постом могу показать, как именно у меня устроен каталог серверов и какие файлы в нём реально нужны.

Если интересно, подробнее эту историю уже развернул в статье:
https://networkguru.ru/codex-cli-devops-avtomatizaciya

#DevOps #CodexCLI #Автоматизация #СистемноеАдминистрирование #ИИ
👍3