wiki:AdvancedPhase

Version 3 (modified by 231012, 3 days ago) ( diff )

--

Advanced Phase

Опис

Имплементација на систем за препораки базиран на AI embeddings користејќи pgvector екстензија за PostgreSQL. Секоја активност, услуга и опрема добива своја векторска репрезентација (embedding) на нејзиниот опис, а системот наоѓа математички слични записи преку cosine similarity.

Како функционира?

Основната идеја е дека текстот (опис на активност, услуга или опрема) се претвора во вектор — листа од броеви каде секој број го претставува значењето на зборот во тој текст. Колку се векторите поблиску математички, толку се посличните записи.

Опис на запис → AI модел → Vector [0.23, 0.89, ...] → Слични записи

Чекори

  • Чекор 1

Инсталација на pgvector во Docker контејнерот и активирање на екстензијата во PostgreSQL

docker exec -it camping-postgres bash -c \ "apt-get update && apt-get install -y postgresql-16-pgvector"

CREATE EXTENSION IF NOT EXISTS vector;

  • Чекор 2

На табелите Activity, Service и Equipment се додава нова колона од тип vector(384). Димензијата 384 одговара на моделот all-MiniLM-L6-v2 кој се користи за генерирање на embeddings..

  • Чекор 3

Embeddings се генерираат преку Python скрипта која користи sentence-transformers библиотека.

  • Чекор 4

За брзо пребарување по сличност се креираат ivfflat индекси. Со ivfflat индекс векторите се групираат во кластери и се пребарува само во најблиските — многу побрзо.

  • Чекор 5

Се креираат PostgreSQL функции кои примаат вектор и враќаат N најслични записи сортирани по cosine similarity.

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.