Quickstart
Deploy the ICE engine and execute your first context-augmented query.
0. Installation
Install the ICE binary for your preferred runtime.
- Python
- Node.js
AMD64 (x86_64)
pip install https://dl.dopove.com/ice/v2.7.756/python/ice_community-2.7.756-cp312-cp312-manylinux2014_x86_64.whl
ARM64
pip install https://dl.dopove.com/ice/v2.7.756/python/ice_community-2.7.756-cp312-cp312-manylinux2014_aarch64.whl
Windows (Native)
pip install https://dl.dopove.com/ice/v2.7.756/python/ice_community-2.7.756-cp312-cp312-win_amd64.whl
npm install https://dl.dopove.com/ice/v2.7.756/node/ice-node-community-2.7.756.tgz
1. Environment Configuration
Define the required environment variables for the ICE singleton.
- Linux / macOS
- Windows (PowerShell)
export ICE_PORT=8000
export DATABASE_URL="postgresql://user:pass@localhost:5432/ice_db"
export REDIS_URL="redis://localhost:6379"
export ICE_LICENSE_JWT="your_license_here"
$env:ICE_PORT="8000"
$env:DATABASE_URL="postgresql://user:pass@localhost:5432/ice_db"
$env:REDIS_URL="redis://localhost:6379"
$env:ICE_LICENSE_JWT="your_license_here"
2. Engine Initialization
Initialize the ICE kernel within your application.
- Python
- Node.js
from ice.sdk import ICEClient
# Initialize singleton
ice = ICEClient(api_url="http://localhost:8000")
# Verify connectivity
if ice.ping():
print("ICE Kernel Active")
import { ICEClient } from '@dopove/ice-node';
const ice = new ICEClient({
baseUrl: 'http://localhost:8000'
});
await ice.ping();
3. Data Ingestion
Ingest documents or raw text into the Semantic Ledger.
# Ingest document into specific session
ice.ingest(
session_id="proj_001",
file_path="./technical_specs.pdf",
metadata={"category": "documentation"}
)
4. Contextual Query
Execute a query. ICE automatically retrieves relevant historical context and injects it into the prompt.
response = ice.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize the memory limits."}],
x_session_id="proj_001", # Required — scopes memory to this session
x_user_id="alice" # Required — scopes data isolation to this user
)
print(response.choices[0].message.content)
Next Steps
- API Reference — full endpoint and header documentation
- Configuration — all environment variables
- Storage Architecture — how memory tiers and cold storage work
- Agentic Patterns — tool-call persistence and multi-step agent setup