- Python 61.5%
- JavaScript 23.1%
- CSS 13.5%
- HTML 1.8%
- Dockerfile 0.1%
| backend | ||
| demo | ||
| docs | ||
| frontend | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| Caddyfile | ||
| compose.yaml | ||
| Dockerfile | ||
| README.md | ||
| requirements.txt | ||
RG AiPatent · Intelligence workspace
Turn a patent search into a technical understanding, an application hypothesis and a concrete next experiment. RG AiPatent combines live EPO Open Patent Services with four Apertus model roles, in an English patent intelligence workspace.
Research workflow
The command center starts with four Swiss applicant spotlights: Nestlé, Ypsomed, Roche and Climeworks. Annual publication totals come from EPO OPS. The interface and new model outputs are English only.
- Ask a technical question in English. Apertus translates the intent into bounded search concepts; the UI exposes the actual EPO query. Exact CQL, publication numbers, applicant/date/authority filters and pagination remain available.
- Inspect real EPO records and historical annual query totals. Applicant, classification and authority charts identify their retrieved sample; the current publication year is marked incomplete.
- Open a patent for its source-linked dossier, claims, description, family and available drawings. An English Apertus briefing explains the mechanism, proposed applications and what to test.
- Generate a private business report or compare patents. Four Apertus roles extract evidence, explore applications, challenge assumptions and synthesize a decision report. Progress, models, citations and source gaps remain visible; reports persist across sessions.
- Compare ten complete years of EPO publication counts with ten future years of editable Swiss patent activity scenarios. The chart identifies its exact query, source, missing years, baseline and assumptions. Publication counts are not market size.
- Keep research in folders, share collections, comment, review and monitor saved searches.
Patent Discovery offers Swiss applicant examples for Nestlé coffee capsules, Ypsomed injection devices, Roche antibodies and Climeworks carbon capture. These shortcuts filter by applicant name, not publication authority: Swiss applicants can publish through WO, EP or other offices. The short “coffee capsules” query searches verified singular and plural title/abstract terms; if another Apertus interpretation yields no publications, the search retries the user's literal terms and discloses the broadened query. A separate Nestlé spotlight accompanies broad coffee capsule searches without changing the main EPO result count.
Patent maps, assistant and translation
The dossier adds Patent map, Ask Apertus and Translate. Inspect EPO relationships, generate a cited technical mechanism map, ask how to understand or test the invention, and translate complete selected source sections into a named language or Swiss dialect. Translation results preserve the original alongside every translated segment and disclose numeric differences and a terminology review sample. Download source/model audit JSON for maps and translations. See the feature guide for coverage and limitations.
Models and evidence
| Role | Default model | Output |
|---|---|---|
| Search / evidence | Apertus v1.5 8B | Smart search planning, patent brief, report evidence extraction and translation review |
| Applications | Apertus v1.5 8B-thinking | Application hypotheses and validation experiments in four-stage reports |
| Critical review | Apertus v1.5 70B-thinking | Deep patent questions, constraints and missing evidence in reports |
| Decision report | Apertus v1.5 70B | Normal patent questions, technical maps, translations and report synthesis |
The Sources & models screen displays current routing, including administrator changes. Every saved report records the actual models used. Model outputs are suggestions for review. Citations are checked against retrieved evidence IDs; this checks references, not the correctness of every inference. Patent protection, novelty, legal status and commercial performance require additional verification. Missing full text is shown explicitly. Swiss patent scenario growth rates are editable assumptions.
The installed service uses live OPS credentials and CSCS inference. Keys stay in Docker secret files and never go to the browser or repository. Expensive searches and briefings are cached per user; research jobs are bounded and private. Pending jobs interrupted by a server restart are marked failed with a retry message.
Local deployment
Python 3.12 / FastAPI / SQLite / httpx / vanilla JavaScript / SVG / Docker Compose / Caddy.
For the current branch's code map, verification commands and next tasks, see the development handoff.
cp .env.example .env
mkdir -p ../secrets
touch ../secrets/cscs_api_key ../secrets/ops_consumer_key ../secrets/ops_consumer_secret
chmod 700 ../secrets
chmod 600 ../secrets/*
# Populate the files privately, then start the service.
docker compose up -d --build
A first boot writes the administrator password to /data/bootstrap-admin-password. Set the host and ports in .env. Consult operations for TLS, credentials and backups, v2 deployment and rollback, the demo flow, and Hack Apertus source evidence and criteria.
Verification
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
PYTHONPATH=. .venv/bin/pytest -q
node --input-type=module --check < frontend/app.js
node --input-type=module --check < frontend/public.js
Tests exercise safe search construction, pagination and year scopes, real-provider XML fixtures, missing sources, model structure/citation validation, comparison evidence allocation, authentication/CSRF and report ownership. See evaluation notes for observed live checks and their limits.
Open no-login search
The public search page is served at / and the existing account-based workspace remains at /workspace. Public search uses EPO OPS when operator credentials are available and falls back to the clearly labeled local index during outages. The bundled EP4481893A1 document is one genuine public demo record; it is not a broad global corpus. EPO EPS supplies supported European publication PDFs and publication lists, not worldwide keyword search. Guest notes, saved patents, labels, ratings and folders remain in browser storage and do not synchronize.
Set AIPATENT_MODEL_URL in .env to use a self-hosted OpenAI-compatible Apertus endpoint. Keep model and OPS credentials in backend-only Docker secrets. The status bar shows aggregate visits, current online sessions and actual inference counters. See open platform evaluation for measured behavior and incomplete integrations.
Search charts appear above the result list. Publication-year and applicant counts use unique publications on the current result page; a joint applicant receives one count for that publication. The applicant field may contain a company or a person, so the company chart identifies this mixed source field. Apertus plans natural-language searches and classifies the two chart patterns from counted records. Chart notes are rendered from validated categories, so model prose cannot change bar values. Export buttons provide the counted rows as CSV. These page samples are not full-population trends.
The drawing action inspects every available page. It crops only the image sent to Apertus so printed labels are easier to read; the displayed source drawing and overlay coordinates remain unchanged. Apertus 70B reads the callouts, and 70B-thinking independently reviews pages without description or claims. Disagreements appear as alternatives, and browser-only name corrections can be saved. When source text does not define a number, every component name remains a visual hypothesis and has no passage link.