Skip to main content

AI-Powered TRIZ Innovation Engine — combines TRIZ methodology with AI and real patent data

Project description

triz-ai

AI-powered TRIZ innovation engine — analyze technical problems, classify patents, and discover new inventive principles.

What is this?

triz-ai combines TRIZ (Theory of Inventive Problem Solving) with AI and real patent data. It goes beyond static TRIZ tools by using AI to discover candidate new principles from modern patents, continuing Altshuller's original work.

  • Patent-grounded — every suggestion is backed by real patent evidence
  • 50 engineering parameters — extends Altshuller's 39 with modern domains (security, sustainability, scalability, etc.)
  • Evolving principles & parameters — discovers candidate new principles and parameters from modern patents
  • Provider-agnostic — works with OpenRouter, Ollama, Anthropic, OpenAI, and 100+ providers via litellm
  • Zero infrastructure — local SQLite database with built-in vector search

Installation

pip install triz-ai

Or for development:

# Requires Python 3.12+ and uv
uv sync

Set up your LLM provider API key:

export OPENROUTER_API_KEY="your-key"

Or use a .env file: echo 'OPENROUTER_API_KEY=your-key' > .env

Quick Start

# Analyze a technical problem (works immediately — no setup needed)
triz-ai analyze "How to make an EV battery charge faster without overheating"

# For patent-backed examples, ingest patent data
triz-ai ingest data/patents/battery_patents.json

# Discover underused principles in a domain
triz-ai discover --domain "battery technology"

# Run evolution pipeline to find candidate new principles
triz-ai evolve
triz-ai evolve --review  # interactive accept/reject

# Discover candidate new engineering parameters
triz-ai evolve --parameters
triz-ai evolve --parameters --review

# View matrix statistics
triz-ai matrix stats

Commands

Command Description
analyze Full TRIZ pipeline: extract contradiction → matrix lookup → patent search → solution directions
discover Find underused principles in a domain and generate novel ideas
evolve Discover candidate new TRIZ principles (--parameters for parameters)
ingest Ingest and auto-classify patents from .txt, .pdf, or .json files
init Reset the patent database (only needed with --force)
matrix seed LLM-seed missing matrix cells for params 40-50 (power-user)
matrix stats Show matrix fill rate and patent observation statistics

All commands support --format text|json|markdown and --model to override the LLM model.

Project Structure

src/triz_ai/
  cli.py              # Typer CLI entry point
  config.py            # Config loading (~/.triz-ai/config.yaml)
  data/                # Static TRIZ JSON data files (principles, parameters, matrix)
  knowledge/           # 40 principles, 50 parameters, contradiction matrix
  engine/              # analyzer, classifier, generator, evaluator
  patents/             # SQLite + sqlite-vec store, ingestion pipeline
  evolution/           # Candidate principle & parameter discovery + review
  llm/                 # litellm wrapper with pydantic validation
tests/                 # 72 unit tests

Configuration

Config lives at ~/.triz-ai/config.yaml:

llm:
  default_model: openrouter/nvidia/nemotron-3-super-120b-a12b:free
  classify_model: openrouter/nvidia/nemotron-3-nano-30b-a3b:free  # smaller model for classification

embeddings:
  model: openrouter/nvidia/llama-nemotron-embed-vl-1b-v2:free
  dimensions: 768

database:
  path: ~/.triz-ai/patents.db

evolution:
  review_threshold: 0.7

Any litellm-supported model string works — just change the model and set the corresponding API key.

Using a custom LLM gateway (e.g., company litellm proxy)

llm:
  default_model: gpt-4o
  api_base: https://llm-proxy.internal/v1
  api_key: your-proxy-token

embeddings:
  model: text-embedding-3-small
  dimensions: 768
  api_base: https://llm-proxy.internal/v1
  api_key: your-proxy-token

Development

uv sync                              # Install dependencies
uv run pytest                        # Run tests
uv run pre-commit install            # Install git hooks
uv run pre-commit install --hook-type pre-push

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

triz_ai-0.6.0.tar.gz (219.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

triz_ai-0.6.0-py3-none-any.whl (55.4 kB view details)

Uploaded Python 3

File details

Details for the file triz_ai-0.6.0.tar.gz.

File metadata

  • Download URL: triz_ai-0.6.0.tar.gz
  • Upload date:
  • Size: 219.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for triz_ai-0.6.0.tar.gz
Algorithm Hash digest
SHA256 104a7b9541f0deadd83d33351eb57e04ac692918d08bac6972792c279dfcf8a5
MD5 b6cabf595c9908cb79fadf09191ff9fa
BLAKE2b-256 199c75474b33a08e8024daf484a0eed37dd9f0e2e4d7ced46264ce7e43e4649d

See more details on using hashes here.

Provenance

The following attestation bundles were made for triz_ai-0.6.0.tar.gz:

Publisher: ci-and-publish.yml on flyersworder/triz-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file triz_ai-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: triz_ai-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 55.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for triz_ai-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0adace375fb5fe942945f7ba6a17558e228e3bacabd8f2f7cdc82c88cdce9d4
MD5 320cc30542b6ba58ca944d704667475e
BLAKE2b-256 2f9f7e7b658d783b85de65e33f4306de69fb8a4742697c0ed1b2e76c4ccbd382

See more details on using hashes here.

Provenance

The following attestation bundles were made for triz_ai-0.6.0-py3-none-any.whl:

Publisher: ci-and-publish.yml on flyersworder/triz-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page