This guide will help you launch and experience Scintirete within 3 minutes.
The simplest way to start is using the pre-built Docker image:
# Pull the latest image docker pull scintirete/scintirete:latest wget https://raw.githubusercontent.com/Scintirete/Scintirete/refs/heads/main/configs/scintirete.template.toml -O scintirete.toml # Start the service docker run -d \ --name scintirete \ -p 8080:8080 \ -p 9090:9090 \ -v $(pwd)/data:/app/data \ -v $(pwd)/scintirete.toml:/app/configs/scintirete.toml \ scintirete/scintirete:latest
If you need the complete monitoring stack (optional Prometheus and Grafana):
# Download the project git clone https://github.com/scintirete/scintirete.git cd scintirete cp configs/scintirete.template.toml configs/scintirete.toml # Start the complete service stack docker-compose up -d
After services start:
Download the appropriate binary for your operating system from the Releases page:
# Download and extract (Linux amd64 example) wget https://github.com/scintirete/scintirete/releases/latest/download/scintirete-linux-amd64.tar.gz wget https://raw.githubusercontent.com/Scintirete/Scintirete/refs/heads/main/configs/scintirete.template.toml -O scintirete.toml tar -xzf scintirete-linux-amd64.tar.gz cd scintirete-linux-amd64 # Start the server ./scintirete-server -c scintirete.toml
Configuration example: scintirete.toml, the configuration has complete comments, and the important configurations are passwords and embedding fields. The password field is used to set the password, and the embedding field is used to set the vector engine.
Access the Web management interface:
Cloud Address: http://scintirete-manager-ui.cloud.wj2015.com/
Note: The client direct connection mode can be used for Scintirete services that the local network can connect to. The server forwarding mode is suitable for production intranet environments. For security reasons, the cloud address does not support server forwarding mode.
In the management interface, you can:
Detailed documentation: ManagerUI User Guide
If started with Docker Compose, you can access:
curl http://localhost:8080/api/v1/health
Expected response:
{ "status": "healthy", "service": "scintirete", "version": "1.0.0" }
# Create database curl -X POST http://localhost:8080/api/v1/databases \ -H "Content-Type: application/json" \ -d '{"name": "demo_db"}' # Create collection (using cosine similarity) curl -X POST http://localhost:8080/api/v1/databases/demo_db/collections \ -H "Content-Type: application/json" \ -d '{ "name": "documents", "distance_metric": "cosine" }'
# Insert some sample vectors curl -X POST http://localhost:8080/api/v1/databases/demo_db/collections/documents/vectors \ -H "Content-Type: application/json" \ -d '{ "vectors": [ { "data": [0.1, 0.2, 0.3, 0.4], "metadata": {"text": "First document", "category": "technology"} }, { "data": [0.2, 0.3, 0.4, 0.5], "metadata": {"text": "Second document", "category": "science"} }, { "data": [0.9, 0.8, 0.7, 0.6], "metadata": {"text": "Third document", "category": "art"} } ] }'
# Search for the 2 most similar vectors curl -X POST http://localhost:8080/api/v1/databases/demo_db/collections/documents/search \ -H "Content-Type: application/json" \ -d '{ "query_vector": [0.15, 0.25, 0.35, 0.45], "limit": 2 }'
Expected response:
{ "success": true, "data": { "results": [ { "id": 2, "score": 0.9998, "metadata": {"text": "Second document", "category": "science"} }, { "id": 1, "score": 0.9995, "metadata": {"text": "First document", "category": "technology"} } ] } }
If you have an OpenAI API Key, you can experience automatic text vectorization:
Modify the configuration file or set environment variable:
export OPENAI_API_KEY="your-api-key-here"
Or edit the configuration file configs/scintirete.toml
:
[embedding] provider = "openai" api_key = "your-api-key-here" base_url = "https://api.openai.com/v1" model = "text-embedding-ada-002"
# Automatically convert text to vectors and insert curl -X POST http://localhost:8080/api/v1/databases/demo_db/collections/documents/texts \ -H "Content-Type: application/json" \ -d '{ "texts": [ { "content": "Artificial intelligence is changing the world", "metadata": {"source": "news", "topic": "AI"} }, { "content": "Machine learning is the core technology of AI", "metadata": {"source": "book", "topic": "ML"} } ] }'
# Search using natural language curl -X POST http://localhost:8080/api/v1/databases/demo_db/collections/documents/search-text \ -H "Content-Type: application/json" \ -d '{ "query_text": "AI technology development", "limit": 5 }'
Scintirete also provides powerful command-line tools:
# Use CLI to connect to server ./scintirete-cli --server localhost:9090 # Execute commands in interactive mode > list databases > use demo_db > list collections > describe documents
After completing the quick experience, we recommend:
Q: Why are my vector search results inaccurate? A: Ensure consistent distance metrics and vector dimensions. Cosine similarity is suitable for most text vectors, Euclidean distance is suitable for image feature vectors.
Q: How to improve search performance?
A: Adjust HNSW hyperparameters efConstruction
and maxConnections
. Higher values provide better accuracy but consume more memory.
Q: Will data persist after service restart? A: Yes, Scintirete uses AOF + RDB persistence mechanism to ensure data safety.
Q: Can it be used in production environments? A: Scintirete is designed for production environments with complete monitoring, logging, and error handling, but it is currently in rapid development phase, please pay attention to version compatibility.