Skip to content

feat(examples): add healthcare-assistant demo app - #228

Merged
etserend merged 5 commits into
mainfrom
HYBIM-977-healthcare-assistant-splunk-ao-migration
Aug 25, 2026
Merged

feat(examples): add healthcare-assistant demo app#228
etserend merged 5 commits into
mainfrom
HYBIM-977-healthcare-assistant-splunk-ao-migration

Conversation

@etserend

Copy link
Copy Markdown
Contributor

Adds the healthcare-assistant demo app under examples/agent/healthcare-assistant/.

Ported from the observability workshop: 2-app-with-instrumentation

Changes

  • Replaced galileo SDK with splunk-ao throughout
  • Added config.py factory functions (create_chat_llm, create_embeddings) for clean Azure / OpenAI provider detection via env vars
  • Added pyproject.toml with editable local splunk-ao source dependency
  • Added .env.example and .gitignore
  • Updated .streamlit/secrets.toml.template to use Splunk AO env vars

Closes HYBIM-977

@etserend
etserend force-pushed the HYBIM-977-healthcare-assistant-splunk-ao-migration branch 4 times, most recently from 43e5a03 to fc9d49e Compare August 25, 2026 00:13
@etserend
etserend marked this pull request as ready for review August 25, 2026 00:19
etserend and others added 3 commits August 25, 2026 13:36
Verbatim copy of workshop/healthcare-assistant/2-app-with-instrumentation.
No changes — establishes a clean baseline to diff SDK migration against.
Shared docs/ (qa.csv, relational_patient.csv) copied from workshop parent.
- Replace galileo imports with splunk_ao throughout all modules
- Add create_chat_llm() / create_embeddings() factory functions in config.py
  to support both Azure OpenAI and direct OpenAI via AZURE_OPENAI_ENDPOINT
- Use splunk_ao_context + SplunkAOAsyncCallback for LangChain instrumentation
- Fix hallucination_helpers: set_session() instead of start_session() to
  skip CRUD REST call (no SPLUNK_AO_O11Y_API_TOKEN required)
- Fix agent-with-instrumentation: wrap start_session() in try/except so
  CRUD failures are non-fatal
- Fix Dockerfile: use COPY . /app/ instead of workshop-relative paths
- Add .gitignore (.env.* pattern), .env.example, and pyproject.toml
  (uv workspace pointing to local splunk-ao source for dev)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Adds a self-contained hosted/ subdirectory for running the agent as a
scheduled load generator (CronJob) against a Splunk O11y backend:

- run_demo_session.py: entrypoint that fires example_queries from
  config.yaml through the instrumented agent, then logs one hallucination,
  all under a single session ID per run
- Dockerfile: multi-stage build; installs splunk-ao from repo src/ so the
  image always uses the same SDK version as the example (build from repo root)
- k8s.yaml: ConfigMap + CronJob manifest (hourly schedule); all credentials
  via secretKeyRef — no hardcoded values

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@etserend
etserend force-pushed the HYBIM-977-healthcare-assistant-splunk-ao-migration branch from fc9d49e to 7e50445 Compare August 25, 2026 19:34
…ocal run

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@etserend
etserend force-pushed the HYBIM-977-healthcare-assistant-splunk-ao-migration branch from 7faa884 to fa2ad75 Compare August 25, 2026 19:40
… healthcare-assistant

- Use set_session() instead of start_session() in agent-with-instrumentation.py
  to avoid CRUD HTTP calls that hung indefinitely in hosted environments
- Remove start_session() and flush() from hallucination_helpers.py for the same reason;
  conclude() enqueues spans automatically, flush() is not needed
- Remove OPENAI_API_KEY and OPENAI_BASE_URL from setup_env.py required vars (Azure path)
- Replace personal registry, project, and environment values in k8s.yaml and hosted/README.md
  with generic placeholders

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@etserend
etserend merged commit a522c72 into main Aug 25, 2026
13 checks passed
@etserend
etserend deleted the HYBIM-977-healthcare-assistant-splunk-ao-migration branch August 25, 2026 20:38
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants