
turing
:sparkles: :dna: Turing ES - Enterprise Search, Semantic Navigation, Chatbot using Search Engine and Generative AI.
Stars: 64

Viglet Turing is an enterprise search platform that combines semantic navigation, chatbots, and generative artificial intelligence. It offers integrations for authentication APIs, OCR, content indexing, CMS connectors, web crawling, database connectors, and file system indexing.
README:
= 🔍 Viglet Turing ES Viglet Team [email protected] :organization: Viglet Turing :viglet-version: 2025.3 :icons: font
[.lead] Enterprise Search Platform with Semantic Navigation, Chatbots, and Generative AI
[.badges] image:https://img.shields.io/badge/Download-Release%20{viglet-version}-blue?style=for-the-badge&logo=OpenJDK[link="https://viglet.org/turing/download/"] image:https://img.shields.io/github/license/openturing/turing.svg?style=for-the-badge&logo=Apache["License"] image:https://img.shields.io/github/last-commit/openturing/turing.svg?style=for-the-badge&logo=java)[GitHub last commit] image:https://img.shields.io/github/actions/workflow/status/openturing/turing/build.yml?branch=2025.3&style=for-the-badge&logo=GitHub[link="https://github.com/openviglet/turing/actions/workflows/build.yml"] image:https://img.shields.io/badge/Sonar-Code%20Quality-brightgreen?style=for-the-badge&logo=SonarCloud[link="https://sonarcloud.io/project/overview?id=viglet_turing"] image:https://img.shields.io/badge/Javadoc-Release%20{viglet-version}-brightgreen?style=for-the-badge&logo=OpenJDK[link="https://turing.viglet.com/latest/javadoc/"]
== 🚀 What is Viglet Turing?
Viglet Turing (https://viglet.org/turing/) is a powerful enterprise search platform that revolutionizes how organizations discover, search, and interact with their content. By combining cutting-edge technologies like semantic navigation, intelligent chatbots, and generative artificial intelligence, Turing provides a comprehensive solution for modern enterprise search needs.
[.features-grid] === ⭐ Key Features
[cols="1,3", options="header"] |=== | Feature | Description | 🧠 Semantic Navigation | Advanced search with intelligent content understanding and contextual results | 🤖 AI-Powered Chatbots | Interactive conversational search with natural language processing | ✨ Generative AI Integration | Leverage modern AI models for enhanced search experiences | 🔗 Enterprise Connectors | Seamless integration with CMS platforms, databases, and file systems | 🌐 Multi-Source Indexing | Index content from websites, documents, databases, and more | 📊 Real-time Analytics | Monitor search performance and user behavior | 🔒 Enterprise Security | Built-in authentication and authorization capabilities | 📱 Modern UI/UX | React-based responsive interface with customizable themes |===
== 🏗️ Architecture & Components
Viglet Turing is built with a modern, scalable architecture supporting multiple deployment scenarios:
=== Core Components
- Turing App: Main Spring Boot application with REST APIs
- Turing UI: Modern React-based user interface
- Search Engine: Apache Solr integration with intelligent indexing
- Database Layer: Support for H2, MariaDB, and other databases
- Message Queue: Apache Artemis for asynchronous processing
=== Integration Ecosystem
==== 🔌 Content Sources
- CMS Connectors: Adobe Experience Manager (AEM), WordPress, and more
- Web Crawler: Automated website content indexing
- Database Connectors: MySQL, PostgreSQL, Oracle, SQL Server
- File System: Local and network file indexing
==== 🛠️ Developer Tools
- Java SDK: Full-featured client library for Java applications
- JavaScript SDK: TypeScript-ready SDK for web applications
- REST APIs: Comprehensive RESTful API for all operations
== 🚦 Quick Start
=== Prerequisites
- Java 21+ ☕
- Maven 3.6+ 📦
- Docker & Docker Compose (recommended) 🐳
=== Option 1: Docker Compose (Recommended)
git clone https://github.com/openviglet/turing.git cd turing
docker-compose up -d
Access Turing at http://localhost:2700
=== Option 2: Local Development
git clone https://github.com/openviglet/turing.git cd turing
./mvnw clean install
./mvnw spring-boot:run -pl turing-app
Access Turing at http://localhost:2700
=== 🎯 First Steps After Installation
- Access the Console: Open http://localhost:2700/console
- Create a Site: Set up your first search site
- Index Content: Use connectors or APIs to add your content
- Start Searching: Experience semantic search with your data
== 💻 Code Examples
=== Java SDK Example
import com.viglet.turing.client.sn.HttpTurSNServer; import com.viglet.turing.client.sn.TurSNQuery; import com.viglet.turing.client.sn.response.QueryTurSNResponse;
// Connect to Turing server HttpTurSNServer turSNServer = new HttpTurSNServer("http://localhost:2700/api/sn/MySite");
// Create search query TurSNQuery query = new TurSNQuery(); query.setQuery("artificial intelligence"); query.setRows(10); query.setPageNumber(1);
// Execute search QueryTurSNResponse response = turSNServer.query(query); response.getResults().getDocument().forEach(doc -> { System.out.println("Title: " + doc.getFields().get("title")); System.out.println("Content: " + doc.getFields().get("content")); });
=== JavaScript SDK Example
import { TurSNSiteSearchService } from '@openviglet/turing-js-sdk';
// Initialize search service const searchService = new TurSNSiteSearchService('http://localhost:2700');
// Perform search const results = await searchService.search('sample-site', { q: 'machine learning', rows: 10, currentPage: 1, localeRequest: 'en_US', });
console.log(Found ${results.queryContext?.count} results
);
results.results?.document?.forEach(doc => {
console.log(Title: ${doc.fields?.title}
);
console.log(Description: ${doc.fields?.description}
);
});
=== REST API Example
curl -X GET "http://localhost:2700/api/sn/sample-site/search?q=artificial%20intelligence&rows=10&_setlocale=en_US"
=== GraphQL API Example
=== API Endpoints
-
GraphQL API:
POST /graphql
-
GraphiQL Interface:
GET /graphiql
=== Example Usage
query { siteSearch( siteName: "sample-site" searchParams: { q: "technology" rows: 10 p: 1 sort: "relevance" } locale: "en_US" ) { queryContext { count responseTime } results { numFound document { fields { title text url } } } } }
=== Integration Benefits
- Type Safety: Strong typing prevents runtime errors
- Flexible Queries: Clients can request exactly the data they need
- Single Endpoint: All search operations through one GraphQL endpoint
- Backward Compatibility: Existing REST API remains unchanged
- Interactive Development: GraphiQL interface for query development
- Consistent Results: Uses same search engine and processing as REST API
== 🛠️ Development Setup
=== Building from Source
git clone https://github.com/openviglet/turing.git cd turing
./mvnw clean install
./mvnw clean install -pl turing-app # Main application ./mvnw clean install -pl turing-java-sdk # Java SDK cd turing-js-sdk/js-sdk-lib; npm run build # JavaScript SDK
=== Running Tests
./mvnw test
=== Development Environment
docker-compose -f docker-compose.dev.yml up -d
== 🤝 Community & Contributing
=== Getting Involved
We welcome contributions from developers of all skill levels! Here's how you can get started:
- 🐛 Report Issues: Found a bug? Create an issue on GitHub
- 💡 Feature Requests: Have an idea? We'd love to hear it
- 📖 Documentation: Help improve our docs and examples
- 🔧 Code Contributions: Submit pull requests for bug fixes and features
=== Contribution Guidelines
- Review our link:CONTRIBUTING.md[Contributing Guide]
- Follow our link:CODE_OF_CONDUCT.md[Code of Conduct]
- Check out issues labeled https://github.com/openviglet/turing/labels/good%20first%20issue["good first issue"] for beginners
=== Connect with Us
- 🌐 Website: https://viglet.org/turing/
- 🐛 Issues: https://github.com/openviglet/turing/issues
- 📋 Discussions: https://github.com/openviglet/turing/discussions
== 📚 Documentation & Resources
=== Essential Links
- 📖 Full Documentation: https://docs.viglet.org/turing/
- 💾 Downloads: https://viglet.org/turing/download/
- 🔧 API Documentation: https://turing.viglet.com/latest/javadoc/
=== SDK Documentation
- Java SDK: https://openturing.github.io/turing-java-sdk/
- JavaScript SDK: link:turing-js-sdk/js-sdk-lib/README.md[JS SDK Guide]
== 🐳 Deployment Options
=== Docker Production Setup
docker-compose -f docker-compose.yml up -d
=== Traditional Deployment
./mvnw clean package -pl turing-app
== 🆘 Troubleshooting
=== Common Issues
Q: Search results are empty A: Ensure your content is properly indexed and the search site is configured correctly.
Q: Docker containers won't start A: Check that ports 2700, 8983, and 3306 are not in use by other applications.
Q: Build fails with Java version error
A: Ensure you're using Java 21 or higher. Check with java -version
.
=== Getting Help
- 📋 Check our https://github.com/openviglet/turing/discussions[GitHub Discussions]
- 🐛 Report bugs via https://github.com/openviglet/turing/issues[GitHub Issues]
- 📧 Email us at [email protected]
== 📄 License
This project is licensed under the Apache License 2.0 - see the link:LICENSE[LICENSE] file for details.
== 🌟 Star History
If you find Viglet Turing useful, please consider giving us a star on GitHub! ⭐
[.text-center] Built with ❤️ by the Viglet Team
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for turing
Similar Open Source Tools

turing
Viglet Turing is an enterprise search platform that combines semantic navigation, chatbots, and generative artificial intelligence. It offers integrations for authentication APIs, OCR, content indexing, CMS connectors, web crawling, database connectors, and file system indexing.

mcp
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to large language models (LLMs). It allows AI applications to connect with various data sources and tools in a consistent manner, enhancing their capabilities and flexibility. This repository contains core libraries, test frameworks, engineering systems, pipelines, and tooling for Microsoft MCP Server contributors to unify engineering investments and reduce duplication and divergence. For more details, visit the official MCP website.

AutoAgents
AutoAgents is a cutting-edge multi-agent framework built in Rust that enables the creation of intelligent, autonomous agents powered by Large Language Models (LLMs) and Ractor. Designed for performance, safety, and scalability. AutoAgents provides a robust foundation for building complex AI systems that can reason, act, and collaborate. With AutoAgents you can create Cloud Native Agents, Edge Native Agents and Hybrid Models as well. It is so extensible that other ML Models can be used to create complex pipelines using Actor Framework.

aegra
Aegra is a self-hosted AI agent backend platform that provides LangGraph power without vendor lock-in. Built with FastAPI + PostgreSQL, it offers complete control over agent orchestration for teams looking to escape vendor lock-in, meet data sovereignty requirements, enable custom deployments, and optimize costs. Aegra is Agent Protocol compliant and perfect for teams seeking a free, self-hosted alternative to LangGraph Platform with zero lock-in, full control, and compatibility with existing LangGraph Client SDK.

smriti-ai
Smriti AI is an intelligent learning assistant that helps users organize, understand, and retain study materials. It transforms passive content into active learning tools by capturing resources, converting them into summaries and quizzes, providing spaced revision with reminders, tracking progress, and offering a multimodal interface. Suitable for students, self-learners, professionals, educators, and coaching institutes.

human
AI-powered 3D Face Detection & Rotation Tracking, Face Description & Recognition, Body Pose Tracking, 3D Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction, Gaze Tracking, Gesture Recognition, Body Segmentation

RSTGameTranslation
RSTGameTranslation is a tool designed for translating game text into multiple languages efficiently. It provides a user-friendly interface for game developers to easily manage and localize their game content. With RSTGameTranslation, developers can streamline the translation process, ensuring consistency and accuracy across different language versions of their games. The tool supports various file formats commonly used in game development, making it versatile and adaptable to different project requirements. Whether you are working on a small indie game or a large-scale production, RSTGameTranslation can help you reach a global audience by making localization a seamless and hassle-free experience.

Rankify
Rankify is a Python toolkit designed for unified retrieval, re-ranking, and retrieval-augmented generation (RAG) research. It integrates 40 pre-retrieved benchmark datasets and supports 7 retrieval techniques, 24 state-of-the-art re-ranking models, and multiple RAG methods. Rankify provides a modular and extensible framework, enabling seamless experimentation and benchmarking across retrieval pipelines. It offers comprehensive documentation, open-source implementation, and pre-built evaluation tools, making it a powerful resource for researchers and practitioners in the field.

Avalonia-Assistant
Avalonia-Assistant is an open-source desktop intelligent assistant that aims to provide a user-friendly interactive experience based on the Avalonia UI framework and the integration of Semantic Kernel with OpenAI or other large LLM models. By utilizing Avalonia-Assistant, you can perform various desktop operations through text or voice commands, enhancing your productivity and daily office experience.

PromptX
PromptX is a leading AI agent context platform that revolutionizes interaction design, enabling AI agents to become industry experts. It offers core capabilities such as an AI role creation platform, intelligent tool development platform, and cognitive memory system. PromptX allows users to easily discover experts, summon them for assistance, and engage in professional dialogues through natural conversations. The platform's core philosophy emphasizes treating AI as a person, enabling users to communicate naturally without the need for complex commands. With Nuwa Creation Workshop, users can design custom AI roles using meta-prompt technology, transforming abstract needs into concrete executable AI expert roles in just minutes.

ToolUniverse
ToolUniverse is a collection of 211 biomedical tools designed for Agentic AI, providing access to biomedical knowledge for solving therapeutic reasoning tasks. The tools cover various aspects of drugs and diseases, linked to trusted sources like US FDA-approved drugs since 1939, Open Targets, and Monarch Initiative.

timeline-studio
Timeline Studio is a next-generation professional video editor with AI integration that automates content creation for social media. It combines the power of desktop applications with the convenience of web interfaces. With 257 AI tools, GPU acceleration, plugin system, multi-language interface, and local processing, Timeline Studio offers complete video production automation. Users can create videos for various social media platforms like TikTok, YouTube, Vimeo, Telegram, and Instagram with optimized versions. The tool saves time, understands trends, provides professional quality, and allows for easy feature extension through plugins. Timeline Studio is open source, transparent, and offers significant time savings and quality improvements for video editing tasks.

AgentNeo
AgentNeo is an advanced, open-source Agentic AI Application Observability, Monitoring, and Evaluation Framework designed to provide deep insights into AI agents, Large Language Model (LLM) calls, and tool interactions. It offers robust logging, visualization, and evaluation capabilities to help debug and optimize AI applications with ease. With features like tracing LLM calls, monitoring agents and tools, tracking interactions, detailed metrics collection, flexible data storage, simple instrumentation, interactive dashboard, project management, execution graph visualization, and evaluation tools, AgentNeo empowers users to build efficient, cost-effective, and high-quality AI-driven solutions.

claude-007-agents
Claude Code Agents is an open-source AI agent system designed to enhance development workflows by providing specialized AI agents for orchestration, resilience engineering, and organizational memory. These agents offer specialized expertise across technologies, AI system with organizational memory, and an agent orchestration system. The system includes features such as engineering excellence by design, advanced orchestration system, Task Master integration, live MCP integrations, professional-grade workflows, and organizational intelligence. It is suitable for solo developers, small teams, enterprise teams, and open-source projects. The system requires a one-time bootstrap setup for each project to analyze the tech stack, select optimal agents, create configuration files, set up Task Master integration, and validate system readiness.

pennywiseai-tracker
PennyWise AI Tracker is a free and open-source expense tracker that uses on-device AI to turn bank SMS into a clean and searchable money timeline. It offers smart SMS parsing, clear insights, subscription tracking, on-device AI assistant, auto-categorization, data export, and supports major Indian banks. All processing happens on the user's device for privacy. The tool is designed for Android users in India who want automatic expense tracking from bank SMS, with clean categories, subscription detection, and clear insights.

anylabeling
AnyLabeling is a tool for effortless data labeling with AI support from YOLO and Segment Anything. It combines features from LabelImg and Labelme with an improved UI and auto-labeling capabilities. Users can annotate images with polygons, rectangles, circles, lines, and points, as well as perform auto-labeling using YOLOv5 and Segment Anything. The tool also supports text detection, recognition, and Key Information Extraction (KIE) labeling, with multiple language options available such as English, Vietnamese, and Chinese.
For similar tasks

MegaParse
MegaParse is a powerful and versatile parser designed to handle various types of documents such as text, PDFs, Powerpoint presentations, and Word documents with no information loss. It is fast, efficient, and open source, supporting a wide range of file formats. MegaParse ensures compatibility with tables, table of contents, headers, footers, and images, making it a comprehensive solution for document parsing.

NekoImageGallery
NekoImageGallery is an online AI image search engine that utilizes the Clip model and Qdrant vector database. It supports keyword search and similar image search. The tool generates 768-dimensional vectors for each image using the Clip model, supports OCR text search using PaddleOCR, and efficiently searches vectors using the Qdrant vector database. Users can deploy the tool locally or via Docker, with options for metadata storage using Qdrant database or local file storage. The tool provides API documentation through FastAPI's built-in Swagger UI and can be used for tasks like image search, text extraction, and vector search.

gemini_multipdf_chat
Gemini PDF Chatbot is a Streamlit-based application that allows users to chat with a conversational AI model trained on PDF documents. The chatbot extracts information from uploaded PDF files and answers user questions based on the provided context. It features PDF upload, text extraction, conversational AI using the Gemini model, and a chat interface. Users can deploy the application locally or to the cloud, and the project structure includes main application script, environment variable file, requirements, and documentation. Dependencies include PyPDF2, langchain, Streamlit, google.generativeai, and dotenv.

screen-pipe
Screen-pipe is a Rust + WASM tool that allows users to turn their screen into actions using Large Language Models (LLMs). It enables users to record their screen 24/7, extract text from frames, and process text and images for tasks like analyzing sales conversations. The tool is still experimental and aims to simplify the process of recording screens, extracting text, and integrating with various APIs for tasks such as filling CRM data based on screen activities. The project is open-source and welcomes contributions to enhance its functionalities and usability.

whisper
Whisper is an open-source library by Open AI that converts/extracts text from audio. It is a cross-platform tool that supports real-time transcription of various types of audio/video without manual conversion to WAV format. The library is designed to run on Linux and Android platforms, with plans for expansion to other platforms. Whisper utilizes three frameworks to function: DART for CLI execution, Flutter for mobile app integration, and web/WASM for web application deployment. The tool aims to provide a flexible and easy-to-use solution for transcription tasks across different programs and platforms.

swift-ocr-llm-powered-pdf-to-markdown
Swift OCR is a powerful tool for extracting text from PDF files using OpenAI's GPT-4 Turbo with Vision model. It offers flexible input options, advanced OCR processing, performance optimizations, structured output, robust error handling, and scalable architecture. The tool ensures accurate text extraction, resilience against failures, and efficient handling of multiple requests.

extractous
Extractous offers a fast and efficient solution for extracting content and metadata from various document types such as PDF, Word, HTML, and many other formats. It is built with Rust, providing high performance, memory safety, and multi-threading capabilities. The tool eliminates the need for external services or APIs, making data processing pipelines faster and more efficient. It supports multiple file formats, including Microsoft Office, OpenOffice, PDF, spreadsheets, web documents, e-books, text files, images, and email formats. Extractous provides a clear and simple API for extracting text and metadata content, with upcoming support for JavaScript/TypeScript. It is free for commercial use under the Apache 2.0 License.

ai-starter-kit
SambaNova AI Starter Kits is a collection of open-source examples and guides designed to facilitate the deployment of AI-driven use cases for developers and enterprises. The kits cover various categories such as Data Ingestion & Preparation, Model Development & Optimization, Intelligent Information Retrieval, and Advanced AI Capabilities. Users can obtain a free API key using SambaNova Cloud or deploy models using SambaStudio. Most examples are written in Python but can be applied to any programming language. The kits provide resources for tasks like text extraction, fine-tuning embeddings, prompt engineering, question-answering, image search, post-call analysis, and more.
For similar jobs

sweep
Sweep is an AI junior developer that turns bugs and feature requests into code changes. It automatically handles developer experience improvements like adding type hints and improving test coverage.

teams-ai
The Teams AI Library is a software development kit (SDK) that helps developers create bots that can interact with Teams and Microsoft 365 applications. It is built on top of the Bot Framework SDK and simplifies the process of developing bots that interact with Teams' artificial intelligence capabilities. The SDK is available for JavaScript/TypeScript, .NET, and Python.

ai-guide
This guide is dedicated to Large Language Models (LLMs) that you can run on your home computer. It assumes your PC is a lower-end, non-gaming setup.

classifai
Supercharge WordPress Content Workflows and Engagement with Artificial Intelligence. Tap into leading cloud-based services like OpenAI, Microsoft Azure AI, Google Gemini and IBM Watson to augment your WordPress-powered websites. Publish content faster while improving SEO performance and increasing audience engagement. ClassifAI integrates Artificial Intelligence and Machine Learning technologies to lighten your workload and eliminate tedious tasks, giving you more time to create original content that matters.

chatbot-ui
Chatbot UI is an open-source AI chat app that allows users to create and deploy their own AI chatbots. It is easy to use and can be customized to fit any need. Chatbot UI is perfect for businesses, developers, and anyone who wants to create a chatbot.

BricksLLM
BricksLLM is a cloud native AI gateway written in Go. Currently, it provides native support for OpenAI, Anthropic, Azure OpenAI and vLLM. BricksLLM aims to provide enterprise level infrastructure that can power any LLM production use cases. Here are some use cases for BricksLLM: * Set LLM usage limits for users on different pricing tiers * Track LLM usage on a per user and per organization basis * Block or redact requests containing PIIs * Improve LLM reliability with failovers, retries and caching * Distribute API keys with rate limits and cost limits for internal development/production use cases * Distribute API keys with rate limits and cost limits for students

uAgents
uAgents is a Python library developed by Fetch.ai that allows for the creation of autonomous AI agents. These agents can perform various tasks on a schedule or take action on various events. uAgents are easy to create and manage, and they are connected to a fast-growing network of other uAgents. They are also secure, with cryptographically secured messages and wallets.

griptape
Griptape is a modular Python framework for building AI-powered applications that securely connect to your enterprise data and APIs. It offers developers the ability to maintain control and flexibility at every step. Griptape's core components include Structures (Agents, Pipelines, and Workflows), Tasks, Tools, Memory (Conversation Memory, Task Memory, and Meta Memory), Drivers (Prompt and Embedding Drivers, Vector Store Drivers, Image Generation Drivers, Image Query Drivers, SQL Drivers, Web Scraper Drivers, and Conversation Memory Drivers), Engines (Query Engines, Extraction Engines, Summary Engines, Image Generation Engines, and Image Query Engines), and additional components (Rulesets, Loaders, Artifacts, Chunkers, and Tokenizers). Griptape enables developers to create AI-powered applications with ease and efficiency.