TGViewer
Codica - корисне про IT Codica - корисне про IT @codica · 2.08K subscribers
Post #5082 210
Як це працює на практиці за 4 кроки:

1️⃣ Додаємо гем та вмикаємо розширення:


# Gemfile
gem “pgvector”

Створюємо міграцію:
class EnablePgvector < ActiveRecord::Migration[7.1]
def change
enable_extension “vector”
end
end


2️⃣ Додаємо векторну колонку до моделі:


class AddEmbeddingToProducts < ActiveRecord::Migration[7.1]
def change
# 1536 — розмірність для стандартних векторів OpenAI (text-embedding-3-small)
add_column :products, :embedding, :vector, limit: 1536
end
end


3️⃣ Підключаємо магію в ActiveRecord:


class Product < ApplicationRecord
has_neighbors :embedding
end


4️⃣ Робимо семантичний пошук у коді:


# Отримуємо вектор від AI для пошукового запиту “теплий худі на зимову погоду”
user_vector = OpenAIClient.embed(“теплий худі на зимову погоду“)

# Шукаємо найближчі товари за косинусною відстаню прямо через SQL:
@nearest_products = Product.nearest_neighbors(:embedding, user_vector, distance: “cosine”).first(5)


🔥 Чому це круто:
• Жодних сторонніх сервісів — все всередині вашої Postgres.
• Повна підтримка стандартних з’єднань, scope та фільтрів ActiveRecord.
• Легко масштабується до мільйонів записів за допомогою HNSW індексів.

А ви вже пробували впроваджувати векторний пошук у своїх Rails-проектах чи поки використовуєте звичайний Full-Text Search? 👇

TikTok | Instagram | Telegram
  • 👍 3
More from @codica
  1. Oct 10, 2026Друзі, вже субота!! Ураа! #codica_weekend Давайте піднімемо собі настрій новою добіркою ай…
  2. Oct 9, 2026🐞 5 шпаргалок для QA, які бережуть нерви перед релізом Коли реліз уже близько, останнє, ч…
  3. Oct 9, 2026📚 Народ, ми тут дещо затіяли. Запускаємо серію IT-шпаргалок на всі випадки життя — від «я…
  4. Oct 9, 2026Тож перша десятка вже тут 📚 Зберігайте, пересилайте друзям і… поїхали читати 🚀 🛒 — поси…
  5. Oct 9, 2026🤖 40 КНИГ, ЩОБ РОЗІБРАТИСЯ В AI — ВІД НУЛЯ ДО AGI Друзі, знайшли для вас аж 40 книг про A…
  6. Oct 8, 2026Post #5192
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →