К основному содержанию
скилл CX Codex

surrealdb-vector — скилл для Claude Code: HNSW и KNN в SurrealDB

Помогает агенту писать запросы векторного поиска в SurrealDB: индексы HNSW, KNN-оператор, оценка похожести.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add surrealdb/agent-skills --skill surrealdb-vector -a claude-code
Открыть на GitHub

Что делает surrealdb-vector

Скилл даёт агенту готовые шаблоны SurrealQL для векторного поиска. Внутри — объявление индекса HNSW с параметрами DIMENSION, DIST, TYPE, EFC, M и M0, а ещё запросы с оператором <|K, EF|> и функцией vector::distance::knn(). Пригодится, когда вы собираете семантический поиск или RAG-конвейер поверх SurrealDB и не хотите каждый раз вспоминать синтаксис.

Есть пример полной таблицы: DEFINE TABLE OVERWRITE document SCHEMALESS, поле embedding типа array<float> и индекс с HNSW DIMENSION 384 DIST COSINE TYPE F32 EFC 150 M 12 M0 24. Для выдачи со порогом скилл показывает вложенный запрос, где считается score как 1 - vector::distance::knn(), а фильтр идёт по score >= $threshold с сортировкой по убыванию.

Размерность индекса должна совпадать с размерностью ваших эмбеддингов, иначе поиск не заработает. Скилл советует EF равным 40 для хорошей точности и 17, если важнее скорость. Тип F64 или F32 выбирайте под то, чем уже представлены векторы в базе.

Установка идёт через npx skills add с указанием агента.

Какие задачи решает

  • объявить HNSW-индекс под свои эмбеддинги
  • написать KNN-запрос с оператором <|K, EF|>
  • посчитать оценку похожести и отсечь слабые совпадения по порогу
  • подобрать EFC, M и M0 под нагрузку
  • собрать выдачу семантического поиска с сортировкой по score

Примеры запросов агенту

  • создай HNSW-индекс на таблице document по полю embedding, размерность 384, косинусное расстояние
  • напиши KNN-запрос: 10 ближайших векторов к $vector с оценкой похожести
  • добавь порог по score и отсортируй результаты по убыванию

Как установить surrealdb-vector

1Через Skills CLI (Vercel)

npx skills add surrealdb/agent-skills --skill surrealdb-vector -a claude-code

2Вручную: положить файлы

~/.claude/skills/surrealdb-vector/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/surrealdb-vector/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о surrealdb-vector

Как установить surrealdb-vector в Claude?

Выполните npx skills add surrealdb/agent-skills --skill surrealdb-vector -a claude-code. Файл скилла появится по пути ~/.claude/skills/surrealdb-vector/SKILL.md.

Что делает surrealdb-vector?

Подсказывает агенту синтаксис векторного поиска в SurrealDB: объявление индексов HNSW, KNN-запросы, подсчёт похожести и настройку параметров индекса.

Чем отличается от обычного поиска по таблице?

Здесь используются индексы HNSW и оператор <|K, EF|>, поэтому запрос идёт по расстоянию между векторами, а не по точному совпадению полей.

Исходный текст

SKILL.md · MIT
---
name: surrealdb-vector
description: "Vector search with SurrealDB using HNSW indexes, KNN queries, and similarity scoring. Use when creating vector indexes, querying vectors with KNN distance operators, building semantic search or RAG pipelines, tuning HNSW parameters (EFC, M, M0, distance function, type), or implementing recommendation systems with SurrealDB. Triggers: HNSW, vector, embedding, KNN, cosine, euclidean, semantic search, RAG, vector::distance."
metadata:
  author: surrealdb
  version: "0.1.0"
---

# SurrealDB Vector Search

## HNSW Index

Create a basic HNSW index:

```surql
DEFINE INDEX hnsw_idx ON pts FIELDS point HNSW DIMENSION 4;
```

With specific distance function and type:

```surql
DEFINE INDEX hnsw_idx ON pts FIELDS point HNSW DIMENSION 4 DIST EUCLIDEAN TYPE F64;
```

Available types: `F64`, `F32`, `I64`, `I32`, `I16`.

### Full Table Example

```surql
DEFINE TABLE OVERWRITE document SCHEMALESS;
DEFINE FIELD OVERWRITE embedding ON document TYPE array<float>;
DEFINE INDEX OVERWRITE hnsw_idx_document ON document
    FIELDS embedding
    HNSW DIMENSION 384
    DIST COSINE
    TYPE F32
    EFC 150 M 12 M0 24;
```

### HNSW Parameters

| Parameter | Description                                      |
| --------- | ------------------------------------------------ |
| DIMENSION | Vector dimensionality (must match your embeddings)|
| DIST      | Distance function: `COSINE`, `EUCLIDEAN`, etc.   |
| TYPE      | Numeric type: `F64`, `F32`, `I64`, `I32`, `I16`  |
| EFC       | Construction search effort (higher = better index)|
| M         | Max connections per node                          |
| M0        | Max connections at layer 0                        |

## Querying Vectors

The `<|K, EF|>` operator performs KNN search. `K` is the number of results,
`EF` is the search effort (higher = more accurate, slower).

Recommended effort values:
- `40` — default, good accuracy
- `17` — fast but may miss some results

### Basic KNN Query

```surql
SELECT
    *,
    vector::distance::knn() AS dist
FROM document
WHERE embedding <|10, 40|> $vector;
```

`vector::distance::knn()` uses the distance function defined by the index.

### Scored Results with Threshold

```surql
SELECT *, score
FROM (
    SELECT *, (1 - vector::distance::knn()) AS score
    FROM document
    WHERE embedding <|20, 40|> $vector
)
WHERE score >= $threshold
ORDER BY score DESC;
```

© surrealdb · MIT · surrealdb/agent-skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
neo4j-vector-index-skill neo4j-contrib Скилл для работы с векторными индексами Neo4j: создание индексов, поиск ближайших соседей, батч-обновление эмбеддингов. CX Codex +1 905установок vector-search ruvnet Выполняет векторный поиск по документам через HNSW или маршрутизирует запросы по 11 шаблонам в WASM. CX Codex +1 751установок vector-embed ruvnet Превращает строку текста или содержимое файла в 384-мерный вектор через ruvector и держит его в HNSW-индексе для поиска по смыслу. CX Codex +1 731установок qdrant-vector-search Orchestra Research Скилл помогает агенту проектировать поиск по векторам в Qdrant для RAG и семантического поиска. Пригодится для фильтрации по метаданным и масштабирования. CX Codex +1 969установок upstash-vector-db-skills gocallum Скилл ведёт агента по настройке Upstash Vector: создание индекса, загрузка документов, семантический поиск и неймспейсы. Пригодится, если делаете поиск по смыслу на Vercel. CX Codex +1 366установок vector-index-tuning Seth Hobson Скилл помогает настраивать векторные индексы под задержку, полноту поиска и расход памяти. Пригодится при работе с HNSW, квантизацией и масштабированием поиска. CX Codex 10 700установок

Из того же набора5

Спонсоры проекта

Компании, которые помогают держать аналитику открытой