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

neo4j-graphrag-skill — скилл для Claude Code: GraphRAG на Neo4j

Скилл помогает собрать GraphRAG-пайплайн на Neo4j через пакет neo4j-graphrag: выбрать ретривер, написать Cypher-фрагмент и подключить LLM.

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

Что делает neo4j-graphrag-skill

Скилл ведёт агента по сборке поисковых пайплайнов на Neo4j с пакетом neo4j-graphrag версии 1.22.0 и выше. Внутри — таблица выбора ретривера: VectorRetriever для базового семантического поиска, HybridRetriever когда есть fulltext-индекс, VectorCypherRetriever и HybridCypherRetriever для обхода графа после векторного поиска, Text2CypherRetriever для запросов на естественном языке без эмбеддера и ToolsRetriever для маршрутизации между несколькими ретриверами силами LLM. Отдельно разобраны ретриверы с внешними векторными базами: Weaviate, Pinecone, Qdrant.

Дальше скилл показывает, как связать ретривер с LLM в пайплайн GraphRAG, как писать фрагмент retrieval_query с обязательным RETURN и переменной score, как создавать векторный и fulltext-индексы и ждать состояния ONLINE перед загрузкой данных. Провайдеры LLM перечислены все: OpenAI, Anthropic, Gemini/VertexAI, Bedrock, Cohere, Mistral, Ollama. Есть интеграция с LangChain и LlamaIndex, учёт расхода токенов и работа с клаузой SEARCH из Cypher 25.

Заранее понадобится Python 3.10 или новее и драйвер neo4j от 5.17.0. Пакет ставится с extras под нужного провайдера, например pip install neo4j-graphrag[openai], а ключ API берётся из переменной окружения. Конструирование графа знаний, обычный векторный поиск, алгоритмы GDS и долговременная память агента сюда не входят — под них в том же репозитории есть отдельные скиллы, и это повод не тащить лишнее в один запрос.

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

  • выбрать ретривер под задачу: векторный, гибридный или с обходом графа
  • написать retrieval_query и не забыть score в RETURN
  • создать векторный и fulltext-индекс и дождаться статуса ONLINE
  • связать ретривер с LLM в пайплайн GraphRAG
  • подключить внешнюю векторную базу вместо хранения эмбеддингов в Neo4j

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

  • Собери GraphRAG-пайплайн на Neo4j с HybridCypherRetriever и Anthropic, покажи код целиком
  • Напиши фрагмент retrieval_query, который после векторного поиска достаёт статью и упомянутые в ней организации
  • Переключи ретривер на Ollama, чтобы не ходить во внешний API

Как установить neo4j-graphrag-skill

1Через Skills CLI (Vercel)

npx skills add neo4j-contrib/neo4j-skills --skill neo4j-graphrag-skill -a claude-code

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

~/.claude/skills/neo4j-graphrag-skill/SKILL.md

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

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

Вопросы о neo4j-graphrag-skill

Как установить neo4j-graphrag-skill в Claude?

Выполните npx skills add neo4j-contrib/neo4j-skills --skill neo4j-graphrag-skill -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/neo4j-graphrag-skill/SKILL.md.

Что делает neo4j-graphrag-skill?

Проводит по сборке GraphRAG-пайплайна на Neo4j: помогает выбрать ретривер, написать Cypher-фрагмент для обхода графа, создать индексы и подключить LLM через пакет neo4j-graphrag.

Чем этот скилл отличается от соседних скиллов Neo4j?

Он не строит граф знаний из документов, не занимается обычным векторным поиском без обхода графа, не запускает алгоритмы GDS и не отвечает за память агента — для каждого из этих случаев в репозитории есть свой скилл.

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

SKILL.md · MIT
---
name: neo4j-graphrag-skill
description: Build GraphRAG retrieval pipelines on Neo4j using the neo4j-graphrag Python
  package (v1.22.0+). Covers retriever selection (VectorRetriever, HybridRetriever,
  VectorCypherRetriever, HybridCypherRetriever, Text2CypherRetriever, ToolsRetriever),
  external vector DB retrievers (Weaviate, Pinecone, Qdrant), retrieval_query Cypher
  fragments, query_params, filters, GraphRAG pipeline wiring (GraphRAG + LLM + prompt),
  all LLM providers (OpenAI, Anthropic, Gemini/VertexAI, Bedrock, Cohere, Mistral, Ollama),
  embedder setup, index creation, token usage tracking, Cypher 25 SEARCH clause, and
  LangChain/LlamaIndex integration. Does NOT handle KG construction — use
  neo4j-document-import-skill. Does NOT handle plain vector search — use
  neo4j-vector-index-skill. Does NOT handle GDS analytics — use neo4j-gds-skill.
  Does NOT handle agent memory — use neo4j-agent-memory-skill.
