{"id":89716,"date":"2025-07-23T09:00:00","date_gmt":"2025-07-23T16:00:00","guid":{"rendered":"https:\/\/github.blog\/?p=89716"},"modified":"2025-08-01T15:52:04","modified_gmt":"2025-08-01T22:52:04","slug":"solving-the-inference-problem-for-open-source-ai-projects-with-github-models","status":"publish","type":"post","link":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/","title":{"rendered":"Solving the inference problem for open source AI projects with GitHub Models"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p>AI features can make an open source project shine. At least, until setup asks for a paid inference API key.&nbsp; Requiring contributors or even casual users to bring their own large language model (LLM) key stops adoption in its tracks:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-javascript\"><code>$ my-cool-ai-tool\nError: OPENAI_API_KEY not found<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"$ my-cool-ai-tool\nError: OPENAI_API_KEY not found\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>Developers may not want to buy a paid plan just to try out your tool, and self hosting a model can be too heavy for laptops or GitHub Actions runners.&nbsp;<\/p>\n\n\n\n<p>GitHub Models solves that friction with a free, OpenAI-compatible inference API that every GitHub account can use with no new keys, consoles, or SDKs required. In this article, we&rsquo;ll show you how to drop it into your project, run it in CI\/CD, and scale when your community takes off.<\/p>\n\n\n\n<p>Let&rsquo;s jump in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-hidden-cost-of-just-add-ai\">The hidden cost of &ldquo;just add AI&rdquo;<\/h2>\n\n\n\n<p>AI features feel ubiquitous today, but getting them running locally is still a challenge for a few reasons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Paid APIs: <\/strong>The simplest path is to ask users for an OpenAI or Anthropic key. That&rsquo;s a non-starter for many hobbyists and students because paid APIs are too expensive.<\/li>\n\n\n\n<li><strong>Local models: <\/strong>Running a 2 B-parameter LLM can work for lightweight tasks, but anything that requires more intelligence will quickly blow past typical laptop memory &mdash; let alone the 14 GB container that backs a GitHub Actions runner.<\/li>\n\n\n\n<li><strong>Docker images and weights: <\/strong>You can bundle a model with your app, but distributing multi-gigabyte weights balloons install size and slows CI.<\/li>\n<\/ul>\n\n\n\n<p>Every additional requirement filters out potential users and contributors. What you need is an inference endpoint that&rsquo;s:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Free for public projects<\/li>\n\n\n\n<li>Compatible with existing OpenAI SDKs<\/li>\n\n\n\n<li>Available wherever your code runs, like your laptop, server, or Actions runner<\/li>\n<\/ol>\n\n\n\n<p>That&rsquo;s what GitHub Models provides.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-github-models-in-a-nutshell\">GitHub Models in a nutshell<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it is: <\/strong>A REST endpoint that speaks the chat\/completions spec you already know.<\/li>\n\n\n\n<li><strong>What you get: <\/strong>A curated set of models (GPT-4o, DeepSeek-R1, Llama 3, and more) hosted by GitHub.<\/li>\n\n\n\n<li><strong>Who can call it: <\/strong>Anyone with a GitHub Personal Access Token (PAT), or a repository&rsquo;s built-in GITHUB_TOKEN when you opt-in via permissions.<\/li>\n\n\n\n<li><strong>How much it costs:<\/strong> Free tier for all personal accounts and OSS orgs; metered paid tier unlocks higher throughput and larger context windows.<\/li>\n<\/ul>\n\n\n\n<p>Because the API mirrors OpenAI&rsquo;s, any client that accepts a baseURL will work without code changes. This includes OpenAI-JS, OpenAI Python, LangChain, llamacpp, or your own curl script.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-get-started-with-github-models\">How to get started with GitHub Models<\/h2>\n\n\n\n<p>Since GitHub Models is compatible with the OpenAI <code>chat\/completions<\/code> API, almost every inference SDK can use it. To get started, you can use the OpenAI SDK:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code langauge-javascript\"><code>import OpenAI from \"openai\";\n\nconst openai = new OpenAI({\n  baseURL: \"https:\/\/models.github.ai\/inference\/chat\/completions\",\n  apiKey: process.env.GITHUB_TOKEN  \/\/ or any PAT with models:read\n});\n\nconst res = await openai.chat.completions.create({\n  model: \"openai\/gpt-4o\",\n  messages: [{ role: \"user\", content: \"Hi!\" }]\n});\nconsole.log(res.choices[0].message.content);<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value='import OpenAI from \"openai\";\n\nconst openai = new OpenAI({\n  baseURL: \"https:\/\/models.github.ai\/inference\/chat\/completions\",\n  apiKey: process.env.GITHUB_TOKEN  \/\/ or any PAT with models:read\n});\n\nconst res = await openai.chat.completions.create({\n  model: \"openai\/gpt-4o\",\n  messages: [{ role: \"user\", content: \"Hi!\" }]\n});\nconsole.log(res.choices[0].message.content);' tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>If you write your AI open source software with GitHub Models as an inference provider, all GitHub users will be able to get up and running with it just by supplying a GitHub Personal Access Token (PAT).<\/p>\n\n\n\n<p>And if your software runs in GitHub Actions, your users won&rsquo;t even need to supply a PAT. By requesting the <code>models: read<\/code> permission in your workflow file, the built-in GitHub token will have permissions to make inference requests to GitHub Models. This means you can build a whole array of AI-powered Actions that can be shared and installed with a single click. For instance:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Code review or PR triage bots<\/li>\n\n\n\n<li>Smart issue tagging workflows<\/li>\n\n\n\n<li>Weekly repository activity report generators<\/li>\n\n\n\n<li>And anything else that a GitHub Action can do<\/li>\n<\/ul>\n\n\n\n<p>Plus, using GitHub Models makes it easy for your users to set up AI inference. And that has another positive effect: it&rsquo;s easier for your <em>contributors<\/em> to set up AI inference as well. When anyone with a GitHub account can run your code end to end, you&rsquo;ll be able to get contributions from the whole range of GitHub users, not just the ones with an OpenAI key.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-zero-configuration-ci-with-github-actions\">Zero-configuration CI with GitHub Actions<\/h3>\n\n\n\n<p>Publishing an Action that relies on AI used to require users to add their inference API key as a GitHub Actions secret. Now you can ship a one-click install:<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>yaml \n\n# .github\/workflows\/triage.yml\npermissions:\n  contents: read\n  issues: write\n  models: read   # &#128072; unlocks GitHub Models for the GITHUB_TOKEN\n\njobs:\n  triage:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n      - name: Smart issue triage\n        run: node scripts\/triage.js<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"yaml \n\n# .github\/workflows\/triage.yml\npermissions:\n  contents: read\n  issues: write\n  models: read   # &#128072; unlocks GitHub Models for the GITHUB_TOKEN\n\njobs:\n  triage:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n      - name: Smart issue triage\n        run: node scripts\/triage.js\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>The runner&rsquo;s <code>GITHUB_TOKEN<\/code> carries the <code>models:read<\/code> scope, so your Action can call any model without extra setup. This makes it well suited for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automated pull request summaries<\/li>\n\n\n\n<li>Issue deduplication and tagging<\/li>\n\n\n\n<li>Weekly repository digests<\/li>\n\n\n\n<li>Anything else you can script in an Action<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"scaling-when-your-project-takes-off\">Scaling when your project takes off<\/h2>\n\n\n\n<p>The GitHub Models inference API is free for everyone. But if you or your users want to do more inference than the free rate limits allow, you can turn on <a href=\"https:\/\/docs.github.com\/en\/billing\/managing-billing-for-your-products\/about-billing-for-github-models\">paid inference<\/a> in your settings for significantly larger context windows and higher requests-per-minute.&nbsp;<\/p>\n\n\n\n<p>When your community grows, so will traffic. So it&rsquo;s important to consider the following:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Requests per minute (RPM)<\/strong>: While the free tier offers default limits, the paid tier offers multiples higher.<\/li>\n\n\n\n<li><strong>Context window<\/strong>: Free tier tops out at standard model limits; paid enables 128k tokens on supported models.<\/li>\n\n\n\n<li><strong>Latency<\/strong>: The paid tier runs in its own separate deployment, so you&rsquo;re not in the same queue as free tier users.<\/li>\n<\/ul>\n\n\n\n<p>To get started, you can enable paid usage in <strong>Settings &gt; Models <\/strong>for your org or enterprise. Your existing clients and tokens will keep working (but they&rsquo;ll be faster and support bigger contexts).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"take-this-with-you\">Take this with you<\/h2>\n\n\n\n<p>LLMs are transforming how developers build and ship software, but requiring users to supply their own paid API key can be a barrier to entry. The magic only happens when the first <code>npm install<\/code>, <code>cargo run<\/code>, or <code>go test<\/code> just works.<\/p>\n\n\n\n<p>If you maintain an AI-powered open source codebase, you should consider adding GitHub Models as a default inference provider. Your users already have free AI inference via GitHub, so there&rsquo;s little downside to letting them use it with your code. That&rsquo;s doubly true if your project is able to run in GitHub Actions. The best API key is no API key!<\/p>\n\n\n\n<p>By making high-quality inference a free default for every developer on GitHub, GitHub Models gets rid of the biggest blocker to OSS AI adoption. And that opens the door to more contributions, faster onboarding, and happier users.<\/p>\n\n\n\n<div class=\"wp-block-group post-content-cta has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Want to give it a try? <strong>Check out the<\/strong><a href=\"https:\/\/docs.github.com\/en\/github-models\"><strong> GitHub Models documentation<\/strong><\/a><strong> or jump straight into the<\/strong><a href=\"https:\/\/docs.github.com\/en\/github-models\/reference\"><strong> API reference<\/strong><\/a> and start shipping AI features that just work today.<\/p>\n<\/div>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>How using GitHub\u2019s free inference API can make your AI-powered open source software more accessible.<\/p>\n","protected":false},"author":2349,"featured_media":89718,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"yes","_gh_post_is_no_robots":"","_gh_post_is_featured":"yes","_gh_post_is_excluded":"","_gh_post_is_unlisted":"","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"","_gh_post_sq_img_id":"","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"","_gh_post_recirc_hide":"","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"","_gh_post_additional_query_params":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2},"_wpas_customize_per_network":false,"_links_to":"","_links_to_target":""},"categories":[3293,3296],"tags":[3654,769,3444],"coauthors":[3712],"class_list":["post-89716","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-and-ml","category-llms","tag-ai-models","tag-ci-cd","tag-github-models"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Solving the inference problem for open source AI projects with GitHub Models - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"How using GitHub\u2019s free inference API can make your AI-powered open source software more accessible.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solving the inference problem for open source AI projects with GitHub Models\" \/>\n<meta property=\"og:description\" content=\"How using GitHub\u2019s free inference API can make your AI-powered open source software more accessible.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-23T16:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-01T22:52:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2025\/07\/wallpaper-generic-image-logo-github.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sean Goedecke\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sean Goedecke\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/\"},\"author\":{\"name\":\"Sean Goedecke\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/206b6b6fd68d8957775748722f312086\"},\"headline\":\"Solving the inference problem for open source AI projects with GitHub Models\",\"datePublished\":\"2025-07-23T16:00:00+00:00\",\"dateModified\":\"2025-08-01T22:52:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/\"},\"wordCount\":1032,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080\",\"keywords\":[\"AI models\",\"CI\\\/CD\",\"GitHub Models\"],\"articleSection\":[\"AI &amp; ML\",\"LLMs\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/\",\"name\":\"Solving the inference problem for open source AI projects with GitHub Models - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080\",\"datePublished\":\"2025-07-23T16:00:00+00:00\",\"dateModified\":\"2025-08-01T22:52:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/206b6b6fd68d8957775748722f312086\"},\"description\":\"How using GitHub\u2019s free inference API can make your AI-powered open source software more accessible.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI &amp; ML\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"LLMs\",\"item\":\"https:\\\/\\\/github.blog\\\/ai-and-ml\\\/llms\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Solving the inference problem for open source AI projects with GitHub Models\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/206b6b6fd68d8957775748722f312086\",\"name\":\"Sean Goedecke\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b4f2b75feab76530640dadba1a154f5954ba326a066af0a0aad0c59ecd2808e0?s=96&d=mm&r=g9481202a6a0bbbc6fb16f51115788d7a\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b4f2b75feab76530640dadba1a154f5954ba326a066af0a0aad0c59ecd2808e0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b4f2b75feab76530640dadba1a154f5954ba326a066af0a0aad0c59ecd2808e0?s=96&d=mm&r=g\",\"caption\":\"Sean Goedecke\"},\"description\":\"Sean is a software engineer at GitHub, working on GitHub Models.\",\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/sgoedecke\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Solving the inference problem for open source AI projects with GitHub Models - The GitHub Blog","description":"How using GitHub\u2019s free inference API can make your AI-powered open source software more accessible.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/","og_locale":"en_US","og_type":"article","og_title":"Solving the inference problem for open source AI projects with GitHub Models","og_description":"How using GitHub\u2019s free inference API can make your AI-powered open source software more accessible.","og_url":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/","og_site_name":"The GitHub Blog","article_published_time":"2025-07-23T16:00:00+00:00","article_modified_time":"2025-08-01T22:52:04+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/github.blog\/wp-content\/uploads\/2025\/07\/wallpaper-generic-image-logo-github.png","type":"image\/png"}],"author":"Sean Goedecke","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sean Goedecke","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/#article","isPartOf":{"@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/"},"author":{"name":"Sean Goedecke","@id":"https:\/\/github.blog\/#\/schema\/person\/206b6b6fd68d8957775748722f312086"},"headline":"Solving the inference problem for open source AI projects with GitHub Models","datePublished":"2025-07-23T16:00:00+00:00","dateModified":"2025-08-01T22:52:04+00:00","mainEntityOfPage":{"@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/"},"wordCount":1032,"image":{"@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2025\/07\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080","keywords":["AI models","CI\/CD","GitHub Models"],"articleSection":["AI &amp; ML","LLMs"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/","url":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/","name":"Solving the inference problem for open source AI projects with GitHub Models - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2025\/07\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080","datePublished":"2025-07-23T16:00:00+00:00","dateModified":"2025-08-01T22:52:04+00:00","author":{"@id":"https:\/\/github.blog\/#\/schema\/person\/206b6b6fd68d8957775748722f312086"},"description":"How using GitHub\u2019s free inference API can make your AI-powered open source software more accessible.","breadcrumb":{"@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/#primaryimage","url":"https:\/\/github.blog\/wp-content\/uploads\/2025\/07\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080","contentUrl":"https:\/\/github.blog\/wp-content\/uploads\/2025\/07\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/ai-and-ml\/llms\/solving-the-inference-problem-for-open-source-ai-projects-with-github-models\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"AI &amp; ML","item":"https:\/\/github.blog\/ai-and-ml\/"},{"@type":"ListItem","position":3,"name":"LLMs","item":"https:\/\/github.blog\/ai-and-ml\/llms\/"},{"@type":"ListItem","position":4,"name":"Solving the inference problem for open source AI projects with GitHub Models"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/github.blog\/#\/schema\/person\/206b6b6fd68d8957775748722f312086","name":"Sean Goedecke","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b4f2b75feab76530640dadba1a154f5954ba326a066af0a0aad0c59ecd2808e0?s=96&d=mm&r=g9481202a6a0bbbc6fb16f51115788d7a","url":"https:\/\/secure.gravatar.com\/avatar\/b4f2b75feab76530640dadba1a154f5954ba326a066af0a0aad0c59ecd2808e0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4f2b75feab76530640dadba1a154f5954ba326a066af0a0aad0c59ecd2808e0?s=96&d=mm&r=g","caption":"Sean Goedecke"},"description":"Sean is a software engineer at GitHub, working on GitHub Models.","url":"https:\/\/github.blog\/author\/sgoedecke\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/github.blog\/wp-content\/uploads\/2025\/07\/wallpaper-generic-image-logo-github.png?fit=1920%2C1080","jetpack_shortlink":"https:\/\/wp.me\/pamS32-nl2","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/89716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/2349"}],"replies":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/comments?post=89716"}],"version-history":[{"count":5,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/89716\/revisions"}],"predecessor-version":[{"id":89934,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/89716\/revisions\/89934"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media\/89718"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=89716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/categories?post=89716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/tags?post=89716"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=89716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}