Skip to content

AI Search & RAG Without Moving Your Data. Get instant answers from your company's knowledge across 100+ apps while keeping data secure. Deploy in minutes, not months.

License

Notifications You must be signed in to change notification settings

swirlai/swirl-search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

SWIRL

SWIRL

Give your team ChatGPT-level search without moving data to the cloud

RAG with One Drive & Microsoft 365 in 60 seconds

Ask question β†’ Get answer with sources β†’ Click through to source

SWIRL One Drive RAG

Watch it on Youtube

Teams using SWIRL saves an average 7.5 hours of productive time per week.

Bringing AI to the Data Newsletter

πŸ€” Why SWIRL?

Skip the Complexity, Keep the Power

❌ Without SWIRL

  • Set up vector databases
  • Move data around
  • Complex ETL pipelines
  • Weeks of infrastructure work
  • Security headaches

βœ… With SWIRL

  • One docker command
  • Data stays in place
  • No vector DB needed
  • 2-minute setup
  • Enterprise-grade security

πŸš€ Built Different

No Vector DB Drama

# No need for:
$ setup-vector-db
$ migrate-data
$ configure-indexes

# Just this:
$ curl https://raw.githubusercontent.com/swirlai/swirl-search/main/docker-compose.yaml -o docker-compose.yaml

πŸ’‘ What Can You Build With SWIRL?

Real examples of what teams build with SWIRL:

πŸ” Knowledge Base Search

  • Connect SharePoint, Confluence, & Drive
  • Get instant answers with source links
  • Keep sensitive data secure

πŸ€– Customer Support Assistant

  • Search across support docs & tickets
  • Draft responses using your content
  • Maintain consistent answers

πŸ‘©β€πŸ’» Developer Assistant

  • Search GitHub, Jira, & documentation
  • Find code examples & solutions
  • Speed up development workflow

🏒 Unified Search

  • Unified search across all tools
  • Results respect existing permissions
  • No data duplication needed

πŸ‘€ See it in action

SWIRL Chat in Action

Schedule Your Free Demo of SWIRL Enterprise

Try SWIRL Enterprise for free for 30 Days. Click on the banner to contact us.

SWIRL Co-Pilot

⚑ Why Teams Choose SWIRL

  • πŸ”’ Your infrastructure, your control
  • πŸš€ Deploy in minutes, not months
  • πŸ”Œ 100+ enterprise connectors
  • πŸ€– AI that respects your security

SWIRL's Ranking in Action

SWIRL doesn't just search - it understands your company's context. Instead of broad web results, you get precise answers from your private data, right where it lives.

SWIRL vs Google Ranking

SWIRL Features

Features 1 Features 2


Full list of connectors is available here.

For Support on Connectors Contact the Swirl Team at: [email protected]


πŸ”₯ Try Swirl Now In Docker

Prerequisites

Start Swirl in Docker

Warning Make sure the Docker app is running before proceeding!

curl https://raw.githubusercontent.com/swirlai/swirl-search/main/docker-compose.yaml -o docker-compose.yaml
  • Optional: To enable Swirl's Real-Time Retrieval Augmented Generation (RAG) in Docker, run the following commands from the Console using a valid OpenAI API key:
export MSAL_CB_PORT=8000
export MSAL_HOST=localhost
export OPENAI_API_KEY=β€˜<your-OpenAI-API-key>’

πŸ”‘ Check out OpenAI's YouTube video if you don't have an OpenAI API Key.

  • In MacOS or Linux, run the following command from the Console:
docker-compose pull && docker-compose up
  • In Windows, run the following command from PowerShell:
docker compose up

After a few minutes the following or similar should appear:

  • Open this URL with a browser: http://localhost:8000 (or http://localhost:8000/galaxy)

  • If the search page appears, click Log Out at the top, right. The Swirl login page will appear.

  • Enter the username admin and password password, then click Login.

  • Enter a search in the search box and press the Search button. Ranked results appear in just a few seconds:

