Is there an existing issue for this?
Is your feature request related to a problem? Please describe the problem.
GitHub Models is a useful way to get up and running with prototyping against GenAI models without the need for anything other than a GitHub account.
They are consumed via the OpenAI SDK, making it simple to integrate into an application.
Describe the solution you'd like
There's currently no Aspire integration that allows you to use GitHub Models, although there is an initial PoC in #6761.
It would be ideal to have a hosting integration that does provide this functionality though, either as part of the Aspire hosting integrations, or if preferred we can create one in the Community Toolkit.
I would expect the hosting integration API to look something like this:
var githubToken = builder.AddParameter("GitHubToken", secret: true);
IResourceBuilder<GitHubModelResource> ghm = builder.AddGitHubModel("chat", "gpt-4o", githubToken);
builder.AddProject<Projects.Api>("api").WithReference(ghm);
This would produce a connection string like so:
Endpoint=https://models.inference.ai.azure.com;Key=<parameter value>;Model=gpt-4o;
Then in the client where the integration is used the connection string is parsed and if they use the MEAI integration, the AsChatClient method call will read the Model off the connection string (which would go down the pathway outlined in #3089 (comment) for AOAI).
Additional context
This is more of a formalisation of #6761 from @mitchdenny
Is there an existing issue for this?
Is your feature request related to a problem? Please describe the problem.
GitHub Models is a useful way to get up and running with prototyping against GenAI models without the need for anything other than a GitHub account.
They are consumed via the OpenAI SDK, making it simple to integrate into an application.
Describe the solution you'd like
There's currently no Aspire integration that allows you to use GitHub Models, although there is an initial PoC in #6761.
It would be ideal to have a hosting integration that does provide this functionality though, either as part of the Aspire hosting integrations, or if preferred we can create one in the Community Toolkit.
I would expect the hosting integration API to look something like this:
This would produce a connection string like so:
Then in the client where the integration is used the connection string is parsed and if they use the MEAI integration, the
AsChatClientmethod call will read theModeloff the connection string (which would go down the pathway outlined in #3089 (comment) for AOAI).Additional context
This is more of a formalisation of #6761 from @mitchdenny