version: 1.1.1
status: active
allowed-tools: Bash WebFetch
---

# Neo4j GraphRAG Skill

## When to Use

- Building GraphRAG retrieval pipelines with `neo4j-graphrag` Python package
- Choosing between VectorRetriever, HybridRetriever, VectorCypherRetriever, HybridCypherRetriever
- Writing `retrieval_query` Cypher fragments for graph-augmented context
- Wiring retriever + LLM into a `GraphRAG` pipeline
- Using LLM-routed multi-retriever with `ToolsRetriever`
- Debugging low retrieval quality
- Integrating Neo4j with LangChain, LlamaIndex, or Haystack

## When NOT to Use

- **KG construction from documents** → `neo4j-document-import-skill`
- **Plain vector/semantic search without graph traversal** → `neo4j-vector-index-skill`
- **Hybrid search that combines vector with fulltext or other ranked sources** → `neo4j-vector-index-skill`
- **GDS algorithms (PageRank, Louvain, node embeddings)** → `neo4j-gds-skill`
- **Agent long-term memory** → `neo4j-agent-memory-skill`
- **Writing raw Cypher queries** → `neo4j-cypher-skill`

---

## Retriever Selection

```
Has fulltext index?
  YES → Hybrid variants (HybridRetriever / HybridCypherRetriever)
  NO  → Vector variants (VectorRetriever / VectorCypherRetriever)

Need graph traversal after vector lookup?
  YES → Cypher variants (VectorCypherRetriever / HybridCypherRetriever)
  NO  → plain variants

Natural-language-to-Cypher?        → Text2CypherRetriever (no embedder needed)
LLM should route between retrievers? → ToolsRetriever
Vectors stored in external DB?      → WeaviateNeo4jRetriever / PineconeNeo4jRetriever / QdrantNeo4jRetriever
```

| Retriever | Vector | Fulltext | Graph | Best For |
|---|:---:|:---:|:---:|---|
| `VectorRetriever` | ✓ | — | — | Baseline semantic search |
| `HybridRetriever` | ✓ | ✓ | — | Better recall, no graph expansion |
| `VectorCypherRetriever` | ✓ | — | ✓ | GraphRAG without fulltext |
| `HybridCypherRetriever` | ✓ | ✓ | ✓ | **Production GraphRAG — default** |
| `Text2CypherRetriever` | — | — | ✓ | NL→Cypher, no embedder |
| `ToolsRetriever` | varies | varies | varies | LLM-routed multi-retriever |
| `WeaviateNeo4jRetriever` | ✓ | — | ✓ | Vectors in Weaviate |
| `PineconeNeo4jRetriever` | ✓ | — | ✓ | Vectors in Pinecone |
| `QdrantNeo4jRetriever` | ✓ | — | ✓ | Vectors in Qdrant |

---

## Install

```bash
pip install neo4j-graphrag[openai]        # OpenAI LLM + embeddings
pip install neo4j-graphrag[anthropic]     # Anthropic Claude
pip install neo4j-graphrag[google]        # Vertex AI / Gemini
pip install neo4j-graphrag[bedrock]       # Amazon Bedrock (boto3)
pip install neo4j-graphrag[cohere]        # Cohere
pip install neo4j-graphrag[mistralai]     # MistralAI
pip install neo4j-graphrag[ollama]        # Ollama (local)
pip install neo4j-graphrag[weaviate]      # Weaviate external retriever
pip install neo4j-graphrag[pinecone]      # Pinecone external retriever
pip install neo4j-graphrag[qdrant]        # Qdrant external retriever
```

Requires: Python >= 3.10, `neo4j >= 5.17.0` (driver 6.x supported).

---

## Step 2 — Choose Retriever

