内容
= 维格莱特图灵 ES — 社区版
维格莱特团队 <opensource@viglet.org>
:organization: 维格莱特图灵
:viglet-version: 2026.3
:icons: font
:git-project: openviglet/turing-ce
:toc: macro
:toclevels: 2
[.lead]
**开源企业搜索和生成式 AI 平台。** 面向搜索的语义导航、混合 BM25 + 向量排名、带有引用的 RAG 聊天、AI 代理和 MCP 工具 — 运行在 Apache Solr、Elasticsearch 或嵌入式 Lucene 上,完全在您自己的基础设施上。内容通过配套的 https://github.com/openviglet/dumont[Viglet Dumont] 连接器从 Adobe AEM、WordPress、数据库和文件到达图灵。
image:https://img.shields.io/github/v/release/openviglet/turing-ce?style=flat-square&logo=github&label=release&color=2563eb[最新版本,link="https://github.com/openviglet/turing-ce/releases/latest"]
image:https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square&logo=apache[许可证,link="LICENSE"]
image:https://img.shields.io/badge/ghcr.io-openviglet%2Fturing--ce-2563eb?style=flat-square&logo=docker&logoColor=white[容器镜像,link="https://github.com/orgs/openviglet/packages/container/package/turing-ce"]
image:https://img.shields.io/badge/Java-21-orange?style=flat-square&logo=openjdk&logoColor=white[Java 21]
image:https://img.shields.io/badge/Spring%20Boot-4-6DB33F?style=flat-square&logo=springboot&logoColor=white[Spring Boot 4]
image:https://img.shields.io/badge/React-19-61DAFB?style=flat-square&logo=react&logoColor=black[React 19]
image:https://img.shields.io/badge/docs-docs.viglet.org-brightgreen?style=flat-square&logo=readthedocs&logoColor=white[文档,link="https://docs.viglet.org/turing/"]
image:https://img.shields.io/badge/discussions-join-8b5cf6?style=flat-square&logo=github[讨论,link="https://github.com/openviglet/turing-ce/discussions"]
image::.github/screenshot-console.png[维格莱特图灵 ES 管理控制台,align="center"]
toc::[]
== 60 秒试用
[source,bash]
----
docker run -p 2700:2700 -e TURING_ADMIN_PASSWORD=admin \
ghcr.io/openviglet/turing-ce:latest
----
然后打开 **http://localhost:2700/console** 并使用 `admin` / `admin` 登录。
无需外部搜索引擎、无需向量数据库、无需 API 密钥即可启动 —
图灵自带嵌入式 Lucene 索引,完全离线工作,直到您决定
连接 Solr、Elasticsearch 或 LLM。
[TIP]
====
**获取内容。** 图灵索引您发布到其索引 API 的任何内容,因此
您可以直接从自己的代码推送文档。对于从
Adobe AEM、WordPress、数据库、文件系统和网络爬虫中进行开箱即用的提取,运行
https://github.com/openviglet/dumont[**维格莱特杜蒙特**] — 配套数据
提取平台,爬取这些来源并馈送到此索引。演练:
https://turing.viglet.org/aem-search[适用于 Adobe AEM 的企业搜索]。
====
== 为什么选择图灵 ES?
大多数超出 CMS 内置搜索的团队面临相同的选择:重新构建
内部搜索,或将内容发送到托管供应商。图灵是第三个
选项 — 一个完整的、自托管的搜索平台,您可以自己运行。
[cols="1,1,1",options="header"]
|===
| | **图灵 ES(社区)** | 主机搜索 SaaS
| 内容存储位置
| 您的服务器 — 索引、嵌入和查询日志永远不会离开
| 供应商云
| 搜索后端
| 可插拔:Solr、Elasticsearch 或嵌入式 Lucene
| 专有,固定
| RAG 的 LLM
| 您可以选择 — OpenAI、Anthropic、Gemini、Mistral、Cohere、Bedrock 或本地 Ollama
| 供应商模型,或无
| 成本模型
| Apache 2.0 — 无需按查询、记录或席位计费
| 按记录/查询/席位计费
| 可扩展性
| 源代码公开;自定义搜索引擎插件、代理工具和 MCP 服务器
| 插件市场
| 受监管/隔离部署
| 支持 — 完全离线运行
| 通常不是选项
|===
== 图灵 ES 有什么功能?
[cols="1,3",options="header"]
|===
| 功能 | 描述
| **语义导航**
| 面向搜索的导航、聚光灯、定位规则、自动完成、排名规则、多语言
| **混合排名**
| BM25 关键词 + kNN 向量检索与 Reciprocal Rank Fusion 融合,加上可插拔的重排器
| **生成式 AI(RAG)**
| 流式 LLM 答案基于索引内容,带有内联源引用
| **AI 代理**
| 具有自己的 LLM、原生提供者工具(网络搜索、代码执行)和 MCP 服务器的助手
| **多引擎**
| 一个 API 支持 Apache Solr、Elasticsearch 或嵌入式 Apache Lucene — 无需重写即可切换
| **索引 API**
| 通过 REST/JSON 推送文档,支持单条或批量/批次馈送,带有版本字段清单(schema-as-code)
| **连接器**
| Adobe AEM、WordPress、数据库、文件系统和网络爬虫由 https://github.com/openviglet/dumont[**维格莱特杜蒙特**] 处理,这是馈送到此索引的配套提取平台
| **文件解析**
| Apache Tika 提取用于上传到图灵或在聊天中附加的 PDF 和 Office 文件
| **管理控制台**
| 用于站点、字段、方面、代理、提示和分析的 React 19 控制台
| **API 和 SDK**
| REST、GraphQL、SSE 流式传输 — Java SDK(Maven Central)和 JS/TS SDK(npm)
|===
== 架构概览
图灵是搜索和 AI 层。内容来源的提取是一个单独的
可选产品 — **维格莱特杜蒙特** — 因此,您也可以直接从
您的应用程序将索引。
[source]
----
内容来源 维格莱特杜蒙特 维格莱特图灵 ES 您的应用程序
┌─────────────────┐ ┌───────────────┐ ┌──────────────────────┐ ┌───────────────┐
│ Adobe AEM │ │ 连接器 │ │ 索引 API │ │ 站点搜索 │
│ WordPress │─────▶│ 提取 │─────▶│ 语义导航 │───▶│ RAG 聊天 │
│ 数据库 │ │ 调度 │ │ 混合 BM25 + kNN │ │ 管理控制台 │
│ 文件系统 │ │ 增量 │ │ RAG · 代理 · MCP │ │ 您自己的应用程序 │
│ 网络爬虫 │ └───────────────┘ └──────────┬───────────┘ │ REST /GraphQL │
└─────────────────┘ │ └───────────────┘
│
您自己的应用程序 ──────── POST /api/sn/import ─────────────┤
(完全跳过杜蒙特) │
┌──────────────┴──────────────┐
│ Apache Solr · Elasticsearch │
│ · 嵌入式 Apache Lucene │
└─────────────────────────────┘
----
* **https://github.com/openviglet/dumont[Viglet Dumont]** — 连接器、爬虫、调度程序和增量检测上述来源(这里有 AEM 和 WordPress 集成)。
* **维格莱特图灵 ES** (此仓库)— 索引、排名、分类、RAG、代理和管理控制台。
== 安装
=== Docker Compose(全栈)
[source,bash]
----
git clone https://github.com/openviglet/turing-ce.git
cd turing-ce
docker compose up -d
----
=== 从源代码构建
需要 **Java 21+** 和 **Maven 3.6+** (包含 `./mvnw` 包装器)。
[source,bash]
----
git clone https://github.com/openviglet/turing-ce.git
cd turing-ce
./mvnw clean install
java -jar turing-app/target/viglet-turing.jar
----
=== Kubernetes
清单位于 link:k8s/[`k8s/`];单个文件的部署在 link:k8s.yaml[`k8s.yaml`] 中。
打包安装程序(Windows `.exe`、`.zip`、Linux AppImage)附在每个
https://github.com/openviglet/turing-ce/releases[版本]。
== 代码示例
=== REST API
[source,bash]
----
# 面向搜索的导航
curl "http://localhost:2700/api/sn/sample-site/search?q=enterprise+search&rows=10&_setlocale=en_US"
# 自动完成
curl "http://localhost:2700/api/sn/sample-site/ac?q=enterp&_setlocale=en_US"
# RAG 聊天(SSE 流,带有引用的答案)
curl "http://localhost:2700/api/sn/sample-site/chat?q=What+is+enterprise+search"
----
=== JavaScript / TypeScript
[source,typescript]
----
import { TurSNSiteSearchService } from '@viglet/turing-react-sdk';
const search = new TurSNSiteSearchService('http://localhost:2700');
const results = await search.search('sample-site', {
q: 'machine learning', rows: 10, localeRequest: 'en_US'
});
results.results?.document?.forEach(doc => console.log(doc.fields?.title));
----
纯 vanilla-JS 构建(`@viglet/turing-sdk`)也发布为
普通 `<script>` 标签和 Adobe Edge Delivery Services 块。
=== Java
[source,java]
----
HttpTurSNServer server = new HttpTurSNServer("http://localhost:2700/api/sn/MySite");
TurSNQuery query = new TurSNQuery();
query.setQuery("artificial intelligence");
query.setRows(10);
QueryTurSNResponse response = server.query(query);
response.getResults().getDocument().forEach(doc ->
System.out.println(doc.getFields().get("title"))
);
----
=== GraphQL
[source,graphql]
----
query {
siteSearch(
siteName: "sample-site"
searchParams: { q: "technology", rows: 10, p: 1 }
locale: "en_US"
) {
queryContext { count, responseTime }
results { document { fields { title, text, url } } }
}
}
----
http://localhost:2700/graphiql 上的交互式 GraphiQL IDE。
== 项目结构
[source]
----
turing-ce/
├── turing-app/ # Spring Boot 4 后端(Java 21)
├── frontend/ # pnpm + Turborepo monorepo
│ ├── apps/turing-app/ # React 19 + TypeScript 管理控制台(Vite,shadcn/ui)
│ ├── apps/marketplace/ # 示例应用程序
│ └── packages/ # SDK:react-sdk、sdk(vanilla JS)、react-ui、shared-types
├── turing-commons/ # 共享库
├── turing-spring/ # 共享 Spring 库
├── turing-java-sdk/ # Java SDK
├── turing-marketplace/ # 市场包
├── turing-utils/ # 实用工具
├── containers/ # 容器构建资产
├── k8s/ # Kubernetes 清单
└── docker-compose.yaml # Docker Compose 栈
----
== 文档
[cols="1,2"]
|===
| https://docs.viglet.org/turing/[docs.viglet.org/turing] | 架构、配置、连接器、管理指南
| https://turing.viglet.org/aem-search[AEM 搜索指南] | 将企业搜索 + AI 添加到 Adobe Experience Manager
| link:docs/RAG_HYBRID_CONFIG.md[混合 RAG 配置] | 调整 BM25 + 向量检索和重排器
| link:docs/MULTI_TENANCY.md[多租户] | 为多个租户运行一个实例
| https://github.com/orgs/openviglet/packages/container/package/turing-ce[GHCR 容器] | `ghcr.io/openviglet/turing-ce`
| link:CHANGELOG.md[变更日志] | 每个版本中发布的内容
|===
== 贡献
贡献真诚欢迎 — 错误报告、文档、搜索引擎插件、
代理工具和代码。
* 🐛 **发现错误?** https://github.com/{git-project}/issues/new?template=bug_report.md[打开问题]
* 💡 **有想法?** https://github.com/{git-project}/issues/new?template=feature_request.md[请求功能]
* 💬 **问题或想法?** https://github.com/{git-project}/discussions[加入讨论]
* 🚀 **想编码?** 阅读 link:CONTRIBUTING.md[CONTRIBUTING.md] 并打开拉取请求
[NOTE]
.关于此存储库的历史
====
`turing-ce` 是 **公共分发** 维格莱特图灵 ES:开发
发生在内部存储库中,每个版本作为一个干净的、
审查的快照提交到此处。那就是为什么日志显示每个版本的一个提交
而不是按日期的历史记录。
**它不会改变您如何贡献。** 问题和拉取请求在此处打开、
审查和讨论。接受的更改会集成到上游并随下一个版本发布,
您的作者身份和签名在 PR 记录中保留。每个版本提交都包含完整的更改列表,
并且 https://github.com/{git-project}/releases[版本说明] 将其详细说明。
====
== 社区和支持
* 💬 https://github.com/{git-project}/discussions[GitHub 讨论] — 问题、想法、展示和分享
* 🔒 link:SECURITY.md[安全策略] — 请私下报告漏洞
* 🤝 link:CODE_OF_CONDUCT.md[行为准则]
* 🆘 link:SUPPORT.md[支持选项]
如果图灵 ES 对您有帮助,**⭐ 给此存储库加星** 真诚地帮助
其他团队发现它。
== 许可证
Apache License 2.0 — 请参阅 link:LICENSE[LICENSE]。您可以商业使用、修改和部署
图灵 ES,包括在闭源产品中。
[.text-center]
由 https://viglet.org[维格莱特] 团队构建 · https://turing.viglet.org[turing.viglet.org]
连接信息
猜你喜欢
暂无推荐服务器