feat: add HPC-AI model provider support#3109
feat: add HPC-AI model provider support#3109lioZ129 wants to merge 2 commits intodeepset-ai:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new HPC-AI integration package to this repository, providing an OpenAI-compatible chat generator component and wiring it into the repo’s CI and inventory.
Changes:
- Introduces
hpc-ai-haystackintegration withHPCAIChatGenerator(OpenAI-compatible) plus examples and packaging metadata. - Adds unit/integration tests for sync + async usage (including tools + streaming).
- Wires the integration into repo-level README, labeler, and coverage/CI workflows.
Reviewed changes
Copilot reviewed 17 out of 19 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Adds hpc-ai-haystack to the integrations inventory table. |
| integrations/hpc_ai/src/haystack_integrations/components/generators/hpc_ai/chat/chat_generator.py | Implements HPCAIChatGenerator with HPC-AI defaults and OpenAI-compatible request shaping. |
| integrations/hpc_ai/src/haystack_integrations/components/generators/hpc_ai/init.py | Exposes HPCAIChatGenerator from the integration package. |
| integrations/hpc_ai/tests/test_hpc_ai_chat_generator.py | Adds sync tests for init/serde/run/tool-calls/streaming conversion. |
| integrations/hpc_ai/tests/test_hpc_ai_chat_generator_async.py | Adds async tests for init/run/streaming/tool calling. |
| integrations/hpc_ai/tests/test_hpc_ai_stub_async.py | Adds a trivial async test (currently redundant). |
| integrations/hpc_ai/pyproject.toml | Defines packaging, lint/type/test tooling, and coverage config for the integration. |
| integrations/hpc_ai/README.md | Documents env vars and pointers for contributing/testing. |
| integrations/hpc_ai/examples/* | Adds basic + tool-calling examples for the new generator. |
| integrations/hpc_ai/pydoc/config_docusaurus.yml | Registers module for pydoc generation. |
| .github/workflows/hpc_ai.yml | Adds CI workflow for the integration (lint/types/tests/coverage). |
| .github/workflows/CI_coverage_comment.yml | Adds the new workflow name to coverage-comment triggering. |
| .github/labeler.yml | Adds label rules for changes under integrations/hpc_ai. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@bogdankostic could you please review these PRs? |
|
Thanks for the PR, @lioZ129! Alternatively, you can always release this as an external integration (for example with the help of our custom component template repo). |
|
@bogdankostic Thanks for the clarification! Understood on the process for new integrations. I’ve opened a dedicated “New Integration Proposal” issue here: #3122 I’ll wait for feedback there first and if the proposal is accepted I can resubmit the implementation as a new PR aligned with the approved scope. |
Two related pr:
Proposed Changes:
hpc-ai-haystackintegration underintegrations/hpc_aiHPCAIChatGenerator, built on top of Haystack'sOpenAIChatGenerator, to support HPC-AI's OpenAI-compatible APIHPC_AI_API_KEYfor authenticationHPC_AI_BASE_URLas an optional overridehttps://api.hpc-ai.com/inference/v1as the default base URLSUPPORTED_MODELS:minimax/minimax-m2.5moonshotai/kimi-k2.5README.md.github/workflows/hpc_ai.yml.github/labeler.yml.github/workflows/CI_coverage_comment.ymlHow did you test it?
hatch run fmt-checkhatch run test:typeshatch run test:unithatch run test:integrationNotes for the reviewer
haystackandhaystack-integrationsrepositoriesChecklist
fix:,feat:,build:,chore:,ci:,docs:,style:,refactor:,perf:,test:.