返回 Discover
Field DispatchGitHub Trending3 · 2026-05-27

rohitg00/ai-engineering-from-scratch

Learn it. Build it. Ship it for others.

Stars
20,594
Today
2,169
Forks
3,437
Issues
54
Language
Python
Updated
2026/05/26
痛点分析发布于 2026/05/26

痛点为 AI 基于上游原始证据的初步提炼;未包含额外中国市场检索。

痛点

这个仓库的标题和描述指向的是AI工程学习资源,但痛点在于学习者需要从零开始系统掌握AI工程技能并实际交付项目。现有学习路径往往碎片化,缺乏从理论到实践的完整闭环,导致学习者花费大量时间在零散教程和工具文档中摸索,难以形成体系化知识结构。同时,缺乏可复用的项目模板和最佳实践,使得从学习到实际构建可交付产品的过程充满试错成本,容易产生挫败感和时间浪费。

README

README summary

<p align="center" <img src="assets/banner.svg" alt="AI Engineering from Scratch — reference manual banner" width="100%" </p

Repository

Repository metadata

Owner
rohitg00
License
MIT
Default branch
main
Days since created
69
Days since last push
0
Funding
available
Signals

Repository signals

Watchers
20,594
Open issues
54
Has funding
Yes
Funding platforms
github, custom
Topics
agentsaiai-agentsai-engineeringcomputer-visioncoursedeep-learningfrom-scratchgenerative-aillmmachine-learningmcpnlppythonreinforcement-learningrustswarm-intelligencetransformerstutorialtypescript
Contributors

Contributor snapshot

