Приветствую, друзья. Дошли руки до проекта чата ТетАТет на скринах выше примерный дизайн будущего Telegram MiniApp приложения. Уже все сверстал. Осталось подключить бэкенд
3🔥40👍13❤4👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Друзья, добрый вечер!
Проект чата Тет@Тет на завершающей стадии тестирования и деплоя. Завтра, если найду свободное время, презентую полный исходный код проекта (бэкенд на FastApi + Aiogram 3 и фронтенд на VueJS3) и ссылку на бота.
На представленном видео демонстрация работы бота со стороны фронтенда:
1) Пользователь кликает на «Старт» и отвечает на пару вопросов, называя свой пол, возраст и придумывает никнейм для анонимного чата
2) После входа есть возможность: почитать «о нас», просмотреть профиль, изменить данные в профиле и зайти в MiniApp.
MiniApp – это форма с подбором для фильтрации и сама страница чата. На представленном видео демонстрация общения между двумя аккаунтами.
Стек технологий:
- Redis
- Centrifugo
- SQLite
- FastApi
- Aiogram 3
- SQLAlchemy и прочие технологии бэкенда
- VueJS3 и прочие технологии фронтенда
Как вы видите проект получился мощный, так что буду ждать вашей поддержки.
Проект чата Тет@Тет на завершающей стадии тестирования и деплоя. Завтра, если найду свободное время, презентую полный исходный код проекта (бэкенд на FastApi + Aiogram 3 и фронтенд на VueJS3) и ссылку на бота.
На представленном видео демонстрация работы бота со стороны фронтенда:
1) Пользователь кликает на «Старт» и отвечает на пару вопросов, называя свой пол, возраст и придумывает никнейм для анонимного чата
2) После входа есть возможность: почитать «о нас», просмотреть профиль, изменить данные в профиле и зайти в MiniApp.
MiniApp – это форма с подбором для фильтрации и сама страница чата. На представленном видео демонстрация общения между двумя аккаунтами.
Стек технологий:
- Redis
- Centrifugo
- SQLite
- FastApi
- Aiogram 3
- SQLAlchemy и прочие технологии бэкенда
- VueJS3 и прочие технологии фронтенда
Как вы видите проект получился мощный, так что буду ждать вашей поддержки.
🔥63👍21❤6👏3
🎉 Дорогие девушки! 🎉
В нашем мире кода и алгоритмов вас, может, и не так много, но именно вы делаете его ярче, вдохновленнее и интереснее! 💻✨
Спасибо, что разбавляете нашу суровую айтишную реальность своей энергией, креативностью и невероятным упорством. Пусть ваш путь в Python (и не только!) будет легким, ошибки исправляются быстро, а жизнь приносит только радость!
С 8 Марта! 🌸 Будьте счастливы, любимы и успешны!
В нашем мире кода и алгоритмов вас, может, и не так много, но именно вы делаете его ярче, вдохновленнее и интереснее! 💻✨
Спасибо, что разбавляете нашу суровую айтишную реальность своей энергией, креативностью и невероятным упорством. Пусть ваш путь в Python (и не только!) будет легким, ошибки исправляются быстро, а жизнь приносит только радость!
С 8 Марта! 🌸 Будьте счастливы, любимы и успешны!
❤27🔥10🥰5❤🔥3👍3😁2
Друзья, всем привет. Надеюсь, что соскучились. Ушел с головой в свои проекты, но скоро к вам вернусь с мощным контентом. На очереди Centrifugo, Redis (поделюсь с вами своим авторским BaseDao от мира Redis), VueJS3 и планирую рассказать вам про парочку мощных проектов на основании LLM (нейронок).
👍46🔥18❤8🎉2👏1🍌1
Надеюсь, вы соскучились по такому контенту! 😅 Как вы уже поняли из названия, в первой части я решил сосредоточиться на бэкенде. Мы поговорим о Redis, Centrifugo, FastAPI и ряде дополнительных инструментов.
Настоятельно рекомендую ознакомиться со статьей всем, даже если сам проект не особо интересен. В ней я поделюсь своими наработками по взаимодействию с Redis, о чем ранее не писал.
Статья выйдет ориентировочно завтра к обеду.
Исходный код, о котором пойдет речь, доступен здесь: TetAtetChat.
В следующей части мы займемся фронтендом и будем писать MiniApp на Vue.js 3.
Настоятельно рекомендую ознакомиться со статьей всем, даже если сам проект не особо интересен. В ней я поделюсь своими наработками по взаимодействию с Redis, о чем ранее не писал.
Статья выйдет ориентировочно завтра к обеду.
Исходный код, о котором пойдет речь, доступен здесь: TetAtetChat.
В следующей части мы займемся фронтендом и будем писать MiniApp на Vue.js 3.
2🔥48❤5🎉4👍1🤔1🕊1🙈1
🔥 Друзья, привет! 🔥
На Хабре вышла моя новая статья «Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo» 🚀
📌 Читаем тут: Хабр
Это первая часть небольшой двухсерийки про разработку Telegram-бота с MiniApp (он же WebApp) в формате анонимного чата «Тет-А-Тет». В этот раз мы полностью разберем бэкенд проекта.
💡 Из статьи вы узнаете:
✅ Как комфортно работать с Redis и зачем он нужен для RealTime-приложений ⚡️
✅ Почему Centrifugo — лучший выбор для этого проекта и как вебсокеты могут быть простыми, если использовать современные инструменты 🔄
✅ В очередной раз затронем SQLAlchemy и его применение в проекте 🛠
✅ Разработаем самого Telegram-бота (пока без MiniApp, этим займемся в следующей части). Бот будет работать на вебхуках с помощью FastAPI 🤖
✅ Сам FastAPI будем использовать для API, обслуживания бота, а также связки с Redis и Centrifugo 🔗
🎯 Даже если сам проект вам не особо интересен, рекомендую ознакомиться со статьей — в ней я делюсь своим опытом работы с Redis (ранее об этом не писал).
📝 Исходный код доступен тут: TetAtetChat 👉 GitHub
В следующей части займемся фронтендом и напишем MiniApp на Vue.js 3 🌐
Буду рад вашей поддержке и обратной связи! Эта работа заняла очень много времени, и мне важно услышать ваше мнение 💬🔥
На Хабре вышла моя новая статья «Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo» 🚀
📌 Читаем тут: Хабр
Это первая часть небольшой двухсерийки про разработку Telegram-бота с MiniApp (он же WebApp) в формате анонимного чата «Тет-А-Тет». В этот раз мы полностью разберем бэкенд проекта.
💡 Из статьи вы узнаете:
✅ Как комфортно работать с Redis и зачем он нужен для RealTime-приложений ⚡️
✅ Почему Centrifugo — лучший выбор для этого проекта и как вебсокеты могут быть простыми, если использовать современные инструменты 🔄
✅ В очередной раз затронем SQLAlchemy и его применение в проекте 🛠
✅ Разработаем самого Telegram-бота (пока без MiniApp, этим займемся в следующей части). Бот будет работать на вебхуках с помощью FastAPI 🤖
✅ Сам FastAPI будем использовать для API, обслуживания бота, а также связки с Redis и Centrifugo 🔗
🎯 Даже если сам проект вам не особо интересен, рекомендую ознакомиться со статьей — в ней я делюсь своим опытом работы с Redis (ранее об этом не писал).
📝 Исходный код доступен тут: TetAtetChat 👉 GitHub
В следующей части займемся фронтендом и напишем MiniApp на Vue.js 3 🌐
Буду рад вашей поддержке и обратной связи! Эта работа заняла очень много времени, и мне важно услышать ваше мнение 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo
Друзья, приветствую! Давно анонсировал большой проект, но из-за загруженности не доходили руки оформить все в статью. Как видите, руки наконец дошли. Напомню, что из анонса следовала разработка...
3🔥51❤🔥16👍16❤3🏆3⚡1😱1🙊1
✨ Друзья, всем привет! ✨
Наконец-то я завершил большой проект – анонимный чат «Тет А Тет» с MiniApp интерфейсом для Telegram! 🚀 Готов поделиться с вами результатами.
📌 Сегодня делюсь ссылками на исходный код проекта и работающего бота. А уже завтра утром выйдет вторая часть статьи, где я подробно расскажу о разработке фронтенда на VueJS3 с Centrifugo и покажу, как реализовать монетизацию бота через RichAds.
💡 Напомню, что в первой части статьи я подробно разбирал бэкенд чата, созданный на FastAPI + Aiogram + Redis + Centrifugo. Разбирали, зачем нужен Redis и Centrifugo для RealTime-приложений, а также пошагово прошлись по всем ключевым моментам серверной части.
🔗 Часть 1 — Разработка бэкенда:
📝 Статья: Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo
💻 Исходный код: GitHub
🔥 Часть 2 — Разработка фронтенда и монетизация (выходит завтра!):
В статье разберём, как связать фронтенд на VueJS3 с бэкендом на FastAPI, организовать RealTime-общение через Centrifugo, подключить поллинг для поиска собеседников и монетизировать Telegram MiniApp через RichAds. Будет интересно! 😎
💻 Исходный код фронтенда: GitHub
🤖 Попробовать бота: @tet_a_tetMiniAppBot
Оставайтесь на связи – впереди ещё много полезного! 🚀✨
Наконец-то я завершил большой проект – анонимный чат «Тет А Тет» с MiniApp интерфейсом для Telegram! 🚀 Готов поделиться с вами результатами.
📌 Сегодня делюсь ссылками на исходный код проекта и работающего бота. А уже завтра утром выйдет вторая часть статьи, где я подробно расскажу о разработке фронтенда на VueJS3 с Centrifugo и покажу, как реализовать монетизацию бота через RichAds.
💡 Напомню, что в первой части статьи я подробно разбирал бэкенд чата, созданный на FastAPI + Aiogram + Redis + Centrifugo. Разбирали, зачем нужен Redis и Centrifugo для RealTime-приложений, а также пошагово прошлись по всем ключевым моментам серверной части.
🔗 Часть 1 — Разработка бэкенда:
📝 Статья: Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo
💻 Исходный код: GitHub
🔥 Часть 2 — Разработка фронтенда и монетизация (выходит завтра!):
В статье разберём, как связать фронтенд на VueJS3 с бэкендом на FastAPI, организовать RealTime-общение через Centrifugo, подключить поллинг для поиска собеседников и монетизировать Telegram MiniApp через RichAds. Будет интересно! 😎
💻 Исходный код фронтенда: GitHub
🤖 Попробовать бота: @tet_a_tetMiniAppBot
Оставайтесь на связи – впереди ещё много полезного! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤27🔥13👍7👏5❤🔥3🥰1🎉1😇1😘1
This media is not supported in your browser
VIEW IN TELEGRAM
✨ Друзья, доброе утро! ✨
Встречайте вторую часть серии статей про создание Telegram-бота с MiniApp интерфейсом для реального анонимного чата «Тет А Тет»! 🎉
Статья получила название: «Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 2 — VueJS3 + Centrifugo с монетизацией» и уже доступна на Хабре к прочтению.
📌 В этой части мы разберём:
✅ Разработку стильного, анимированного UI на VueJS 3 с real-time чатом.
✅ Мгновенный обмен сообщениями через Centrifugo без лишней нагрузки на сервер.
✅ Монетизацию Telegram MiniApp с помощью умной рекламы от RichAds.
✅ Финальные шаги перед продакшеном и деплой проекта.
🛠 Что мы реализуем?
🔹 Экран загрузки приложения
🔹 Поиск и подбор собеседников
🔹 Экран ожидания
🔹 Сам real-time чат
📌 Основные технологии:
🚀 VueJS 3 — современный JavaScript-фреймворк
📡 Centrifugo — real-time коммуникации
📲 VUE-TG — удобная работа с Telegram MiniApp API
🛤 Vue-Router — маршрутизация
💡 Если вы хотите создать быстрый, удобный и прибыльный анонимный чат в Telegram, эта статья для вас!
🔗 Читать на Хабре:
📌 Часть 1 (Бэкенд): Статья | GitHub
📌 Часть 2 (Фронтенд + Монетизация): Статья | GitHub
🤖 Попробовать бота в Telegram: @tet_a_tetMiniAppBot
Буду рад вашим отзывам! 🚀🔥
Встречайте вторую часть серии статей про создание Telegram-бота с MiniApp интерфейсом для реального анонимного чата «Тет А Тет»! 🎉
Статья получила название: «Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 2 — VueJS3 + Centrifugo с монетизацией» и уже доступна на Хабре к прочтению.
📌 В этой части мы разберём:
✅ Разработку стильного, анимированного UI на VueJS 3 с real-time чатом.
✅ Мгновенный обмен сообщениями через Centrifugo без лишней нагрузки на сервер.
✅ Монетизацию Telegram MiniApp с помощью умной рекламы от RichAds.
✅ Финальные шаги перед продакшеном и деплой проекта.
🛠 Что мы реализуем?
🔹 Экран загрузки приложения
🔹 Поиск и подбор собеседников
🔹 Экран ожидания
🔹 Сам real-time чат
📌 Основные технологии:
🚀 VueJS 3 — современный JavaScript-фреймворк
📡 Centrifugo — real-time коммуникации
📲 VUE-TG — удобная работа с Telegram MiniApp API
🛤 Vue-Router — маршрутизация
💡 Если вы хотите создать быстрый, удобный и прибыльный анонимный чат в Telegram, эта статья для вас!
🔗 Читать на Хабре:
📌 Часть 1 (Бэкенд): Статья | GitHub
📌 Часть 2 (Фронтенд + Монетизация): Статья | GitHub
🤖 Попробовать бота в Telegram: @tet_a_tetMiniAppBot
Буду рад вашим отзывам! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥11❤🔥8❤7👏3🤩1👌1👀1
🔥 Фоновые задачи в FastAPI без лишних сложностей 🔥
Ещё раз приветсвую👋 Если вы следите за моим контентом, то знаете, что я уже рассказывал про фоновые задачи в Python с использованием Celery, FastStream и APScheduler. Но что, если хочется чего-то попроще, без брокеров сообщений и дополнительной настройки?
Знакомьтесь: BackgroundTasks в FastAPI! 🚀
Этот инструмент позволяет легко разгружать бэкенд, выполняя задачи в фоне, без сложных зависимостей.
Как это работает?
1️⃣ Создаем функцию, которая будет выполняться в фоне. Она принимает аргументы, которые передадим при вызове.
2️⃣ Определяем эндпоинт, который будет запускать фоновую задачу.
📌 Пример кода:
🔥 Почему это круто?
✅ Простота – не нужно поднимать Redis, RabbitMQ и другие брокеры
✅ Легкость – входит в стандартный функционал FastAPI
✅ Удобство – идеально для небольших фоновых задач, таких как логирование, отправка писем, обновление кеша
Но важно помнить:
📍 BackgroundTasks работают в том же процессе, что и FastAPI, поэтому для более нагруженных задач лучше использовать Celery или другие специализированные решения.
Используете ли вы фоновые задачи в своих проектах? Делитесь опытом в комментариях! 👇🚀
Ещё раз приветсвую👋 Если вы следите за моим контентом, то знаете, что я уже рассказывал про фоновые задачи в Python с использованием Celery, FastStream и APScheduler. Но что, если хочется чего-то попроще, без брокеров сообщений и дополнительной настройки?
Знакомьтесь: BackgroundTasks в FastAPI! 🚀
Этот инструмент позволяет легко разгружать бэкенд, выполняя задачи в фоне, без сложных зависимостей.
Как это работает?
1️⃣ Создаем функцию, которая будет выполняться в фоне. Она принимает аргументы, которые передадим при вызове.
2️⃣ Определяем эндпоинт, который будет запускать фоновую задачу.
📌 Пример кода:
from fastapi import FastAPI, BackgroundTasks
import asyncio
app = FastAPI()
async def write_log(message: str):
await asyncio.sleep(5) # Симуляция длительной операции
with open("log.txt", "a") as f:
f.write(f"{message}\n")
@app.post("/start-task/")
async def start_task(background_tasks: BackgroundTasks, msg: str):
background_tasks.add_task(write_log, msg)
return {"message": "Задача запущена в фоне!"}
🔥 Почему это круто?
✅ Простота – не нужно поднимать Redis, RabbitMQ и другие брокеры
✅ Легкость – входит в стандартный функционал FastAPI
✅ Удобство – идеально для небольших фоновых задач, таких как логирование, отправка писем, обновление кеша
Но важно помнить:
📍 BackgroundTasks работают в том же процессе, что и FastAPI, поэтому для более нагруженных задач лучше использовать Celery или другие специализированные решения.
Используете ли вы фоновые задачи в своих проектах? Делитесь опытом в комментариях! 👇🚀
1🔥21👍17❤8🙏1🎄1
✨ Как учитывать просмотры на бэке: быстрый и эффективный способ ✨
Друзья, привет!
Делюсь кейсом, который поможет легко и быстро учитывать количество просмотров ваших постов, товаров и других сущностей на бекенде.
Что нам понадобится:
✅ FastAPI
✅ Любая табличная база данных
✅ Redis
Задача:
Допустим, у нас есть блог, и нам нужно учитывать количество его просмотров. В таблице с блогами есть поле
Чтобы не нагружать базу лишними запросами, используем Redis для кэширования информации о том, смотрел ли пользователь этот блог. Ключ формируем так:
Логика работы:
1. Проверяем наличие ключа в Redis.
2. Если он есть — пользователь уже смотрел блог, ничего не делаем.
3. Если ключа нет:
- Увеличиваем счётчик просмотров в БД.
- Записываем ключ в Redis с TTL (например, на 1 час).
Код:
Этот подход позволяет разгрузить базу и исключить повторные просмотры от одного и того же пользователя в течение заданного периода. Используйте микс Redis и SQLAlchemy для оптимального результата!
🔥 Делитесь своим опытом в комментариях!
Друзья, привет!
Делюсь кейсом, который поможет легко и быстро учитывать количество просмотров ваших постов, товаров и других сущностей на бекенде.
Что нам понадобится:
✅ FastAPI
✅ Любая табличная база данных
✅ Redis
Задача:
Допустим, у нас есть блог, и нам нужно учитывать количество его просмотров. В таблице с блогами есть поле
count_views, которое по умолчанию равно 0.Чтобы не нагружать базу лишними запросами, используем Redis для кэширования информации о том, смотрел ли пользователь этот блог. Ключ формируем так:
redis_key = f"blog_show_{blog_id}_{user_id}"Логика работы:
1. Проверяем наличие ключа в Redis.
2. Если он есть — пользователь уже смотрел блог, ничего не делаем.
3. Если ключа нет:
- Увеличиваем счётчик просмотров в БД.
- Записываем ключ в Redis с TTL (например, на 1 час).
Код:
@router.post("/edit_blog_show")
async def edit_project_show(
edit_blog_show: EditProjectShow,
redis_client: CustomRedis = Depends(get_redis),
):
redis_key = f"blog_show_{edit_blog_show.blog_id}_{edit_blog_show.user_id}"
exists = await redis_client.exists(redis_key)
if not exists:
async with async_session_maker() as session:
project = await BlogDAO(session).find_one_or_none_by_id(
edit_blog_show.project_id
)
if project:
project.views_count += 1
await session.commit()
await redis_client.set(redis_key, "1", ex=60 * 60)
logger.info(f"Проект {edit_blog_show.project_id} отмечен как просмотрен!")
return {"status": "ok", "msg": "Проект отмечен как просмотрен!"}
else:
logger.warning(f"Проект {edit_blog_show.project_id} уже был отмечен как просмотрен!")
return {"status": "warning", "msg": "Проект уже был отмечен как просмотрен!"}Этот подход позволяет разгрузить базу и исключить повторные просмотры от одного и того же пользователя в течение заданного периода. Используйте микс Redis и SQLAlchemy для оптимального результата!
🔥 Делитесь своим опытом в комментариях!
2🔥25❤7👍6💘3👏2🍾2☃1
🔥 Анонс новой статьи на Хабре! 🔥
Друзья, скоро на Хабре выйдет мой новый материал, в котором я разберу, как подключить свою базу данных к LLM-моделям вроде Deepseek или GPT.
На простом примере покажу, как это работает:
✅ Собираем текстовые данные (документацию, книги, корпоративную информацию).
✅ Преобразуем их в векторную базу с помощью Python + ChromaDB.
✅ Подключаемся к базе и учим модель искать в ней нужную информацию.
✅ Интегрируем всё с LLM, чтобы получать точные и контекстные ответы.
Где это применимо? В бизнесе, обучении, автоматизации поддержки и не только.
📌 Подробности — скоро на Хабре! Следите за анонсом. 🚀
Друзья, скоро на Хабре выйдет мой новый материал, в котором я разберу, как подключить свою базу данных к LLM-моделям вроде Deepseek или GPT.
На простом примере покажу, как это работает:
✅ Собираем текстовые данные (документацию, книги, корпоративную информацию).
✅ Преобразуем их в векторную базу с помощью Python + ChromaDB.
✅ Подключаемся к базе и учим модель искать в ней нужную информацию.
✅ Интегрируем всё с LLM, чтобы получать точные и контекстные ответы.
Где это применимо? В бизнесе, обучении, автоматизации поддержки и не только.
📌 Подробности — скоро на Хабре! Следите за анонсом. 🚀
2🔥76❤11👍9🎉7🦄2🙏1🤪1
Вот наглядная демонстрация интеллектуального поиска без внешних нейросетей.
🔹 Как это работает?
1. Я загрузил в Chroma небольшой набор товаров, а для их преобразования в векторы использовал локальную нейросеть paraphrase-multilingual-MiniLM-L12-v2 (её размер ~450 МБ).
2. На основе этих данных была сформирована векторная база.
3. Подключившись к Chroma, я выполнял запросы и получал релевантные текстовые результаты (пример на скриншотах).
Теперь осталось интегрировать мощную языковую нейросеть для обработки ответов – и можно собирать полноценный сервис.
💡 На самом деле всё проще, чем кажется! 🚀
🔹 Как это работает?
1. Я загрузил в Chroma небольшой набор товаров, а для их преобразования в векторы использовал локальную нейросеть paraphrase-multilingual-MiniLM-L12-v2 (её размер ~450 МБ).
2. На основе этих данных была сформирована векторная база.
3. Подключившись к Chroma, я выполнял запросы и получал релевантные текстовые результаты (пример на скриншотах).
Теперь осталось интегрировать мощную языковую нейросеть для обработки ответов – и можно собирать полноценный сервис.
💡 На самом деле всё проще, чем кажется! 🚀
1🔥41👍13❤8🤯2🤪1😎1👾1
Друзья, привет! 🚀
Наконец-то готов поделиться с вами проектом, который поможет разобраться с векторными базами данных и их интеграцией с мощными нейросетями, такими как ChatGPT и DeepSeek.
🔹 В первой части, которая выйдет на Хабре через пару дней, мы разберем:
✅ Что такое векторная база данных и зачем она нужна
✅ Как преобразовать информацию в векторный формат
✅ Как реализовать умный поиск по смыслу, а не просто по совпадениям
✅ Как использовать эти данные для работы с нейросетями
Исходный код проекта уже доступен на GitHub 👉 ССЫЛКА
Что там найдете?
📌 Простые примеры работы с векторной базой данных
📌 Запаковку 70 документов крупного сайта в базу и реализацию умного поиска по ним
📌 Интеграцию с ChatGPT и DeepSeek через LangChain – мощнейший инструмент для работы с AI
🔥 Пока всё работает в консоли, но во второй части я покажу, как сделать веб-приложение на FastAPI + VueJS + Centrifugo для удобного общения с AI-ассистентом.
Для тестов нужен API-токен ChatGPT или DeepSeek
Будете ждать статью?
Наконец-то готов поделиться с вами проектом, который поможет разобраться с векторными базами данных и их интеграцией с мощными нейросетями, такими как ChatGPT и DeepSeek.
🔹 В первой части, которая выйдет на Хабре через пару дней, мы разберем:
✅ Что такое векторная база данных и зачем она нужна
✅ Как преобразовать информацию в векторный формат
✅ Как реализовать умный поиск по смыслу, а не просто по совпадениям
✅ Как использовать эти данные для работы с нейросетями
Исходный код проекта уже доступен на GitHub 👉 ССЫЛКА
Что там найдете?
📌 Простые примеры работы с векторной базой данных
📌 Запаковку 70 документов крупного сайта в базу и реализацию умного поиска по ним
📌 Интеграцию с ChatGPT и DeepSeek через LangChain – мощнейший инструмент для работы с AI
🔥 Пока всё работает в консоли, но во второй части я покажу, как сделать веб-приложение на FastAPI + VueJS + Centrifugo для удобного общения с AI-ассистентом.
Для тестов нужен API-токен ChatGPT или DeepSeek
Будете ждать статью?
GitHub
ChromaDBGPTDeepSeek/article_1 at main · Yakvenalex/ChromaDBGPTDeepSeek
Contribute to Yakvenalex/ChromaDBGPTDeepSeek development by creating an account on GitHub.
5👍70🔥32❤8⚡2👏1😁1🤪1
Друзья, рассказать вам как в РФ оплатить доступ к API DeepSeek?
Anonymous Poll
83%
Конечно
5%
Я знаю как
13%
Не интересно
🔥6❤5👌2💘2😇1
Привет, друзья!
На Хабре вышла моя новая статья — «Личный ИИ-ассистент на ваших данных. Часть 1: Векторная база ChromaDB + DeepSeek | GPT».
Это первая часть цикла, в котором я подробно рассказываю, как собрать собственного ИИ-ассистента, способного работать с вашими текстами и знаниями. Если статья получит отклик — в следующей части покажу, как развернуть полноценный веб-сервис на основе описанных инструментов.
В этой статье вы узнаете:
- Что такое векторная база данных и зачем она нужна
- Как превратить любую текстовую информацию в "поиск по смыслу", а не просто по ключевым словам
- Как связать такой смысловой поисковик с ChatGPT, DeepSeek и другими LLM
- Как использовать фреймворк Langchain, чтобы легко интегрировать нейросети в свои Python-проекты
Langchain позволяет в пару строк кода создать свою векторную базу и построить на ней интеллектуальный поисковик, который «понимает» смысл запроса. А дальше — просто подключаем DeepSeek или GPT, и получаем умного ассистента, который отвечает именно на ваши данные.
🔍 В статье много теории, но и практики хватает: я демонстрирую, как на базе 63 объёмных статей собрать свою базу знаний и интегрировать её с ChatGPT и DeepSeek.
📁 Весь код проекта доступен на GitHub: https://github.com/Yakvenalex/ChromaDBGPTDeepSeek
Там есть как примеры из статьи, так и удобный класс для асинхронной работы с ChromaDB.
Буду рад вопросам, комментариям и вашей обратной связи! Если тема интересна — вторая часть не заставит себя ждать 😉
На Хабре вышла моя новая статья — «Личный ИИ-ассистент на ваших данных. Часть 1: Векторная база ChromaDB + DeepSeek | GPT».
Это первая часть цикла, в котором я подробно рассказываю, как собрать собственного ИИ-ассистента, способного работать с вашими текстами и знаниями. Если статья получит отклик — в следующей части покажу, как развернуть полноценный веб-сервис на основе описанных инструментов.
В этой статье вы узнаете:
- Что такое векторная база данных и зачем она нужна
- Как превратить любую текстовую информацию в "поиск по смыслу", а не просто по ключевым словам
- Как связать такой смысловой поисковик с ChatGPT, DeepSeek и другими LLM
- Как использовать фреймворк Langchain, чтобы легко интегрировать нейросети в свои Python-проекты
Langchain позволяет в пару строк кода создать свою векторную базу и построить на ней интеллектуальный поисковик, который «понимает» смысл запроса. А дальше — просто подключаем DeepSeek или GPT, и получаем умного ассистента, который отвечает именно на ваши данные.
🔍 В статье много теории, но и практики хватает: я демонстрирую, как на базе 63 объёмных статей собрать свою базу знаний и интегрировать её с ChatGPT и DeepSeek.
📁 Весь код проекта доступен на GitHub: https://github.com/Yakvenalex/ChromaDBGPTDeepSeek
Там есть как примеры из статьи, так и удобный класс для асинхронной работы с ChromaDB.
Буду рад вопросам, комментариям и вашей обратной связи! Если тема интересна — вторая часть не заставит себя ждать 😉
Хабр
Личный ИИ-ассистент на ваших данных. Часть 1: Векторная база ChromaDB + DeepSeek | GPT
Друзья, приветствую! Сегодня я хотел бы рассмотреть интересующую многих тему, а именно связку большой языковой модели по типу DeepSeek или ChatGPT со своей базой знаний. В рамках этой статьи я дам вам...
14🔥72👍23❤🔥12🦄4❤2🐳2🥰1👏1
Друзья, добрый вечер! 😎 Надеюсь, что соскучились? 😏 Я немного увяз в рабочих проектах, но теперь, немного раскидавшись, анонсирую вторую часть из серии «Личный ИИ-ассистент на ваших данных»!
К концу недели опубликую на Хабре продолжение, в рамках которого мы будем разрабатывать полноценный веб-интерфейс для нашего ИИ-ассистента.
Для тех, кто пропустил: в первой части мы создали собственную векторную базу данных, используя личную информацию, и разобрались, как интегрировать её с нейросетями DeepSeek и OpenAI. Пока всё работало в консольной версии, но это уже был важный шаг вперёд!
Теперь мы реализуем веб-интерфейс с поддержкой стриминга ответов, как в чате ChatGPT, используя Centrifugo V6, чтобы ИИ выдавал текст постепенно — плавно и без долгих ожиданий. Также добавим простую систему авторизации для безопасного доступа и возможность выбора между моделями DeepSeek и ChatGPT прямо в интерфейсе.
Сам чат, естественно, будет завязан на векторной базе данных, которую мы уже подготовили в первой части.
Будет, как минимум, интересно так что следите за обновлениями! 🔥
К концу недели опубликую на Хабре продолжение, в рамках которого мы будем разрабатывать полноценный веб-интерфейс для нашего ИИ-ассистента.
Для тех, кто пропустил: в первой части мы создали собственную векторную базу данных, используя личную информацию, и разобрались, как интегрировать её с нейросетями DeepSeek и OpenAI. Пока всё работало в консольной версии, но это уже был важный шаг вперёд!
Теперь мы реализуем веб-интерфейс с поддержкой стриминга ответов, как в чате ChatGPT, используя Centrifugo V6, чтобы ИИ выдавал текст постепенно — плавно и без долгих ожиданий. Также добавим простую систему авторизации для безопасного доступа и возможность выбора между моделями DeepSeek и ChatGPT прямо в интерфейсе.
Сам чат, естественно, будет завязан на векторной базе данных, которую мы уже подготовили в первой части.
Будет, как минимум, интересно так что следите за обновлениями! 🔥
Хабр
Личный ИИ-ассистент на ваших данных. Часть 1: Векторная база ChromaDB + DeepSeek | GPT
Друзья, приветствую! Сегодня я хотел бы рассмотреть интересующую многих тему, а именно связку большой языковой модели по типу DeepSeek или ChatGPT со своей базой знаний. В рамках этой статьи я дам вам...
2🔥58❤15👍12⚡6✍1🙈1😇1
🚀 Как конвертировать XML в JSON на Python. Простой и удобный способ 🔄
Привет, друзья! Недавно столкнулся с задачей трансформации XML-файлов в читаемый JSON — решил поделиться рабочим решением 💡
📦 Установим пару библиотек:
-
-
🛠 Что умеет скрипт:
✅ Автоматически определяет кодировку XML
✅ Конвертирует структуру XML в JSON
✅ Поддерживает кириллицу и спецсимволы
✅ Генерирует читаемый JSON с отступами
📄 Пример скрипта:
📎 Подходит как для небольших XML-файлов, так и для массивных выгрузок (сегодня делал тест на файле 200мб + - летает).
Привет, друзья! Недавно столкнулся с задачей трансформации XML-файлов в читаемый JSON — решил поделиться рабочим решением 💡
📦 Установим пару библиотек:
pip install xmltodict chardet
-
xmltodict — превращает XML в питоновский словарь (json)-
chardet — автоматически определяет кодировку файла (важно для кириллицы)🛠 Что умеет скрипт:
✅ Автоматически определяет кодировку XML
✅ Конвертирует структуру XML в JSON
✅ Поддерживает кириллицу и спецсимволы
✅ Генерирует читаемый JSON с отступами
📄 Пример скрипта:
import xmltodict
import json
import os
import chardet
def detect_encoding(file_path):
with open(file_path, "rb") as file:
raw_data = file.read()
result = chardet.detect(raw_data)
return result["encoding"]
def xml_to_json(xml_file_path):
try:
if not os.path.exists(xml_file_path):
print(f"Ошибка: Файл {xml_file_path} не найден")
return
encoding = detect_encoding(xml_file_path)
print(f"Определена кодировка файла: {encoding}")
with open(xml_file_path, "r", encoding=encoding) as xml_file:
xml_content = xml_file.read()
xml_dict = xmltodict.parse(xml_content)
json_file_path = os.path.splitext(xml_file_path)[0] + ".json"
with open(json_file_path, "w", encoding="utf-8") as json_file:
json.dump(xml_dict, json_file, ensure_ascii=False, indent=4)
print(f"✅ Файл успешно сохранён как {json_file_path}")
except Exception as e:
print(f"❌ Ошибка при преобразовании: {str(e)}")
if __name__ == "__main__":
xml_file_path = "my_file.xml"
xml_to_json(xml_file_path)
📎 Подходит как для небольших XML-файлов, так и для массивных выгрузок (сегодня делал тест на файле 200мб + - летает).
🔥35👍17⚡3❤3