qdrant

command
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

README

qdrant — RAG с Qdrant

Интерактивный RAG-чат с Qdrant как векторным хранилищем. При первом запуске автоматически создаёт коллекцию, если она ещё не существует.

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

1. Запустите Qdrant:

docker run -d -p 6333:6333 --name qdrant qdrant/qdrant

2. Запустите пример:

EMBEDDER_API_KEY=sk-... \
LLM_API_KEY=sk-... \
go run ./examples/qdrant/

Переменные окружения

Переменная По умолчанию Описание
QDRANT_URL http://localhost:6333 URL Qdrant сервера
QDRANT_COLLECTION draftrag_example Имя коллекции
EMBEDDING_DIM 1536 Размерность векторов (должна совпадать с моделью)
EMBEDDER_API_KEY Обязательно. Ключ API для embedder
EMBEDDER_BASE_URL https://api.openai.com Базовый URL embedder API
EMBEDDER_MODEL text-embedding-ada-002 Модель эмбеддингов
LLM_API_KEY Обязательно. Ключ API для LLM
LLM_BASE_URL https://api.openai.com Базовый URL LLM API
LLM_MODEL gpt-4o-mini Языковая модель

Управление коллекцией

Пример создаёт коллекцию автоматически. При необходимости можно управлять коллекциями вручную через публичный API:

opts := draftrag.QdrantOptions{
    URL:        "http://localhost:6333",
    Collection: "my_collection",
    Dimension:  1536,
}

// Проверить существование
exists, err := draftrag.CollectionExists(ctx, opts)

// Создать
err = draftrag.CreateCollection(ctx, opts)

// Удалить
err = draftrag.DeleteCollection(ctx, opts)

Размерность векторов

Размерность задаётся при создании коллекции и не может быть изменена. Если нужно изменить размерность — удалите коллекцию и создайте заново:

# Удалить коллекцию через API Qdrant
curl -X DELETE http://localhost:6333/collections/draftrag_example
Модель EMBEDDING_DIM
text-embedding-ada-002 1536
text-embedding-3-small 1536
text-embedding-3-large 3072
nomic-embed-text (Ollama) 768

Локальный режим (Ollama)

ollama pull nomic-embed-text
ollama pull llama3.2

EMBEDDING_DIM=768 \
EMBEDDER_BASE_URL=http://localhost:11434 \
EMBEDDER_API_KEY=ollama \
EMBEDDER_MODEL=nomic-embed-text \
LLM_BASE_URL=http://localhost:11434 \
LLM_API_KEY=ollama \
LLM_MODEL=llama3.2 \
go run ./examples/qdrant/

Qdrant Cloud

QDRANT_URL=https://xyz.cloud.qdrant.io:6333 \
EMBEDDER_API_KEY=sk-... \
LLM_API_KEY=sk-... \
go run ./examples/qdrant/

Для аутентификации в Qdrant Cloud передайте API-ключ через заголовок — это потребует небольшой модификации примера или использования draftrag.QdrantOptions с расширением.

Documentation

Overview

Пример RAG с Qdrant — пример использования draftRAG.

Создаёт коллекцию в Qdrant (если не существует), индексирует документы и запускает интерактивный RAG-чат.

Быстрый старт с Docker:

docker run -p 6333:6333 qdrant/qdrant
EMBEDDER_API_KEY=sk-... LLM_API_KEY=sk-... \
  go run ./examples/qdrant/

Переменные окружения:

QDRANT_URL          — URL Qdrant сервера (по умолчанию: http://localhost:6333)
QDRANT_COLLECTION   — имя коллекции (по умолчанию: draftrag_example)
EMBEDDER_BASE_URL   — базовый URL embedder API (по умолчанию: https://api.openai.com)
EMBEDDER_API_KEY    — ключ API для embedder (обязательно)
EMBEDDER_MODEL      — модель embeddings (по умолчанию: text-embedding-ada-002)
LLM_BASE_URL        — базовый URL LLM API (по умолчанию: https://api.openai.com)
LLM_API_KEY         — ключ API для LLM (обязательно)
LLM_MODEL           — модель LLM (по умолчанию: gpt-4o-mini)
EMBEDDING_DIM       — размерность векторов (по умолчанию: 1536 для ada-002)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL