Repolode
pgvector

pgvector/pgvector-go

Поддержка расширения pgvector для PostgreSQL в Go: типы векторов и адаптеры для pgx, pg, Bun, Ent, GORM и sqlx.

Звёзды
356
Форки
16
Открытые issues
0
Последний коммит
позавчера

Что это?

pgvector-go — библиотека для Go, которая позволяет приложениям хранить векторные эмбеддинги в PostgreSQL и выполнять по ним запросы через расширение pgvector. Она предоставляет типы Go для плотных, half- и разреженных векторов, а также адаптеры для работы с pgx, pg, Bun, Ent, GORM и sqlx.

Библиотека охватывает типовой сценарий работы: подключение расширения, создание столбца с вектором, добавление эмбеддингов и выполнение запросов поиска ближайших соседей с операторами расстояния L2, скалярного произведения и косинусного расстояния. Также в ней показано, как создавать индексы HNSW и IVFFlat для приближённого поиска. Интеграция с Ent включает вспомогательные функции для нескольких метрик расстояния.

Примеры в репозитории охватывают эмбеддинги OpenAI и Cohere, гибридный поиск с Reciprocal Rank Fusion, поиск по разреженным векторам, рекомендации, горизонтальное масштабирование с Citus и массовую загрузку с помощью COPY.

Ключевые возможности

  • 01Типы Go для плотных, half- и разреженных векторов
  • 02Адаптеры для pgx, pg, Bun, Ent, GORM и sqlx
  • 03Запросы поиска ближайших соседей с операторами расстояния L2, скалярного произведения и косинусного расстояния
  • 04Примеры создания индексов HNSW и IVFFlat
  • 05Примеры работы с OpenAI, Cohere, гибридным поиском и массовой загрузкой с помощью COPY

Сценарии использования

  • Добавление семантического поиска или поиска с извлечением данных в Go-сервис на базе PostgreSQL
  • Хранение эмбеддингов текста или изображений вместе с реляционными данными
  • Создание рекомендаций с ранжированием объектов по сходству векторов
  • Эффективная загрузка больших наборов эмбеддингов в PostgreSQL

Быстрый старт

  1. 1

    Установите основной пакет Go

    go get github.com/pgvector/pgvector-go
  2. 2

    Установите пакет интеграции с pgx

    go get github.com/pgvector/pgvector-go/pgx
  3. 3

    Включите расширение pgvector в PostgreSQL

    CREATE EXTENSION IF NOT EXISTS vector

Что важно знать

  • Требуется PostgreSQL с установленным на сервере расширением pgvector.

В подборках

Темы

Частые вопросы

Что такое pgvector-go?
Поддержка расширения pgvector для PostgreSQL в Go: типы векторов и адаптеры для pgx, pg, Bun, Ent, GORM и sqlx. pgvector-go — библиотека для Go, которая позволяет приложениям хранить векторные эмбеддинги в PostgreSQL и выполнять по ним запросы через расширение pgvector. Она предоставляет типы Go для плотных, half- и разреженных векторов, а также адаптеры для работы с pgx, pg, Bun, Ent, GORM и sqlx.
pgvector-go можно использовать бесплатно? Какая у него лицензия?
pgvector-go распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pgvector-go всё ещё поддерживается?
Активно поддерживается. Последний коммит в pgvector-go — 5 нояб. 2026 г..
Для чего можно использовать pgvector-go?
Добавление семантического поиска или поиска с извлечением данных в Go-сервис на базе PostgreSQL Хранение эмбеддингов текста или изображений вместе с реляционными данными Создание рекомендаций с ранжированием объектов по сходству векторов Эффективная загрузка больших наборов эмбеддингов в PostgreSQL
Как установить pgvector-go?
Установите основной пакет Go: go get github.com/pgvector/pgvector-go Установите пакет интеграции с pgx: go get github.com/pgvector/pgvector-go/pgx Включите расширение pgvector в PostgreSQL: CREATE EXTENSION IF NOT EXISTS vector
Где скачать pgvector-go?
Исходный код и инструкции по установке — на GitHub: https://github.com/pgvector/pgvector-go

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Milvus — распределённая векторная база данных с открытым исходным кодом для масштабного хранения эмбеддингов и поиска по ним, подходящая для AI-поиска и RAG-приложений.

46,6 тыс.+72 за неделю4,3 тыс.GoApache-2.0Активно поддерживаетсяОбновлён 13 часов назад

Расширение с открытым исходным кодом для поиска векторов по сходству в Postgres: храните эмбеддинги и выполняйте поиск рядом с реляционными данными.

23,6 тыс.+65 за неделю1,4 тыс.COtherАктивно поддерживаетсяОбновлён позавчера