Skip to main content

Artemis Intelligence

Artemis Intelligence is the set of AI-assisted capabilities implemented in Artemis and the integration contracts through which Artemis uses external EduTelligence services. This page identifies ownership and boundaries; the developer AI pipeline catalog records the Artemis control plane in more detail.

Ecosystem map

ComponentOwnership and roleArtemis boundaryLearn more
HyperionArtemis-native AI-assisted authoring for programming exercises, FAQs, problem statements, checklists, quizzes, and staged code generationRuns through Artemis services and Spring AI. Enablement and model-provider settings are Artemis configuration.Hyperion setup, consistency-check architecture, Spring AI development
Atlas agents and orchestrationArtemis-native companion agents, competency orchestration, and tool callbacksArtemis owns the course, competency, authorization, persistence, and tool contracts. artemis.atlas.atlasllm.enabled gates these paths and is off by default; competency orchestration additionally requires the Atlas agent feature.Developer AI pipeline catalog
DeimosArtemis-native, instructor-triggered screening of programming exercise participations for malicious CI intentRuns through Artemis services and its own dedicated Spring AI chat client, deliberately isolated from the shared Hyperion/Atlas endpoint. Requires both the artemis.deimos.enabled startup property and the Deimos runtime feature toggle. Sends student source code as diffs to the configured endpoint.Deimos setup
Artemis Global SearchArtemis-native keyword and semantic search across Artemis entitiesArtemis owns its Weaviate schemas, indexing/query flow, and authorization filters. It is independent of Iris RAG and lecture-answer retrieval.Global Search & Weaviate setup, developer Weaviate setup
Iris / PyrisExternal EduTelligence virtual-tutor serviceArtemis creates typed requests and tracked jobs, receives authenticated callbacks, and delivers applicable results over WebSockets. Iris owns tutoring, ingestion, retrieval, and answer-pipeline internals.Artemis integration catalog, Iris pipeline system, Iris RAG pipeline
AthenaExternal EduTelligence assessment serviceArtemis selects/configures modules, forwards feedback and submission data, schedules applicable due-date work, and offers an authenticated repository-data boundary for authorized programming modules.Artemis integration catalog, Athena module structure
AtlasMLOptional external EduTelligence ML serviceArtemis has an optional, configuration-gated REST integration for competency-related calls and notifications. Selected user-facing paths additionally require the AtlasML feature. Artemis remains the owner of its competency data.Artemis integration catalog, AtlasML pipelines
MemirisMemory subsystem used through IrisArtemis exposes a feature-gated, authenticated management boundary for memory data and deletion. Memory creation, retrieval, relationships, and sleep processing remain owned by Iris and Memiris.Artemis integration catalog, Iris pipeline system
LogosExternal model gateway/orchestratorLogos is service-side infrastructure used only when a consumer is configured for it; this catalog makes no claim that Artemis integrates with Logos.Logos source documentation
WeaviateShared vector infrastructureArtemis Global Search and Iris can use one Weaviate instance with distinct collection namespaces. Their schemas and retrieval flows remain separate.Global Search & Weaviate setup

Ownership and operational scope

The table deliberately separates Artemis-native capabilities from external service integration contracts:

  • Artemis-native: Hyperion, Atlas agents/orchestration, and Artemis Global Search. Artemis owns their application-level workflows, authorization, and persisted Artemis data.
  • External services: Iris/Pyris and Athena execute their own service pipelines. Artemis owns request construction, authenticated boundaries, callback handling, and client delivery where applicable.
  • Optional integration: AtlasML is not a prerequisite for the Artemis Atlas module. Its client boundary is available only when Artemis configuration enables it; selected user-facing operations also require the AtlasML feature.
  • Shared infrastructure: A shared Weaviate instance does not merge Artemis Global Search with Iris RAG. Keep their collection namespaces separate when sharing an instance.

Configuration versus implementation constraints

Feature flags and properties control whether Artemis loads or invokes these capabilities. They are not evidence of a particular deployment, model provider, endpoint, credential, capacity, or rollout state. For example, Hyperion and Atlas model access is configured through Artemis and Spring AI, while per-request AI-selection information can be forwarded at supported Iris boundaries.

Conversely, source-level implementation choices such as Artemis Global Search schemas, callback routes, job tracking, and feature gates are part of the integration contract. Consult the developer AI pipeline catalog before changing an Artemis-side boundary, and use the linked service documentation for service-owned implementation details.

Atlas model configuration

The LLM-backed part of Atlas is off by default and is turned on with artemis.atlas.atlasllm.enabled. It covers the course chat agent, autonomous competency orchestration, the tool surfaces they call, and the Responses adapter, and it needs a chat model configured under spring.ai. Leaving it off keeps competencies, learning paths, and learner profiles available and loads none of those beans, so an installation without an LLM starts faster and runs neither the content-change scheduler nor the autonomous exercise event listener. It is separate from artemis.atlas.atlasml.enabled, which gates the external AtlasML service; either can be enabled without the other.

Set the flag in the configuration directory the server reads at startup, or as the environment variable ARTEMIS_ATLAS_ATLASLLM_ENABLED. Setting it in a copy of application-artemis.yml inside the deployed artifact has no effect, because the core profile is activated after artemis and the value in application-core.yml wins.

Autonomous competency orchestration uses gpt-5.6-luna with xhigh reasoning. Narrative flavor stripping uses the same model with high reasoning. Interactive Atlas chat has its own artemis.atlas.chat-model setting.

artemis:
atlas:
atlasllm:
enabled: true
flavor-strip-model: gpt-5.6-luna
flavor-strip-reasoning-effort: high
orchestrator:
model: gpt-5.6-luna
reasoning-effort: xhigh
responses-api-enabled: true

The Responses adapter uses the credentials, base URL, timeout, proxy, and HTTP customizers configured under spring.ai.openai. Configure a provider or gateway that supports /responses, the selected model/deployment, reasoning effort, function tools, and encrypted reasoning replay with store: false. For OpenAI or an OpenAI-compatible gateway, include /v1 in the base URL and disable microsoft-foundry; for Microsoft Foundry, use the provider-specific configuration described in Hyperion setup. Verify model/deployment availability on the chosen provider before enabling the feature. These settings do not provision a model deployment.

Responses is enabled by default for orchestration and flavor stripping. Set artemis.atlas.orchestrator.responses-api-enabled: false to explicitly route both through the shared Chat Completions client. Choose model/deployment identifiers supported by that endpoint; no automatic transport fallback occurs after an error. Leave flavor-strip-model empty to disable stripping. If stripping fails or its selected client is unavailable, Artemis retains the original text.

Each autonomous run shares a budget of 256 attempted tool callbacks. Reads and failed tool calls consume the budget. The separate write cap is also 256, but the shared budget stops new writes and delegations after callback 224. The remaining callbacks are for verification and completion, and callback 256 is reserved for completion. Nested calls inherit the same budget rather than receiving another allocation.

The orchestrator refreshes the competency index after its latest work and finishes with a verified decision and an instructor-facing summary. An incomplete result retains applied changes and reports unresolved work. Budget exhaustion and missing or unverified completion do not automatically replay the run. Instructors can inspect the applied actions before requesting another run. Known usage is retained across Responses rounds; unavailable usage is not recorded as measured zero. Configure the selected model's costs under artemis.llm.model-costs for meaningful cost estimates.

Search documentation