Skip to content

Conversation

@pratyushuniv2022-code
Copy link

@pratyushuniv2022-code pratyushuniv2022-code commented Oct 15, 2025

Closes #171.

Summary:

  • Add GitHubModelsClient and GitHubProvider to support GitHub Models inference endpoints.
  • Add unit tests (mocked) at src/test/... to validate provider parsing without network/Docker.
  • Add example workflow at examples/github-provider-example.yaml.

Notes:

  • Local build done with ./gradlew build -x test. Integration tests that require Docker were not run locally.
  • Unit tests provided should pass in CI without Docker. Please let me know if maintainers want integration tests added (they require Docker/model pulls).

PR readiness checklist

  • Code compiles locally: ./gradlew clean build -x test
  • Unit tests added and passing: ./gradlew test --tests "io.kestra.plugin.ai.provider.github.GitHubProviderTest"
  • Example workflow added: examples/github-provider-example.yaml
  • No secrets committed; token usage shown via {{ secrets.GITHUB_MODELS_TOKEN }}
  • Integration tests (Docker/Testcontainers) not run locally due to Docker / model pulls; CI should run those. Please let me know if maintainers want me to add integration tests or adjust tags to run them in Docker-enabled CI.

@github-project-automation github-project-automation bot moved this to To review in Pull Requests Oct 15, 2025
@MilosPaunovic MilosPaunovic requested review from a team and Malaydewangan09 October 16, 2025 08:46
@MilosPaunovic
Copy link
Member

Just a small note for the future, if you could use GitHub Keywords when opening PRs to connect it to the proper issue (to automate the entire process a bit more), it would be super helpful to us. You can read a bit more about it here (I've added closing keyword for this particular issue).

Copy link
Member

@Malaydewangan09 Malaydewangan09 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @pratyushuniv2022-code, thanks for the contribution! 🚀
Did you gave a look at already existing providers on how they have been implemented?
for ref

@pratyushuniv2022-code
Copy link
Author

Just a small note for the future, if you could use GitHub Keywords when opening PRs to connect it to the proper issue (to automate the entire process a bit more), it would be super helpful to us. You can read a bit more about it here (I've added closing keyword for this particular issue).

Hey @pratyushuniv2022-code, thanks for the contribution! 🚀
Did you gave a look at already existing providers on how they have been implemented?
for ref

Hey @Malaydewangan09 and @MilosPaunovic just to confirm the expected implementation style before I proceed:
Currently, my GitHubProvider uses a lightweight custom adapter (GitHubModelsClient) that directly handles the HTTP requests and response parsing for chat/embeddings.
I noticed other providers (like OpenAI and Anthropic) are implemented through LangChain4j’s ChatModel abstraction.
Would you prefer that I refactor this to wrap my client in a LangChain4j ChatModel (e.g., GitHubLangChainChatModelAdapter) so it’s consistent with the rest of the ecosystem or is the current direct approach acceptable for now?
Happy to align it whichever way you’d prefer. Also open to any other suggestions or improvements you might have.

@Malaydewangan09
Copy link
Member

Yes, @pratyushuniv2022-code that would be great, thanks!

@MilosPaunovic MilosPaunovic added kind/external Pull requests raised by community contributors area/plugin Plugin-related issue or feature request labels Oct 22, 2025
@fdelbrayelle
Copy link
Contributor

Hello @Pratyushstark 👋 Any update on this one?

@Malaydewangan09
Copy link
Member

Hey @pratyushuniv2022-code 👋, are there any updates on this?

@fdelbrayelle fdelbrayelle changed the title Title: feat(plugin-ai): add GitHub Models provider (chat + embeddings) feat(provider): add GitHub Models provider (chat + embeddings) Nov 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/plugin Plugin-related issue or feature request kind/external Pull requests raised by community contributors

Projects

Status: To review

Development

Successfully merging this pull request may close these issues.

Add support for GitHub Models

5 participants