Provider Selection Guide

Kratki vodič kako odabrati pravog providera za tvoj use-case.

Vectra podržava 5 providera:


Brzi “decision tree”

1. Već koristiš PostgreSQL i želiš minimalne promjene

Preporuka: pgvector

Koristi pgvector ako:

# Gemfile
# pg + pgvector extension u bazi

Vectra.configure do |config|
  config.provider = :pgvector
  config.host     = ENV['DATABASE_URL']
end

client = Vectra::Client.new

Plusevi:

Minusi:


2. Želiš open source i mogućnost self-hosta

Preporuka: Qdrant (ili Weaviate ako ti treba GraphQL i AI-native featurei)

Koristi Qdrant ako:

Vectra.configure do |config|
  config.provider = :qdrant
  config.host     = ENV.fetch('QDRANT_HOST', 'http://localhost:6333')
  config.api_key  = ENV['QDRANT_API_KEY'] # opcionalno za lokalni
end

client = Vectra::Client.new

Koristi Weaviate ako:

Vectra.configure do |config|
  config.provider = :weaviate
  config.host     = ENV['WEAVIATE_HOST']
  config.api_key  = ENV['WEAVIATE_API_KEY']
end

3. Želiš managed cloud i “zero ops”

Preporuka: Pinecone

Koristi Pinecone ako:

Vectra.configure do |config|
  config.provider   = :pinecone
  config.api_key    = ENV['PINECONE_API_KEY']
  config.environment = ENV['PINECONE_ENVIRONMENT'] # npr. 'us-west-4'
end

client = Vectra::Client.new

Plusevi:

Minusi:


4. Samo želiš nešto što radi lokalno za prototipiranje / testing

Preporuka: Memory ili lokalni Qdrant

Vectra.configure do |config|
  config.provider = :memory if Rails.env.test?
end

client = Vectra::Client.new
Vectra.configure do |config|
  config.provider = :qdrant
  config.host     = 'http://localhost:6333'
end

Tipični scenariji

E-commerce (1000–1M proizvoda)

Za Rails primjer pogledaj Rails Integration Guide i Recipes & Patterns.


SaaS aplikacija s multi-tenant podrškom

Koristi namespace per tenant + metadata tenant_id (primjer u Recipes).


RAG chatbot / dokumentacija / knowledge base

Važno:

Primjer: RAG Chatbot recipe.


Interni alati / reporting / dashboards


Što ako želim promijeniti providera kasnije?

To je upravo najveća prednost Vectre 🙂

  1. U konfiguraciji promijeniš config.provider + relevantne kredencijale
  2. Opcionalno pokreneš migraciju podataka (dual-write ili batch migracija)
  3. Tvoj aplikacijski kod (client.upsert, client.query, has_vector) ostaje isti

Za detaljan primjer pogledaj:


Sažetak preporuka

Sve ove opcije koristiš kroz isti Vectra API, pa kasnije možeš mijenjati providera s minimalnim promjenama u kodu.