Skip to main content

AI-powered knowledge assistant for Red Hat engineering teams

Project description

Red Hat Oracle

AI-powered knowledge assistant for Red Hat engineering teams. Ingests GitHub/GitLab repositories, Jira issues, GitLab Pages, public web docs, and Slack conversations, indexes them in a ChromaDB vector store, and provides RAG-based chat via local or cloud LLMs.

Prerequisites

  • Python 3.11+
  • Ollama running locally (recommended LLM backend)
  • Git (for cloning source repos)

Installation

# Clone the repo
git clone git@github.com:dmzoneill/redhat-oracle.git
cd redhat-oracle

# Create a virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install in development mode (with dev dependencies)
pip install -e ".[dev]"

# Or install without dev dependencies
pip install -e .

Configuration

Copy and edit the sample config:

cp oracle.yaml ~/.config/redhat-oracle/oracle.yaml

Config files are loaded and merged in order (higher precedence wins):

  1. /etc/redhat-oracle/oracle.yaml (system)
  2. ~/.config/redhat-oracle/oracle.yaml (user)
  3. ./oracle.yaml (project)

Secrets

Tokens are never stored in config files. Set them as environment variables:

export ORACLE_GITHUB_TOKEN="ghp_..."
export ORACLE_GITLAB_TOKEN="glpat-..."
export ORACLE_SLACK_TOKEN="xoxb-..."
export ORACLE_JIRA_TOKEN="..."
export OPENAI_API_KEY="sk-..."        # optional, if using OpenAI
export ANTHROPIC_API_KEY="sk-ant-..." # optional, if using Anthropic

Usage

CLI

oracle            # Start interactive chat
oracle sync       # Sync all configured sources
oracle status     # Show index status

GUI (optional)

pip install -e ".[gui]"
oracle --gui

Development

# Run tests
make test

# Lint
make lint

# Type check
make typecheck

# Build distribution
make build

Or run commands directly:

pytest tests/
ruff check src/ tests/
mypy src/

Architecture

Module Purpose
core/config.py YAML config loading with Pydantic validation
core/sources/ Data source connectors (GitHub, GitLab, Slack, Jira, Pages, Web)
core/vectordb/ ChromaDB vector store, AST-aware chunking, change tracking
core/rag.py RAG pipeline: embed query, search, assemble context, stream LLM
core/cache.py Response caching
cli/app.py Click + prompt-toolkit + Rich terminal UI
gui/app.py PySide6 (Qt) desktop GUI

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

redhat_oracle-0.1.0.tar.gz (86.8 kB view details)

Uploaded Source

Built Distribution

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

redhat_oracle-0.1.0-py3-none-any.whl (70.3 kB view details)

Uploaded Python 3

File details

Details for the file redhat_oracle-0.1.0.tar.gz.

File metadata

  • Download URL: redhat_oracle-0.1.0.tar.gz
  • Upload date:
  • Size: 86.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for redhat_oracle-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2a048e1a5d52f000d1a9afb2f5b1b20bfc6fcc12db8a81eb402da23303ffb211
MD5 47abed83cb3b2755534250904e58e4a8
BLAKE2b-256 b8251a74007fb84c55b8d6379e796b72a518ad9b79c16e1782b6595ceed27555

See more details on using hashes here.

File details

Details for the file redhat_oracle-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: redhat_oracle-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 70.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for redhat_oracle-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e03cd12f61903370d39e15a48e4ed57f2d86b63b6c313eab8713d771f6b561e3
MD5 d33fb2616e854205ae3940e78259d58b
BLAKE2b-256 35b4b423da312be54d51216548b4f3bdd9c5d796e00ede039b795009c33d68d1

See more details on using hashes here.

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