Contributor count
7
Top contributor share
0.974
Top contributors
rohitg00, abhinav-m22, github-actions[bot], thereisnotime, ismet
源数据· Raw Archive
source
GitHub Trending
upstream_source
github_trending
upstream_item_id
rohitg00--ai-engineering-from-scratch
daily_ranking_item_id
7a1a2483-218a-4dc5-9ccd-0ecc94b7535b
rank_date
2026-05-27
rank
3
name
ai-engineering-from-scratch
tagline
Learn it. Build it. Ship it for others.
description
Learn it. Build it. Ship it for others.
votes_count
20,594
topics
agentsaiai-agentsai-engineeringcomputer-visioncoursedeep-learningfrom-scratchgenerative-aillmmachine-learningmcpnlppythonreinforcement-learningrustswarm-intelligencetransformerstutorialtypescript
media / source-specific data
{
  "topics": [
    "agents",
    "ai",
    "ai-agents",
    "ai-engineering",
    "computer-vision",
    "course",
    "deep-learning",
    "from-scratch",
    "generative-ai",
    "llm",
    "machine-learning",
    "mcp",
    "nlp",
    "python",
    "reinforcement-learning",
    "rust",
    "swarm-intelligence",
    "transformers",
    "tutorial",
    "typescript"
  ],
  "is_fork": false,
  "license": "MIT",
  "language": "Python",
  "owner_type": "User",
  "forks_total": 3437,
  "has_funding": true,
  "is_archived": false,
  "owner_login": "rohitg00",
  "stars_today": 2169,
  "stars_total": 20594,
  "homepage_url": "https://aiengineeringfromscratch.com",
  "default_branch": "main",
  "last_pushed_at": "2026-05-26T21:04:06Z",
  "readme_summary": "<p align=\"center\" <img src=\"assets/banner.svg\" alt=\"AI Engineering from Scratch — reference manual banner\" width=\"100%\" </p",
  "repo_full_name": "rohitg00/ai-engineering-from-scratch",
  "watchers_count": 20594,
  "last_updated_at": "2026-05-26T21:58:30Z",
  "top_contributors": [
    {
      "login": "rohitg00",
      "contributions": 1286
    },
    {
      "login": "abhinav-m22",
      "contributions": 13
    },
    {
      "login": "github-actions[bot]",
      "contributions": 9
    },
    {
      "login": "thereisnotime",
      "contributions": 6
    },
    {
      "login": "ismet",
      "contributions": 4
    }
  ],
  "contributor_count": 7,
  "funding_platforms": [
    "github",
    "custom"
  ],
  "open_issues_count": 54,
  "days_since_created": 69,
  "created_at_on_source": "2026-03-18T18:38:02Z",
  "days_since_last_push": 0,
  "top_contributor_share": 0.974
}
raw_payload
{
  "fetched_at": "2026-05-26T22:00:35.905Z",
  "trending_repo": {
    "url": "https://github.com/rohitg00/ai-engineering-from-scratch",
    "name": "ai-engineering-from-scratch",
    "rank": 3,
    "forks": 3437,
    "owner": "rohitg00",
    "stars": 20594,
    "fullName": "rohitg00/ai-engineering-from-scratch",
    "language": "Python",
    "avatarUrl": "https://github.com/rohitg00.png",
    "rawSummary": "<div class=\"float-right d-flex\">\n      <a href=\"/sponsors/rohitg00\" aria-label=\"Sponsor @rohitg00\" data-hydro-click=\"{&quot;event_type&quot;:&quot;sponsors.button_click&quot;,&quot;payload&quot;:{&quot;button&quot;:&quot;TRENDING_REPO_SPONSOR&quot;,&quot;sponsorable_login&quot;:&quot;rohitg00&quot;,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"3beb6c5ccc6bbe31762f3efe8203a38bc20ea08b8186f0f69cdb48caa9e487d9\" data-view-component=\"true\" class=\"Button--secondary Button--small Button mr-2 tmp-mr-2\">  <span class=\"Button-content\">\n    <span class=\"Button-label\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-heart icon-sponsor mr-0 tmp-mr-0 mr-md-1 tmp-mr-md-1 v-align-middle color-fg-sponsors anim-pulse-in\">\n    <path d=\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\"></path>\n</svg>\n    <span class=\"d-none d-md-inline v-align-middle\" >\n      Sponsor\n    </span></span>\n  </span>\n</a>\n\n\n      <div data-view-component=\"true\" class=\"BtnGroup d-flex\">\n        <a href=\"/login?return_to=%2Frohitg00%2Fai-engineering-from-scratch\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:1185590488,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"932c48771ddab31962dea3bd3bc2f57d354c7b045c626ffed06e6d86c21c0641\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\">    <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star v-align-text-bottom d-none d-md-inline-block mr-2 tmp-mr-2\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star mr-0 tmp-mr-0 v-align-text-bottom d-inline-block d-md-none\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n        <span data-view-component=\"true\" class=\"d-none d-md-inline\">\n          Star\n</span>\n</a></div>\n  </div>\n\n  <h2 class=\"h3 lh-condensed\">\n    <a data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1185590488,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"5d0d488abfbaf70498210c1fa13413f46243bae3fde17d55781b4aeeab75acf5\" href=\"/rohitg00/ai-engineering-from-scratch\" data-view-component=\"true\" class=\"Link\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo mr-1 tmp-mr-1 color-fg-muted\">\n    <path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"></path>\n</svg>\n\n      <span data-view-component=\"true\" class=\"text-normal\">\n        rohitg00 /\n</span>\n      ai-engineering-from-scratch</a>  </h2>\n\n    <p class=\"col-9 color-fg-muted my-1 tmp-pr-4\">\n      Learn it. Build it. Ship it for others.\n    </p>\n\n  <div class=\"f6 color-fg-muted mt-2\">\n      <span class=\"tmp-mr-3 d-inline-block ml-0 tmp-ml-0\">\n  <span class=\"repo-language-color\" style=\"background-color: #3572A5\"></span>\n  <span itemprop=\"programmingLanguage\">Python</span>\n</span>\n\n\n      <a href=\"/rohitg00/ai-engineering-from-scratch/stargazers\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"star\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n        20,594</a>\n      <a href=\"/rohitg00/ai-engineering-from-scratch/forks\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"fork\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n    <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n        3,437</a>\n      <span data-view-component=\"true\" class=\"tmp-mr-3 d-inline-block\">\n        Built by\n\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/rohitg00/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/rohitg00\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/48523873?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@rohitg00\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/abhinav-m22/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/abhinav-m22\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/113239388?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@abhinav-m22\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/thereisnotime/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/thereisnotime\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/37583483?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@thereisnotime\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/pzy0006/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/pzy0006\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/42953002?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@pzy0006\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/abhishek-marathe04/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/abhishek-marathe04\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/175933950?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@abhishek-marathe04\" /></a>\n</span>\n      <span data-view-component=\"true\" class=\"d-inline-block float-sm-right\">\n        <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n        2,169 stars today\n</span>  </div>",
    "starsToday": 2169,
    "description": "Learn it. Build it. Ship it for others."
  },
  "snapshot_version": "github_trending_v2"
}
source_raw_snapshot
{
  "id": "59bf5967-32bd-4860-80c1-27858762d69b",
  "daily_ranking_item_id": "7a1a2483-218a-4dc5-9ccd-0ecc94b7535b",
  "source": "github_trending",
  "external_id": "rohitg00--ai-engineering-from-scratch",
  "fetched_at": "2026-05-26T22:00:35.905Z",
  "trending_page_raw": {
    "url": "https://github.com/rohitg00/ai-engineering-from-scratch",
    "name": "ai-engineering-from-scratch",
    "rank": 3,
    "forks": 3437,
    "owner": "rohitg00",
    "stars": 20594,
    "language": "Python",
    "full_name": "rohitg00/ai-engineering-from-scratch",
    "avatar_url": "https://github.com/rohitg00.png",
    "description": "Learn it. Build it. Ship it for others.",
    "raw_summary": "<div class=\"float-right d-flex\">\n      <a href=\"/sponsors/rohitg00\" aria-label=\"Sponsor @rohitg00\" data-hydro-click=\"{&quot;event_type&quot;:&quot;sponsors.button_click&quot;,&quot;payload&quot;:{&quot;button&quot;:&quot;TRENDING_REPO_SPONSOR&quot;,&quot;sponsorable_login&quot;:&quot;rohitg00&quot;,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"3beb6c5ccc6bbe31762f3efe8203a38bc20ea08b8186f0f69cdb48caa9e487d9\" data-view-component=\"true\" class=\"Button--secondary Button--small Button mr-2 tmp-mr-2\">  <span class=\"Button-content\">\n    <span class=\"Button-label\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-heart icon-sponsor mr-0 tmp-mr-0 mr-md-1 tmp-mr-md-1 v-align-middle color-fg-sponsors anim-pulse-in\">\n    <path d=\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\"></path>\n</svg>\n    <span class=\"d-none d-md-inline v-align-middle\" >\n      Sponsor\n    </span></span>\n  </span>\n</a>\n\n\n      <div data-view-component=\"true\" class=\"BtnGroup d-flex\">\n        <a href=\"/login?return_to=%2Frohitg00%2Fai-engineering-from-scratch\" rel=\"nofollow\" data-hydro-click=\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:1185590488,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"932c48771ddab31962dea3bd3bc2f57d354c7b045c626ffed06e6d86c21c0641\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\">    <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star v-align-text-bottom d-none d-md-inline-block mr-2 tmp-mr-2\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star mr-0 tmp-mr-0 v-align-text-bottom d-inline-block d-md-none\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n        <span data-view-component=\"true\" class=\"d-none d-md-inline\">\n          Star\n</span>\n</a></div>\n  </div>\n\n  <h2 class=\"h3 lh-condensed\">\n    <a data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1185590488,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:null}}\" data-hydro-click-hmac=\"5d0d488abfbaf70498210c1fa13413f46243bae3fde17d55781b4aeeab75acf5\" href=\"/rohitg00/ai-engineering-from-scratch\" data-view-component=\"true\" class=\"Link\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo mr-1 tmp-mr-1 color-fg-muted\">\n    <path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"></path>\n</svg>\n\n      <span data-view-component=\"true\" class=\"text-normal\">\n        rohitg00 /\n</span>\n      ai-engineering-from-scratch</a>  </h2>\n\n    <p class=\"col-9 color-fg-muted my-1 tmp-pr-4\">\n      Learn it. Build it. Ship it for others.\n    </p>\n\n  <div class=\"f6 color-fg-muted mt-2\">\n      <span class=\"tmp-mr-3 d-inline-block ml-0 tmp-ml-0\">\n  <span class=\"repo-language-color\" style=\"background-color: #3572A5\"></span>\n  <span itemprop=\"programmingLanguage\">Python</span>\n</span>\n\n\n      <a href=\"/rohitg00/ai-engineering-from-scratch/stargazers\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"star\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n        20,594</a>\n      <a href=\"/rohitg00/ai-engineering-from-scratch/forks\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"fork\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n    <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n        3,437</a>\n      <span data-view-component=\"true\" class=\"tmp-mr-3 d-inline-block\">\n        Built by\n\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/rohitg00/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/rohitg00\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/48523873?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@rohitg00\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/abhinav-m22/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/abhinav-m22\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/113239388?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@abhinav-m22\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/thereisnotime/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/thereisnotime\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/37583483?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@thereisnotime\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/pzy0006/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/pzy0006\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/42953002?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@pzy0006\" /></a>\n          <a class=\"d-inline-block\" data-hydro-click=\"{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;TRENDING_REPOSITORIES_PAGE&quot;,&quot;click_target&quot;:&quot;CONTRIBUTING_DEVELOPER&quot;,&quot;click_visual_representation&quot;:&quot;DEVELOPER_AVATAR&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/trending?since=daily&quot;,&quot;user_id&quot;:241900277}}\" data-hydro-click-hmac=\"70f1358b9015ccdce1e5584758bc5aa72252ae6923931c3ea84ec41dad7b9666\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/abhishek-marathe04/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/abhishek-marathe04\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/175933950?s=40&amp;v=4\" width=\"20\" height=\"20\" alt=\"@abhishek-marathe04\" /></a>\n</span>\n      <span data-view-component=\"true\" class=\"d-inline-block float-sm-right\">\n        <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n    <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n        2,169 stars today\n</span>  </div>",
    "stars_today": 2169
  },
  "repo_detail_raw": {
    "id": 1185590488,
    "url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch",
    "fork": false,
    "name": "ai-engineering-from-scratch",
    "size": 9310,
    "forks": 3437,
    "owner": {
      "id": 48523873,
      "url": "https://api.github.com/users/rohitg00",
      "type": "User",
      "login": "rohitg00",
      "node_id": "MDQ6VXNlcjQ4NTIzODcz",
      "html_url": "https://github.com/rohitg00",
      "gists_url": "https://api.github.com/users/rohitg00/gists{/gist_id}",
      "repos_url": "https://api.github.com/users/rohitg00/repos",
      "avatar_url": "https://avatars.githubusercontent.com/u/48523873?v=4",
      "events_url": "https://api.github.com/users/rohitg00/events{/privacy}",
      "site_admin": false,
      "gravatar_id": "",
      "starred_url": "https://api.github.com/users/rohitg00/starred{/owner}{/repo}",
      "followers_url": "https://api.github.com/users/rohitg00/followers",
      "following_url": "https://api.github.com/users/rohitg00/following{/other_user}",
      "user_view_type": "public",
      "organizations_url": "https://api.github.com/users/rohitg00/orgs",
      "subscriptions_url": "https://api.github.com/users/rohitg00/subscriptions",
      "received_events_url": "https://api.github.com/users/rohitg00/received_events"
    },
    "topics": [
      "agents",
      "ai",
      "ai-agents",
      "ai-engineering",
      "computer-vision",
      "course",
      "deep-learning",
      "from-scratch",
      "generative-ai",
      "llm",
      "machine-learning",
      "mcp",
      "nlp",
      "python",
      "reinforcement-learning",
      "rust",
      "swarm-intelligence",
      "transformers",
      "tutorial",
      "typescript"
    ],
    "git_url": "git://github.com/rohitg00/ai-engineering-from-scratch.git",
    "license": {
      "key": "mit",
      "url": "https://api.github.com/licenses/mit",
      "name": "MIT License",
      "node_id": "MDc6TGljZW5zZTEz",
      "spdx_id": "MIT"
    },
    "node_id": "R_kgDORqqs2A",
    "private": false,
    "ssh_url": "git@github.com:rohitg00/ai-engineering-from-scratch.git",
    "svn_url": "https://github.com/rohitg00/ai-engineering-from-scratch",
    "archived": false,
    "disabled": false,
    "has_wiki": true,
    "homepage": "https://aiengineeringfromscratch.com",
    "html_url": "https://github.com/rohitg00/ai-engineering-from-scratch",
    "keys_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/keys{/key_id}",
    "language": "Python",
    "tags_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/tags",
    "watchers": 20594,
    "blobs_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/git/blobs{/sha}",
    "clone_url": "https://github.com/rohitg00/ai-engineering-from-scratch.git",
    "forks_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/forks",
    "full_name": "rohitg00/ai-engineering-from-scratch",
    "has_pages": true,
    "hooks_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/hooks",
    "pulls_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/pulls{/number}",
    "pushed_at": "2026-05-26T21:04:06Z",
    "teams_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/teams",
    "trees_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/git/trees{/sha}",
    "created_at": "2026-03-18T18:38:02Z",
    "events_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/events",
    "has_issues": true,
    "issues_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/issues{/number}",
    "labels_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/labels{/name}",
    "merges_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/merges",
    "mirror_url": null,
    "updated_at": "2026-05-26T21:58:30Z",
    "visibility": "public",
    "archive_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/{archive_format}{/ref}",
    "commits_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/commits{/sha}",
    "compare_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/compare/{base}...{head}",
    "description": "Learn it. Build it. Ship it for others.",
    "forks_count": 3437,
    "is_template": false,
    "open_issues": 54,
    "branches_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/branches{/branch}",
    "comments_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/comments{/number}",
    "contents_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/contents/{+path}",
    "git_refs_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/git/refs{/sha}",
    "git_tags_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/git/tags{/sha}",
    "has_projects": true,
    "releases_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/releases{/id}",
    "statuses_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/statuses/{sha}",
    "allow_forking": true,
    "assignees_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/assignees{/user}",
    "downloads_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/downloads",
    "has_downloads": true,
    "languages_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/languages",
    "network_count": 3437,
    "default_branch": "main",
    "milestones_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/milestones{/number}",
    "stargazers_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/stargazers",
    "watchers_count": 20594,
    "deployments_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/deployments",
    "git_commits_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/git/commits{/sha}",
    "has_discussions": false,
    "subscribers_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/subscribers",
    "contributors_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/contributors",
    "issue_events_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/issues/events{/number}",
    "stargazers_count": 20594,
    "subscription_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/subscription",
    "temp_clone_token": null,
    "collaborators_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/collaborators{/collaborator}",
    "has_pull_requests": true,
    "issue_comment_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/issues/comments{/number}",
    "notifications_url": "https://api.github.com/repos/rohitg00/ai-engineering-from-scratch/notifications{?since,all,participating}",
    "open_issues_count": 54,
    "subscribers_count": 152,
    "web_commit_signoff_required": false,
    "pull_request_creation_policy": "all"
  },
  "readme_raw": {
    "summary": "<p align=\"center\" <img src=\"assets/banner.svg\" alt=\"AI Engineering from Scratch — reference manual banner\" width=\"100%\" </p",
    "raw_text": "<p align=\"center\">\n  <img src=\"assets/banner.svg\" alt=\"AI Engineering from Scratch — reference manual banner\" width=\"100%\">\n</p>\n\n<p align=\"center\">\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-1a1a1a?style=flat-square&labelColor=fafaf5\" alt=\"MIT License\"></a>\n  <a href=\"ROADMAP.md\"><img src=\"https://img.shields.io/badge/lessons-435-3553ff?style=flat-square&labelColor=fafaf5\" alt=\"435 lessons\"></a>\n  <a href=\"#contents\"><img src=\"https://img.shields.io/badge/phases-20-3553ff?style=flat-square&labelColor=fafaf5\" alt=\"20 phases\"></a>\n  <a href=\"https://github.com/rohitg00/ai-engineering-from-scratch/stargazers\"><img src=\"https://img.shields.io/github/stars/rohitg00/ai-engineering-from-scratch?style=flat-square&labelColor=fafaf5&color=3553ff\" alt=\"GitHub stars\"></a>\n  <a href=\"https://aiengineeringfromscratch.com\"><img src=\"https://img.shields.io/badge/web-aiengineeringfromscratch.com-3553ff?style=flat-square&labelColor=fafaf5\" alt=\"Website\"></a>\n</p>\n\n```\n░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒\n```\n\n> **84% of students already use AI tools. Only 18% feel prepared to use them\n> professionally.** This curriculum closes that gap.\n>\n> 435 lessons. 20 phases. ~320 hours. Python, TypeScript, Rust, Julia. Every lesson ships\n> a reusable artifact: a prompt, a skill, an agent, an MCP server. Free, open source, MIT.\n>\n> You don't just learn AI. You build it. End-to-end. By hand.\n\n## How this works\n\nMost AI material teaches in scattered pieces. A paper here, a fine-tuning post there, a\nflashy agent demo somewhere else. The pieces rarely line up. You ship a chatbot but can't\nexplain its loss curve. You hook a function to an agent but can't say what attention does\ninside the model that's calling it.\n\nThis curriculum is the spine. 20 phases, 435 lessons, four languages: Python, TypeScript,\nRust, Julia. Linear algebra at one end, autonomous swarms at the other. Every algorithm\ngets built from raw math first",
    "raw_text_truncated": true
  },
  "contributors_raw": {
    "truncated": false,
    "contributors": [
      {
        "type": "User",
        "login": "rohitg00",
        "html_url": "https://github.com/rohitg00",
        "contributions": 1286
      },
      {
        "type": "User",
        "login": "abhinav-m22",
        "html_url": "https://github.com/abhinav-m22",
        "contributions": 13
      },
      {
        "type": "Bot",
        "login": "github-actions[bot]",
        "html_url": "https://github.com/apps/github-actions",
        "contributions": 9
      },
      {
        "type": "User",
        "login": "thereisnotime",
        "html_url": "https://github.com/thereisnotime",
        "contributions": 6
      },
      {
        "type": "User",
        "login": "ismet",
        "html_url": "https://github.com/ismet",
        "contributions": 4
      },
      {
        "type": "User",
        "login": "abhishek-marathe04",
        "html_url": "https://github.com/abhishek-marathe04",
        "contributions": 1
      },
      {
        "type": "User",
        "login": "pzy0006",
        "html_url": "https://github.com/pzy0006",
        "contributions": 1
      }
    ]
  },
  "funding_raw": {
    "path": ".github/FUNDING.yml",
    "exists": true,
    "content": "github: [rohitg00]\ncustom: [\"https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SPONSORS.md\"]\n"
  },
  "stats_raw": {
    "forks_total": 3437,
    "stars_today": 2169,
    "stars_total": 20594,
    "watchers_count": 20594,
    "open_issues_count": 54
  },
  "aux_raw": {
    "selected_fields": {
      "topics": [
        "agents",
        "ai",
        "ai-agents",
        "ai-engineering",
        "computer-vision",
        "course",
        "deep-learning",
        "from-scratch",
        "generative-ai",
        "llm",
        "machine-learning",
        "mcp",
        "nlp",
        "python",
        "reinforcement-learning",
        "rust",
        "swarm-intelligence",
        "transformers",
        "tutorial",
        "typescript"
      ],
      "is_fork": false,
      "license": "MIT",
      "language": "Python",
      "owner_type": "User",
      "forks_total": 3437,
      "has_funding": true,
      "is_archived": false,
      "owner_login": "rohitg00",
      "stars_today": 2169,
      "stars_total": 20594,
      "homepage_url": "https://aiengineeringfromscratch.com",
      "default_branch": "main",
      "last_pushed_at": "2026-05-26T21:04:06Z",
      "readme_summary": "<p align=\"center\" <img src=\"assets/banner.svg\" alt=\"AI Engineering from Scratch — reference manual banner\" width=\"100%\" </p",
      "repo_full_name": "rohitg00/ai-engineering-from-scratch",
      "watchers_count": 20594,
      "last_updated_at": "2026-05-26T21:58:30Z",
      "top_contributors": [
        {
          "login": "rohitg00",
          "contributions": 1286
        },
        {
          "login": "abhinav-m22",
          "contributions": 13
        },
        {
          "login": "github-actions[bot]",
          "contributions": 9
        },
        {
          "login": "thereisnotime",
          "contributions": 6
        },
        {
          "login": "ismet",
          "contributions": 4
        }
      ],
      "contributor_count": 7,
      "funding_platforms": [
        "github",
        "custom"
      ],
      "open_issues_count": 54,
      "days_since_created": 69,
      "created_at_on_source": "2026-03-18T18:38:02Z",
      "days_since_last_push": 0,
      "top_contributor_share": 0.974
    }
  },
  "selection_meta": {
    "readme_status": "ok",
    "funding_status": "ok",
    "missing_enrichment": [],
    "repo_detail_status": "ok",
    "contributors_status": "ok"
  },
  "created_at": "2026-05-26T22:00:38.445Z",
  "updated_at": "2026-05-26T22:00:38.445Z"
}