The most recent Search object will be displayed at the top. Click on the result_url link to view the full JSON Response.

Notes πŸ“

Warning The Docker version of Swirl does not retain any data or configuration when shut down!

πŸ”‘ Swirl includes five (5) Google Programmable Search Engines (PSEs) to get you up and running right away. The credentials for these are shared with the Swirl Community.

πŸ”‘ Using Swirl with Microsoft 365 requires installation and approval by an authorized company Administrator. For more information, please review the M365 Guide or contact us.

Next Steps πŸ‘‡

Video Tutorial

Guide to Run SWIRL in Docker in 60 seconds.


🌟 Key Features

✦ Feature
πŸ“Œ Microsoft 365 integration and OAUTH2 support
πŸ” SearchProvider configurations for all included Connectors. They can be organized with the active, default and tags properties.
✏️ Adaptation of the query for each provider such as rewriting NOT term to -term, removing NOTted terms from providers that don't support NOT, and passing down the AND, + and OR operators.
⏳ Synchronous or asynchronous search federation via APIs
πŸ›ŽοΈ Optional subscribe feature to continuously monitor any search for new results
πŸ› οΈ Pipelining of Processor stages for real-time adaptation and transformation of queries, responses and results
πŸ—„οΈ Results stored in SQLite3 or PostgreSQL for post-processing, consumption and/or analytics
➑️ Built-in Query Transformation support, including re-writing and replacement
πŸ“– Matching on word stems and handling of stopwords via NLTK
🚫 Duplicate detection on field or by configurable Cosine Similarity threshold
πŸ”„ Re-ranking of unified results using Cosine Vector Similarity based on spaCy's large language model and NLTK
🎚️ Result mixers order results by relevancy, date or round-robin (stack) format, with optional filtering of just new items in subscribe mode
πŸ“„ Page through all results requested, re-run, re-score and update searches using URLs provided with each result set
πŸ“ Sample data sets for use with SQLite3 and PostgreSQL
βœ’οΈ Optional spell correction using TextBlob
βŒ› Optional search/result expiration service to limit storage use
πŸ”Œ Easily extensible Connector and Mixer objects

πŸ‘©β€πŸ’» Contributing to Swirl

Do you have a brilliant idea or improvement for SWIRL? We're all ears, and thrilled you're here to help!

πŸ”— Get Started in 3 Easy Steps:

  1. Connect with Fellow Enthusiasts - Jump into the Swirl Slack Community and share your ideas. You'll find a welcoming group of Swirl enthusiasts and team members eager to assist and collaborate.
  2. Branch It Out - Always branch off from the develop branch with a descriptive name that encapsulates your idea or fix.
  3. Start Your Contribution - Ready to get your hands dirty? Make sure all contributions come through a GitHub pull request. We roughly follow the Gitflow branching model, so all changes destined for the next release should be made to the develop branch.

πŸ“š First time contributing on GitHub? No worries, the GitHub documentation has you covered with a great guide on contributing to projects.

πŸ’‘ Every contribution, big or small, makes a difference. Join us in shaping the future of Swirl!


☁ Use the Swirl Cloud

For information about Swirl as a managed service, please contact us!


πŸ“– Documentation

πŸ”— SWIRL Documentation


πŸ‘·β€β™‚οΈ Need Help? We're Here for You!

At Swirl, every user matters to us. Whether you're a beginner finding your way or an expert with feedback, we're here to support, listen, and help. Don't hesitate to reach out to us.

  • Join the SWIRL Community Slack: Dive into our SWIRL Community on Slack - to discuss anything related to SWIRL.

  • Direct Support: For any questions, suggestions, or even a simple hello, drop us an email at [email protected]. We cherish every message and promise to get back to you promptly!

  • Request A Connector (Enterprise Support) Want to see a new connector quickly and fast. Contact the Swirl Team at: [email protected]