GG

graphersal/graphersal

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

19 stars 1 forks 质量 68 趋势 30Apache-2.0

内存图数据库和 Rust 中的 Gremlin 遍历引擎:浏览器游乐场、CLI、用于 AI 代理的 MCP 服务器、持久存储、Python 绑定。

概览

AI的移动速度比周围的工具快。我们打造Graphersal,是为了让你不必等待它们:一个轻量级、可嵌入的图引擎,你可以把它转化为AI解决方案所需的任何东西——应用内的库、代理工具,或者带有你自己功能的完整服务器。 它开箱即用:浏览器界面、AI代理的MCP端点、只需用通俗语言询问图表的AI聊天,它就能帮你写出和运行查询,具备持久存储和事务功能,以及运行你未编写的查询的安全性——权限、只读访问、资源限制和超时。你从一个可用的系统开始,而不是从一堆组件串联起来开始。 把嵌入存储在图旁边,并在与行进图相同的查询中搜索。向量本身就是一个值类型(f32,或量化为f16、i8或比特以节省内存),在模式中声明,精确地用最近()和相似度()(余弦、点积、L2、汉明)搜索。

概述(AI 翻译)

内存中的图数据库和Rust遍历引擎,通过Gremlin查询,向量 搜索GraphRAG。

操场****书 · 步调参考 · API 文档 · GitHub Pages 上的镜像

为什么是格拉珀萨尔

人工智能的速度比周围的工具快。我们打造了Graphersal,让你不必等待它们:a 轻量级、可嵌入的图引擎,你可以转化为你AI解决方案所需的任何内容——一个库 在你的应用里,比如为你的代理准备一个工具,或者一个带有你自己功能的完整服务器。

它开箱即用:浏览器界面、AI代理的MCP端点、一个AI聊天,你只需 用通俗易懂的语言询问你的图表,它会帮你写出并运行查询,提供持久存储 事务,以及运行未编写查询的安全性——权限、只读访问, 资源限制和超时。你从一个可用的系统开始,而不是从组件列表开始 线缆连接起来。

向量搜索与 GraphRAG

把嵌入存储在图表旁边,并在与其行进的查询中搜索。A vector 是一个独立的值类型([f32,或量化为 f16、i8 或 bit] 以节省内存),

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Graphersal

An in-memory graph database and traversal engine in Rust, queried with GQL, the ISO standard graph query language, and with Gremlin, with vector search for GraphRAG.

Playground · Book · Step reference · API docs · Mirror on GitHub Pages

Why Graphersal

AI moves faster than the tools around it. We built Graphersal so you don’t have to wait for them: a lightweight, embeddable graph engine you can turn into whatever your AI solution needs — a library inside your application, a tool for your agents, or a full server with your own features on top.

It works out of the box: a browser UI, an MCP endpoint for AI agents, an AI chat where you simply ask about your graph in plain language and it writes and runs the queries for you, durable storage and transactions, and the safety to run queries you did not write — permissions, read-only access, resource limits and timeouts. You start with a working system, not with a list of components to wire together.

Vector search and GraphRAG

Store your embeddings next to the graph and search them in the same query that walks it. A vector is a value type of its own (f32, or quantized to f16, i8 or bit to save memory), declared in the schema, searched exactly with nearest() and similarity() (cosine, dot product, L2, Hamming). GraphRAG in one traversal: find the passages nearest to the question, then follow the edges to what the graph knows about them, and hand that context to your language model.

// "What should I cook for my cat?" ~ the question's embedding
g.v().has_label("doc").nearest("emb", question, 2)
  .project("title", "author", "topic")
    .by("title")
    .by(__.in("wrote").values("name"))
    .by(__.out("about").values("name"))
在 GitHub 查看完整 README

安装

docker run --rm -p 127.0.0.1:8080:8080 -v "$PWD/my.gstore:/data/graph.gstore:ro" graphersal
新手?先看 mcpskill.org 教程 →