neo4j-genai-plugin-skill

Generate embeddings, completions, and structured output from LLMs directly inside Cypher queries.

Updated Aug 25, 2026
One-click install
npx skills add https://github.com/cardox6/steuer-graph --skill neo4j-genai-plugin-skill-cardox6
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: neo4j-genai-plugin-skill
Source: https://github.com/cardox6/steuer-graph/tree/main/.agents/skills/neo4j-genai-plugin-skill
Command: npx skills add https://github.com/cardox6/steuer-graph --skill neo4j-genai-plugin-skill-cardox6

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Calling LLMs for embeddings, completions, or structured extraction normally requires external Python pipelines and glue code. This Skill lets you invoke OpenAI, Azure OpenAI, VertexAI, and Amazon Bedrock models directly inside Cypher via the Neo4j GenAI Plugin's ai.text.* functions, keeping GraphRAG workflows entirely in the database. ## Core Features & Use Cases - In-Cypher Embeddings: Generate single or batch vector embeddings with ai.text.embed() and ai.text.embedBatch(), storing results directly on nodes. - Completions & Structured Output: Run ai.text.completion(), aggregate summaries over grouped rows, and extract JSON Schema-validated maps with ai.text.structuredCompletion(). - Chat & Tokenization: Maintain stateful chat sessions via chatId and chunk text by token limits without external dependencies. - Use Case: Build a pure-Cypher GraphRAG query that embeds a user question, runs vector search, traverses related articles, and returns an LLM-generated answer in a single statement. ## Quick Start Ask your assistant to write a Cypher query using ai.text.embed to generate embeddings for Chunk nodes missing an embedding property, using the OpenAI provider with the API key passed as a parameter.

Frequently Asked Questions about neo4j-genai-plugin-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate embeddings in Cypher without Python?▼

Use ai.text.embed() with a provider string and configuration map containing your token and model, prefixed with CYPHER 25. For bulk embedding, call ai.text.embedBatch() and write results back to nodes inside IN TRANSACTIONS OF 500 ROWS batches.

How to get structured JSON output from an LLM in Neo4j Cypher?▼

Use ai.text.structuredCompletion() with a JSON Schema defining properties, required fields, and additionalProperties set to false. It returns a MAP you can store directly as node properties or use downstream in the same query.

Which LLM providers does the Neo4j GenAI Plugin support?▼

The plugin supports openai, azure-openai, vertexai, bedrock-titan for embeddings, and bedrock-nova for completions. Provider strings are lowercase and case-sensitive; run ai.text.embed.providers() or ai.text.completion.providers() to verify availability at runtime.

Why does ai.text.embed return an unknown function error?▼

The error occurs when the CYPHER 25 prefix is missing or the GenAI plugin is not installed. Add CYPHER 25 before your query or set the database default language, and confirm the plugin JAR is in the plugins directory or enabled on Aura.

Can I use ai.text.chat with VertexAI or Bedrock?▼

No, ai.text.chat() is only supported on the openai and azure-openai providers. For VertexAI or Bedrock conversational workflows, use ai.text.completion() with a chatHistory configuration list instead.

What replaced the deprecated genai.vector.encode function?▼

genai.vector.encode() is replaced by ai.text.embed(), genai.vector.encodeBatch() by CALL ai.text.embedBatch(), and genai.vector.listEncodingProviders() by CALL ai.text.embed.providers(). The new functions require Neo4j 2025.12+ and CYPHER 25.