Pick from [Retriever Selection](#retriever-selection) table above.

For custom Cypher hybrid search outside the `neo4j-graphrag` retriever APIs, use `neo4j-vector-index-skill`.

**Vector backend selection [v1.16+, auto]**: on Neo4j 2026.01+ all four vector/hybrid retrievers auto-route through the Cypher 25 `SEARCH ... WHERE` clause when filters are SEARCH-compatible (simple AND comparisons) and all filter props are declared in the index `WITH [n.prop]` list. `$or`, `$in`, `$like`, or undeclared props → automatic fallback to `db.index.vector.queryNodes()` procedure path (with warning log). Declare filterable properties via `filterable_properties=[...]` on `create_vector_index()`.

---

## Step 3 — Create Indexes (run once)

```cypher
// Vector index (all retrievers need this)
CREATE VECTOR INDEX chunk_embedding IF NOT EXISTS
FOR (c:Chunk) ON (c.embedding)
OPTIONS { indexConfig: {
  `vector.dimensions`: 1536,
  `vector.similarity_function`: 'cosine'
} };

// Fulltext index (Hybrid retrievers only)
CREATE FULLTEXT INDEX chunk_fulltext IF NOT EXISTS
FOR (c:Chunk) ON EACH [c.text];

// Confirm ONLINE before ingesting:
SHOW INDEXES YIELD name, state
WHERE name IN ['chunk_embedding', 'chunk_fulltext']
RETURN name, state;
// Both must show state = 'ONLINE'
```

If index not ONLINE: wait, poll every 5s. Do NOT start ingestion until ONLINE.

---

## Step 4 — Core Pattern (HybridCypherRetriever)

```python
from neo4j import GraphDatabase
from neo4j_graphrag.embeddings import OpenAIEmbeddings
from neo4j_graphrag.generation import GraphRAG
from neo4j_graphrag.llm import OpenAILLM
from neo4j_graphrag.retrievers import HybridCypherRetriever

driver = GraphDatabase.driver(NEO4J_URI, auth=(NEO4J_USERNAME, NEO4J_PASSWORD))
embedder = OpenAIEmbeddings(model="text-embedding-3-large")  # OPENAI_API_KEY from env

# retrieval_query: Cypher fragment executed after the vector/fulltext lookup.
# Auto-injected variables:  node  (matched node)   score  (similarity float)
# MUST include a RETURN clause.  score must appear in RETURN.
retrieval_query = """
MATCH (node)<-[:HAS_CHUNK]-(article:Article)
OPTIONAL MATCH (article)-[:MENTIONS]->(org:Organization)
RETURN node.text AS chunk_text,
       article.title AS article_title,
       collect(DISTINCT org.name) AS mentioned_organizations,
       score
"""

retriever = HybridCypherRetriever(
    driver=driver,
    vector_index_name="chunk_embedding",
    fulltext_index_name="chunk_fulltext",
    retrieval_query=retrieval_query,
    embedder=embedder,
)

llm = OpenAILLM(model_name="gpt-4.1", model_params={"temperature": 0})

rag = GraphRAG(
    retriever=retriever,
    llm=llm,
)

response = rag.search(
    query_text="Who does Alice work for?",
    retriever_config={"top_k": 5},
)
print(response.answer)
driver.close()
```

---

## VectorCypherRetriever

```python
from neo4j_graphrag.retrievers import VectorCypherRetriever

retriever = VectorCypherRetriever(
    driver=driver,
    index_name="chunk_embedding",
    retrieval_query=retrieval_query,
    embedder=embedder,
)

response = rag.search(
    query_text="What happened at Apple?",
    retriever_config={"top_k": 10},
)
```

---

## Text2CypherRetriever

Translates natural language to Cypher using an LLM. **No embedder required.**

> **Security (v1.16.0+):** Every LLM-generated Cypher is run through `EXPLAIN` first.
> Any statement classified as write/destructive raises `Text2CypherRetrievalError` instead
> of executing — prevents prompt-injection attacks.

```python
from neo4j_graphrag.retrievers import Text2CypherRetriever

retriever = Text2CypherRetriever(
    driver=driver,
    llm=OpenAILLM(model_name="gpt-4.1"),
    neo4j_schema=None,       # None = auto-fetch schema from DB; pass string to trim
    examples=[
        "Q: Who works at Neo4j? A: MATCH (p:Person)-[:WORKS_AT]->(c:Company {name:'Neo4j'}) RETURN p.name"
    ],
)
results = retriever.search(query_text="Which people work at Neo4j?")
```

---

## ToolsRetriever (LLM-routed multi-retriever)

```python
from neo4j_graphrag.retrievers import ToolsRetriever

tools_retriever = ToolsRetriever(
    llm=llm,
    retrievers=[vector_retriever, text2cypher_retriever],
)
# LLM decides which retriever(s) to invoke per query

# Convert any retriever to a standalone Tool:
tool = vector_retriever.convert_to_tool()
```

---

## Filters (pre-filter before vector search)

```python
results = retriever.search(
    query_text="quarterly earnings",
    top_k=5,
    filters={
        "date": {"$gte": "2024-01-01"},
        "source": {"$eq": "10-K"},
    },
)
# Operators: $eq  $ne  $lt  $lte  $gt  $gte  $between  $in  $like  $ilike
```

---

## query_params (parameterized retrieval_query)

```python
retrieval_query = """
MATCH (node)<-[:HAS_CHUNK]-(a:Article)-[:MENTIONS]->(org:Organization {name: $entity_name})
RETURN node.text, a.title, score
"""

# Pass via retriever.search directly:
results = retriever.search(
    query_text="What happened at Apple?",
    top_k=10,
    query_params={"entity_name": "Apple"},
)

# Or via GraphRAG.search:
response = rag.search(
    query_text="What happened at Apple?",
    retriever_config={"top_k": 10, "query_params": {"entity_name": "Apple"}},
)
```

---

## Cypher 25 SEARCH Clause (v1.16.0, Neo4j 2026.x+)

```python
# Enable SEARCH clause syntax in vector/hybrid retrievers (requires Neo4j 2026+)
retriever = VectorRetriever(
    driver=driver,
    index_name="chunk_embedding",
    embedder=embedder,
    use_search_clause=True,
)
```

Since v1.19, the vector and vector-Cypher retrievers automatically prefix SEARCH queries
with `CYPHER 25` and fall back to the procedure-based vector search when SEARCH is
unsupported or fails.

---

## Component Imports (v1.19 — breaking, preparing 2.0)

All components moved out of the `experimental` namespace. Old imports still work but emit a
DeprecationWarning and will be removed in 2.0:

```python
# v1.19+ — preferred
from neo4j_graphrag.components.text_splitters.fixed_size_splitter import FixedSizeSplitter

# deprecated (removed in 2.0)
from neo4j_graphrag.experimental.components.text_splitters.fixed_size_splitter import FixedSizeSplitter

# SimpleKGPipeline did NOT move — only valid path:
from neo4j_graphrag.experimental.pipeline.kg_builder import SimpleKGPipeline
```

`neo4j_graphrag.pipeline` (v1.21+) = new lazy dataflow DSL (`Pipeline`, `LocalInterpreter`, `Sink`), unrelated to the experimental task-graph `Pipeline` behind `SimpleKGPipeline`. `neo4j_graphrag.pipeline.kg_builder` does not exist → `ModuleNotFoundError`.

Also since v1.19: `Component` / `RunContext` / `TaskProgressNotifierProtocol` live in
`neo4j_graphrag.components.base`, and malformed components raise `ComponentDefinitionError`
(no longer `PipelineDefinitionError`).

---

## Dataflow Pipeline DSL + Observers (v1.21)

Lazy `neo4j_graphrag.pipeline.Pipeline` + `LocalInterpreter(observers=[...])`; `TextSplitter.iter_chunks()`. Full API → [references/pipeline-dsl.md](references/pipeline-dsl.md).

---

## ORDER BY on Cypher Retrievers (v1.16.0)

```python
results = retriever.search(
    query_text="...",
    top_k=10,
    order_by="score DESC",
)
```

If `neo4j_schema=None`: retriever fetches schema automatically. For large schemas, pass a trimmed string to reduce LLM prompt size.

**Destructive-query guard [v1.16+]**: `Text2CypherRetriever` runs `EXPLAIN` on the generated Cypher before execution and rejects queries that produce writes (`CREATE`, `MERGE`, `DELETE`, `SET`, `REMOVE`, etc.). LLM-generated writes are never executed against the graph.


---

## Custom Prompt Template

```python
from neo4j_graphrag.generation.prompts import RagTemplate

template = RagTemplate(
    template="""Answer using ONLY the context below.
Context: {context}
Question: {query_text}
Answer:""",
    expected_inputs=["context", "query_text"],
)

rag = GraphRAG(retriever=retriever, llm=llm, prompt_template=template)
```

---

## return_context and response_fallback

```python
response = rag.search(
    query_text="...",
    retriever_config={"top_k": 5},
    return_context=True,                        # include raw retrieved chunks
    response_fallback="No relevant context.",   # skip LLM call if retriever returns nothing
)
print(response.answer)
print(response.retriever_result)    # RawSearchResult when return_context=True
```

---

## Message History (multi-turn)

```python
from neo4j_graphrag.message_history import InMemoryMessageHistory

history = InMemoryMessageHistory()
r1 = rag.search(query_text="Who is Alice?", message_history=history)
r2 = rag.search(query_text="Where does she work?", message_history=history)
```

---

## External Retrievers, LLM + Embedder Providers

- Weaviate / Pinecone / Qdrant constructors → [references/retrievers.md](references/retrievers.md#external-vector-db-retrievers)
- LLM classes (`OpenAILLM`, `AnthropicLLM`, `GeminiLLM`, `VertexAILLM`, `BedrockLLM`, …), `base_url`, token usage, `close()`; embedder classes + dims → [references/providers.md](references/providers.md)

---

## Index Setup

```python
from neo4j_graphrag.indexes import create_vector_index

# Vector index — adjust dimensions to match your embedding model
create_vector_index(
    driver,
    name="chunk_embedding",
    label="Chunk",
    embedding_property="embedding",
    dimensions=1536,
    similarity_fn="cosine",       # or "euclidean"
)

# Fulltext index (run as Cypher)
# CREATE FULLTEXT INDEX chunk_fulltext IF NOT EXISTS
#   FOR (c:Chunk) ON EACH [c.text]
```

---

## Schema Inspection

```python
from neo4j_graphrag.schema import get_schema, get_structured_schema

schema_str = get_schema(driver, sample=1000)           # human-readable string
schema_dict = get_structured_schema(driver, sample=1000)  # dict with labels/rels/props
```

---

## Common Errors

| Error | Cause | Fix |
|---|---|---|
| `ModuleNotFoundError: neo4j_genai` | Old package name | `pip uninstall neo4j-genai && pip install neo4j-graphrag` |
| `retrieval_query` returns 0 rows | Missing `MATCH` or wrong rel direction | `EXPLAIN` the fragment; check `CALL db.schema.visualization()` |
| `KeyError: 'score'` in results | `retrieval_query` RETURN missing `score` | Add `score` to every `retrieval_query` RETURN clause |
| `score` variable not found | `score` re-declared in `retrieval_query` | Do **not** re-declare `score` — it is auto-injected |
| `Text2CypherRetrievalError` | LLM generated a write statement | Expected security behavior (v1.16.0+); refine prompt or schema |
| `TypeError: coroutine` | Missing `await` / `asyncio.run()` | Wrap async calls: `asyncio.run(pipeline.run_async(...))` |
| Empty results from HybridRetriever | Fulltext index not ONLINE | `SHOW INDEXES YIELD name, state WHERE state <> 'ONLINE'` |
| `VectorCypherRetriever` + `filters` raises "requires: node_label, embedding_node_property, …" (v1.19 name-mismatch bug) | `_fetch_index_infos` sets `self._embedding_node_property`, constructor sets `_node_embedding_property` | Shim after construction: `r._node_embedding_property = r._embedding_node_property or "embedding"`; append filter props to `r._filterable_properties` |
| Embedding dimension mismatch | Index dims ≠ model dims | Recreate index with correct `dimensions=` value |

---

## Verification Checklist

- [ ] `neo4j-graphrag` (not `neo4j-genai`) installed; `neo4j >= 5.17.0` driver
- [ ] Vector index ONLINE before ingesting embeddings or running retriever
- [ ] Fulltext index ONLINE if using Hybrid variants
- [ ] Embedding dims in `create_vector_index` match the embedder output
- [ ] `retrieval_query` returns `node` and `score` in RETURN (not re-declared)
- [ ] `query_params` passed via `retriever_config` on `rag.search()` (not on retriever constructor)
- [ ] API keys in env vars; never hardcoded
- [ ] `llm.close()` called when done to release resources

---

## References

Load on demand:
- [references/retrievers.md](references/retrievers.md) — per-retriever constructor params, external vector DB retrievers, `result_formatter`, pre-filter operators
- [references/providers.md](references/providers.md) — LLM + embedder provider classes, extras, defaults
- [references/pipeline-dsl.md](references/pipeline-dsl.md) — dataflow `Pipeline` DSL, `Source`/`Sink`, stage observers [v1.21]
- [references/kg-builder.md](references/kg-builder.md) — `SimpleKGPipeline` constructor, schema, splitters
- [references/knowledge-graph-construction.md](references/knowledge-graph-construction.md) — advanced KG pipeline customization
- [neo4j-graphrag package docs](https://neo4j.com/docs/neo4j-graphrag-python/current/)
- [RAG & GraphRAG user guide](https://neo4j.com/docs/neo4j-graphrag-python/current/user_guide_rag.html)
- [KG Builder user guide](https://neo4j.com/docs/neo4j-graphrag-python/current/user_guide_kg_builder.html)
- [GitHub — neo4j-graphrag-python](https://github.com/neo4j/neo4j-graphrag-python)
- [Examples folder](https://github.com/neo4j/neo4j-graphrag-python/tree/main/examples)

© neo4j-contrib · MIT · neo4j-contrib/neo4j-skills

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

Всё по теме «ИИ и ML» →
neo4j-docker-client-generator официальный github Создаёт клиентскую библиотеку Python для базы Neo4j по описанию задачи. Формирует структуру проекта с моделями Pydantic и тестами на pytest. 183установок spring-data-neo4j giuseppe-trisciuoglio Настраивает работу со Spring Data Neo4j в проектах на Spring Boot. Помогает писать Cypher-запросы, маппить графовые сущности и готовить тесты с Neo4j Harness. CX Codex +1 3 800установок veritasgraph bibinprathap Локальный GraphRAG-сервер: отвечает по графу знаний со ссылками на источники и честно говорит, когда доказательств не хватает. CX Codex +1 ★ 325звёзд репо llama-index sanjeed5 Правило Cursor с примерами кода для LlamaIndex: модульные функции, Workflow API, LlamaCloud и асинхронная обработка документов. ★ 3 579звёзд репо ai-engineer Seth Hobson Субагент проектирует LLM-приложения, RAG-системы и AI-агентов. Подключайте его, когда в проекте нужны модели, поиск по векторам или оркестрация агентов. CX Codex 7 687установок phoenix-evals официальный [email protected] Скилл помогает создавать и запускать оценщики для AI- и LLM-приложений с Phoenix. Пригодится для разбора ошибок, проверки RAG и оценки качества моделей. 1 000установок

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

neo4j-cypher-skill Помогает писать, оптимизировать и проверять запросы Cypher 25 для Neo4j 2025.x и 2026.x. Пригодится, когда нужно разобраться с медленным MATCH или собрать пакетную запись. CX Codex +1 1 500установок neo4j-modeling-skill Помогает проектировать, проверять и переделывать модель данных Neo4j: узлы, связи, свойства, ограничения. Пригодится, когда схема растёт и пора навести порядок. CX Codex +1 1 100установок neo4j-driver-python-skill Подсказывает агенту, как правильно писать Python-код под драйвер Neo4j v6: жизненный цикл драйвера, транзакции, async, батчинг через UNWIND. CX Codex +1 976установок neo4j-query-tuning-skill Скилл разбирает план выполнения Cypher-запроса в Neo4j, находит плохие операторы и подсказывает, что исправить. Пригодится, когда запрос тормозит, а из PROFILE непонятно почему. CX Codex +1 908установок neo4j-vector-index-skill Скилл для работы с векторными индексами Neo4j: создание индексов, поиск ближайших соседей, батч-обновление эмбеддингов. CX Codex +1 905установок neo4j-getting-started-skill Проводит от пустой папки до работающего приложения на Neo4j за восемь этапов: от проверки инструментов до сборки ноутбука или сервиса. CX Codex +1 888установок neo4j-gds-skill Настраивает работу с плагином Neo4j Graph Data Science через Cypher или Python-библиотеку. Пригодится при расчёте графовых алгоритмов и подготовке эмбеддингов. CX Codex +1 865установок neo4j-security-skill Скилл ведёт агента по управлению пользователями, ролями и привилегиями Neo4j через Cypher на системной базе. Пригодится, когда доступы нужно выдавать скриптом, а не руками в браузере. CX Codex +1 824установок

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

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