Skip to content

Quick Start

Get OpenSift running in under 5 minutes.

Requirements

Installation

git clone https://github.com/AtomInnoLab/OpenSift.git
cd opensift

# Development environment (recommended)
make dev-setup

# Or directly with Poetry
poetry install

Optional adapter dependencies

# Elasticsearch support
pip install opensift[elasticsearch]

# OpenSearch support
pip install opensift[opensearch]

# All optional adapters
pip install opensift[all]

Configuration

cp opensift-config.example.yaml opensift-config.yaml
cp .env.example .env

Edit .env to set your WisModel API key:

OPENSIFT_AI__API_KEY=your-wismodel-key

Configure your search backend (default is AtomWalker academic search):

OPENSIFT_SEARCH__ADAPTERS__ATOMWALKER__API_KEY=wsk_xxxxx

WisModel API Key

WisModel is available via the WisPaper API Hub. Contact the team to obtain your API key.

Start the Server

make run
# or: poetry run opensift --reload --log-level debug
make run-prod
# or: poetry run opensift --workers 4 --log-level info

The server starts at:

Endpoint URL
Search UI http://localhost:8080
API http://localhost:8080/v1/search
Docs (Swagger) http://localhost:8080/docs
Debug Panel http://localhost:8080/debug
curl -X POST http://localhost:8080/v1/search \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Deep learning papers on solar nowcasting",
    "options": {
      "max_results": 10,
      "verify": true
    }
  }'

The response contains:

  • criteria_result — the generated search queries and screening criteria
  • perfect_results — results that fully match all criteria
  • partial_results — results that partially match
  • rejected_results — filtered out results

Next Steps