[
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]\npatreon: # Replace with a single Patreon username\nopen_collective: InftyAI\nko_fi: # Replace with a single Ko-fi username\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\nlfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry\npolar: # Replace with a single Polar username\nbuy_me_a_coffee: # Replace with a single Buy Me a Coffee username\nthanks_dev: # Replace with a single thanks.dev username\ncustom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/REQUEST.md",
    "content": "---\nname: Project Request\nabout: Suggest a project to join the list\ntitle: 'Project Request: PROJECT_NAME'\nlabels: documentation\nassignees: ''\n---\n\n## Project Information\n\n<!-- Project name: Agent Development Kit (ADK) -->\n- Project name:\n<!-- Github URL: https://github.com/google/adk-python -->\n- Github URL:\n<!-- Homepage URL: https://google.github.io/adk-docs (optional for MCP Server and MCP Client categories) -->\n- Homepage URL:\n<!-- Logo URL: https://raw.githubusercontent.com/google/adk-python/main/assets/agent-development-kit.png (optional, use default.png if not provided) -->\n- Logo URL:\n<!-- Logo Name: agent-development-kit.png (optional, if you want to specify a custom filename) -->\n\n## Category\n\n<!-- Select one of category for the project -->\n\n- Inference\n    - [ ] Inference Engine\n    - [ ] Inference Platform\n    - [ ] Middleware\n    - [ ] LLM Router\n    - [ ] AI Gateway\n    - [ ] Output\n    - [ ] Simulator\n    - [ ] Benchmark\n- Orchestration\n    - [ ] Application Framework\n    - [ ] Agent Framework\n    - [ ] Evolutionary Framework\n    - [ ] RAG\n    - [ ] Workflow\n- Runtime\n    - [ ] AI Terminal\n    - [ ] AI Agent\n    - [ ] Chatbot\n    - [ ] Code Agent\n    - [ ] Database\n    - [ ] Evolve Agent\n    - [ ] Observation\n    - [ ] Sandbox\n    - [ ] Tool\n- Training\n    - [ ] Framework\n    - [ ] FineTune\n    - [ ] RLHF\n    - [ ] Agentic RL\n    - [ ] Benchmark\n    - [ ] Workflow\n"
  },
  {
    "path": ".github/workflows/kube-workflow-init.yaml",
    "content": "name: Workflow As Kubernetes Initialization\n\non:\n  workflow_dispatch:\n\njobs:\n  call-workflow:\n    uses: kerthcet/github-workflow-as-kube/.github/workflows/workflow-as-kubernetes-init.yaml@v0.1.12\n    secrets:\n      AGENT_TOKEN: ${{ secrets.AGENT_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/kube-workflow.yaml",
    "content": "name: Workflow As Kubernetes\n\non:\n  issues:\n    types:\n      - opened\n  issue_comment:\n    types:\n      - created\n  pull_request_target:\n    types:\n      - opened\n      - labeled\n      - unlabeled\n      - synchronize\n\njobs:\n  call-workflow:\n    uses: kerthcet/github-workflow-as-kube/.github/workflows/workflow-as-kubernetes.yaml@v0.1.12\n    secrets:\n      AGENT_TOKEN: ${{ secrets.AGENT_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/landscape.yml",
    "content": "name: Build and Deploy Landscape\n\non:\n  push:\n    branches: [ main ]\n  pull_request:\n    branches: [ main ]\n  # Allow manual triggering\n  workflow_dispatch:\n\npermissions:\n  contents: read\n  pages: write\n  id-token: write\n\n# Allow only one concurrent deployment\nconcurrency:\n  group: \"pages\"\n  cancel-in-progress: true\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v4\n\n      - name: Setup Pages\n        uses: actions/configure-pages@v4\n        if: github.ref == 'refs/heads/main'\n\n      - name: Install landscape2\n        run: |\n          curl --proto '=https' --tlsv1.2 -LsSf \\\n            https://github.com/cncf/landscape2/releases/download/v0.13.0/landscape2-installer.sh | sh\n          echo \"$HOME/.cargo/bin\" >> $GITHUB_PATH\n\n      - name: Cache landscape data\n        uses: actions/cache@v3\n        with:\n          path: .cache\n          key: ${{ runner.os }}-landscape-cache-${{ hashFiles('website/data.yml', 'website/settings.yml') }}\n          restore-keys: |\n            ${{ runner.os }}-landscape-cache-\n\n      - name: Validate landscape files\n        run: make validate\n\n      - name: Build landscape\n        run: make build\n\n      - name: Upload Pages artifact\n        uses: actions/upload-pages-artifact@v3\n        if: github.ref == 'refs/heads/main'\n        with:\n          path: build\n\n  deploy:\n    if: github.ref == 'refs/heads/main'\n    environment:\n      name: github-pages\n      url: ${{ steps.deployment.outputs.page_url }}\n    runs-on: ubuntu-latest\n    needs: build\n    steps:\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions/deploy-pages@v4 "
  },
  {
    "path": ".github/workflows/project-request.yaml",
    "content": "name: Project Request\non:\n  issues:\n    types: [opened, edited]\n\nenv:\n  GH_TOKEN: ${{ secrets.AGENT_TOKEN }}\n\njobs:\n  process-project-request:\n    if: contains(github.event.issue.title, 'Project Request:')\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout repository\n        uses: actions/checkout@v3\n\n      - name: Set up Python\n        uses: actions/setup-python@v4\n        with:\n          python-version: '3.10'\n\n      - name: Install dependencies\n        run: pip install -r requirements.txt\n\n      - name: Parse issue body\n        id: parse-issue\n        uses: actions/github-script@v6\n        with:\n          script: |\n            const issueBody = context.payload.issue.body;\n            const issueAuthorId = context.payload.issue.user.login;\n\n            // First remove HTML comments from the issue body\n            const bodyWithoutComments = issueBody.replace(/<!--[\\s\\S]*?-->/g, '');\n\n            // Extract Project Information\n            // Project name\n            const projectNameMatch = bodyWithoutComments.match(/- Project name:([^\\n]+)/i);\n            const projectName = projectNameMatch ? projectNameMatch[1].trim() : null;\n            \n            // Github URL\n            const githubUrlMatch = bodyWithoutComments.match(/- Github URL:([^\\n]+)/i);\n            const githubUrl = githubUrlMatch ? githubUrlMatch[1].trim() : null;\n            \n            // Homepage URL\n            const homepageUrlMatch = bodyWithoutComments.match(/- Homepage URL:([^\\n]+)/i);\n            const homepageUrl = homepageUrlMatch ? homepageUrlMatch[1].trim() : null;\n            \n            // Logo URL\n            const logoUrlMatch = bodyWithoutComments.match(/- Logo URL:([^\\n]+)/i);\n            const logoUrl = logoUrlMatch ? logoUrlMatch[1].trim() : null;\n            \n            // Logo Name (optional)\n            const logoNameMatch = bodyWithoutComments.match(/- Logo Name:([^\\n]+)/i);\n            const logoName = logoNameMatch ? logoNameMatch[1].trim() : null;\n\n            // Extract Category - Find the first checked box with [x] and its parent category\n            let category = null;\n            const lines = bodyWithoutComments.split('\\n');\n            let parentCategory = null;\n            \n            for (let i = 0; i < lines.length; i++) {\n              const line = lines[i].trim();\n              \n              // Check if this is a main category line\n              if (line.startsWith('- ') && !line.includes('[')) {\n                parentCategory = line.substring(2).trim();\n              }\n              \n              // Check if this is a checked subcategory\n              if (line.match(/- \\[x\\] (.+)/)) {\n                const subcategory = line.match(/- \\[x\\] (.+)/)[1].trim();\n                if (parentCategory) {\n                  category = `${parentCategory}/${subcategory}`;\n                  break;\n                } else {\n                  category = subcategory;\n                  break;\n                }\n              }\n            }\n\n            // Set outputs\n            core.setOutput('repo-url', githubUrl);\n            core.setOutput('project-name', projectName);\n            core.setOutput('category', category);\n            core.setOutput('logo-url', logoUrl);\n            core.setOutput('logo-name', logoName);\n            core.setOutput('homepage-url', homepageUrl);\n            core.setOutput(\"author-id\", issueAuthorId);\n\n            // Log the extracted information\n            console.log(`Github URL: ${githubUrl}`);\n            console.log(`Project Name: ${projectName}`);\n            console.log(`Homepage URL: ${homepageUrl}`);\n            console.log(`Logo URL: ${logoUrl}`);\n            console.log(`Logo Name: ${logoName}`);\n            console.log(`Category: ${category}`);\n            console.log(`Author ID: ${issueAuthorId}`);\n\n            // Define README_ONLY_CATEGORIES\n            const README_ONLY_CATEGORIES = [\"MCP/MCP Server\", \"MCP/MCP Client\"];\n            \n            // Check if the category is in README_ONLY_CATEGORIES\n            const isReadmeOnly = README_ONLY_CATEGORIES.some(c => c.toLowerCase() === category?.toLowerCase());\n            \n            // Check if we have all required information\n            if (!githubUrl || !projectName || !category) {\n              core.setFailed('Missing required information in the issue');\n              await github.rest.issues.createComment({\n                issue_number: context.issue.number,\n                owner: context.repo.owner,\n                repo: context.repo.repo,\n                body: '❌ Could not process this request. Please make sure you have provided the GitHub repo URL, project name, and selected a category.'\n              });\n              return false;\n            }\n            \n            // For non-README_ONLY_CATEGORIES, check for homepage_url\n            if (!isReadmeOnly && !homepageUrl) {\n              core.setFailed('Missing required information in the issue');\n              await github.rest.issues.createComment({\n                issue_number: context.issue.number,\n                owner: context.repo.owner,\n                repo: context.repo.repo,\n                body: `❌ Could not process this request. Please make sure you have provided the homepage URL.`\n              });\n              return false;\n            }\n\n            return true;\n\n      - name: Check for existing PR\n        if: steps.parse-issue.outputs.result == 'true'\n        id: check-pr\n        uses: actions/github-script@v6\n        with:\n          github-token: ${{ secrets.AGENT_TOKEN }}\n          script: |\n            const { owner, repo } = context.repo;\n            const issueNumber = context.issue.number;\n            const branchName = `add-project-issue-${issueNumber}`;\n            \n            // Search for existing PRs that reference this issue\n            const prs = await github.rest.pulls.list({\n              owner,\n              repo,\n              state: 'open'\n            });\n            \n            // Look for PRs with the expected branch name or that reference this issue\n            let existingPR = null;\n            for (const pr of prs.data) {\n              if (pr.head.ref === branchName || pr.body.includes(`fixes #${issueNumber}`)) {\n                existingPR = pr;\n                break;\n              }\n            }\n            \n            if (existingPR) {\n              console.log(`Found existing PR #${existingPR.number} for issue #${issueNumber}`);\n              core.setOutput('pr-exists', 'true');\n              core.setOutput('pr-number', existingPR.number.toString());\n            } else {\n              console.log(`No existing PR found for issue #${issueNumber}`);\n              core.setOutput('pr-exists', 'false');\n            }\n            \n            // Always set the branch name for later steps\n            core.setOutput('branch-name', branchName);\n\n      - name: Create or update branch\n        if: steps.parse-issue.outputs.result == 'true'\n        run: |\n          git config --global user.name \"InftyAI-Agent\"\n          git config --global user.email \"143625840+InftyAI-Agent@users.noreply.github.com\"\n\n          BRANCH_NAME=\"${{ steps.check-pr.outputs.branch-name }}\"\n          \n          # Check if the branch already exists on remote\n          if git ls-remote --heads origin $BRANCH_NAME | grep -q $BRANCH_NAME; then\n            echo \"Branch $BRANCH_NAME already exists on remote, updating it\"\n            git fetch origin\n            git checkout $BRANCH_NAME || git checkout -b $BRANCH_NAME --track origin/$BRANCH_NAME\n            # Reset to main to get latest changes and avoid conflicts\n            git reset --hard origin/main\n          else\n            echo \"Creating new branch $BRANCH_NAME\"\n            git checkout -b $BRANCH_NAME\n          fi\n          \n          echo \"BRANCH_NAME=$BRANCH_NAME\" >> $GITHUB_ENV\n\n      - name: Run project_request.py script\n        run: |\n          # Define README_ONLY_CATEGORIES\n          README_ONLY_CATEGORIES=(\"MCP/MCP Server\" \"MCP/MCP Client\")\n          CATEGORY=\"${{ steps.parse-issue.outputs.category }}\"\n          \n          # Check if category is in README_ONLY_CATEGORIES\n          IS_README_ONLY=false\n          for c in \"${README_ONLY_CATEGORIES[@]}\"; do\n            if [ \"${c,,}\" = \"${CATEGORY,,}\" ]; then\n              IS_README_ONLY=true\n              break\n            fi\n          done\n          \n          # Build command based on category type\n          CMD=\"python project_request.py \\\n            --category \\\"$CATEGORY\\\" \\\n            --repo_url \\\"${{ steps.parse-issue.outputs.repo-url }}\\\" \\\n            --name \\\"${{ steps.parse-issue.outputs.project-name }}\\\"\"\n          \n          # Add logo_url and homepage_url if provided or required\n          if [ \"$IS_README_ONLY\" = false ] || [ -n \"${{ steps.parse-issue.outputs.logo-url }}\" ]; then\n            CMD=\"$CMD --logo_url \\\"${{ steps.parse-issue.outputs.logo-url }}\\\"\"\n          fi\n          \n          if [ \"$IS_README_ONLY\" = false ] || [ -n \"${{ steps.parse-issue.outputs.homepage-url }}\" ]; then\n            CMD=\"$CMD --homepage_url \\\"${{ steps.parse-issue.outputs.homepage-url }}\\\"\"\n          fi\n          \n          # Add logo_name if provided\n          if [ -n \"${{ steps.parse-issue.outputs.logo-name }}\" ]; then\n            CMD=\"$CMD --logo_name \\\"${{ steps.parse-issue.outputs.logo-name }}\\\"\"\n          fi\n          \n          echo \"Running command: $CMD\"\n          eval $CMD\n\n      - name: Commit changes\n        env:\n          ISSUE_AUTHOR: ${{ steps.parse-issue.outputs.author-id }}\n        run: |\n          git add .\n          git commit -m \"Add ${{ steps.parse-issue.outputs.repo-url }} to ${{ steps.parse-issue.outputs.category }} category\n\n          Co-authored-by: $ISSUE_AUTHOR <$ISSUE_AUTHOR@users.noreply.github.com>\"\n\n          git remote set-url origin https://x-access-token:${GH_TOKEN}@github.com/InftyAI/Awesome-LLMOps.git\n          \n          # Check if we need to force push (if branch already exists)\n          if git ls-remote --heads origin $BRANCH_NAME | grep -q $BRANCH_NAME; then\n            git push --force origin $BRANCH_NAME\n          else\n            git push --set-upstream origin $BRANCH_NAME\n          fi\n\n      - name: Create or Update Pull Request\n        uses: actions/github-script@v6\n        with:\n          github-token: ${{ secrets.AGENT_TOKEN }}\n          script: |\n            const { owner, repo } = context.repo;\n            const issueNumber = context.issue.number;\n            const branchName = process.env.BRANCH_NAME;\n            const prExists = '${{ steps.check-pr.outputs.pr-exists }}' === 'true';\n            const existingPrNumber = '${{ steps.check-pr.outputs.pr-number }}';\n\n            const repoUrl = '${{ steps.parse-issue.outputs.repo-url }}';\n            const category = '${{ steps.parse-issue.outputs.category }}';\n\n            // Get the repository name from the URL\n            const repoName = repoUrl.split('/').pop();\n\n            // Get the user who created the issue\n            const issue = await github.rest.issues.get({\n              owner,\n              repo,\n              issue_number: issueNumber\n            });\n            const issueAuthor = issue.data.user.login;\n            \n            let pr;\n            if (prExists) {\n              // PR already exists, no need to create a new one\n              console.log(`Using existing PR #${existingPrNumber}`);\n              \n              // Add comment to the PR about the update\n              await github.rest.issues.createComment({\n                issue_number: parseInt(existingPrNumber),\n                owner,\n                repo,\n                body: `♻️ PR updated with latest changes from issue #${issueNumber}`\n              });\n              \n              // Add comment to the issue\n              await github.rest.issues.createComment({\n                issue_number: issueNumber,\n                owner,\n                repo,\n                body: `✅ Pull Request #${existingPrNumber} has been updated with your changes`\n              });\n            } else {\n              // Create a new PR\n              pr = await github.rest.pulls.create({\n                owner,\n                repo,\n                title: `Add ${repoName} to ${category}`,\n                body: `fixes #${issueNumber},\n                \n              Co-authored-by: @${issueAuthor}`,\n                head: branchName,\n                base: 'main'\n              });\n\n              // Add comment to the issue\n              await github.rest.issues.createComment({\n                issue_number: issueNumber,\n                owner,\n                repo,\n                body: `✅ Pull Request created: #${pr.data.number}`\n              });\n            }\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\n.cache/\nbuild/"
  },
  {
    "path": "CNAME",
    "content": "awesome-llmops.inftyai.com"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Code of Conduct\n\n👋 Welcome to InftyAI community !\n\n- [Scope](#scope)\n- [Our Standards](#our-standards)\n\n## Scope\n\nThis code of conduct applies within project and community spaces.\n\n## Our Standards\n\nExamples of behavior that contributes to a positive environment include but are not limited to:\n\n- Demonstrating empathy and kindness toward other people\n- Being respectful of differing opinions, viewpoints, and experiences\n- Giving and gracefully accepting constructive feedback\n- Accepting responsibility and apologizing to those affected by our mistakes,\n  and learning from the experience\n- Focusing on what is best not just for us as individuals, but for the\n  overall community\n- Using welcoming and inclusive language\n\nExamples of unacceptable behavior include but are not limited to:\n\n- The use of sexualized language or imagery\n- Trolling, insulting or derogatory comments, and personal or political attacks\n- Public or private harassment in any form\n- Publishing others' private information, such as a physical or email\n  address, without their explicit permission\n- Violence, threatening violence, or encouraging others to engage in violent behavior\n- Stalking or following someone without their consent\n- Unwelcome physical contact\n- Unwelcome sexual or romantic attention or advances\n- Other conduct which could reasonably be considered inappropriate in a\n  professional setting\n\nThe following behaviors are also prohibited:\n\n- Providing knowingly false or misleading information in connection with a Code of Conduct investigation or otherwise intentionally tampering with an investigation.\n- Retaliating against a person because they reported an incident or provided information about an incident as a witness.\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing\n\n👋 Welcome to InftyAI community !\n\n- [Before you get started](#before-you-get-started)\n  - [Code of Conduct](#code-of-conduct)\n- [Getting started](#getting-started)\n  - [PullRequests](#pull-requests)\n  - [Code Review](#code-review)\n\n## Before you get started\n\n### Code of Conduct\n\nPlease make sure to read and observe our [Code of Conduct](/CODE_OF_CONDUCT.md) first.\n\n## Getting started\n\n🚀 **All kinds of contributions are welcomed !**\n\n- Fix documents & Typos\n- Report & fix bugs\n- New features\n- Issues & discussions\n- ...\n\n### Pull Requests\n\nPull requests are often called simply \"PR\".\nPlease follows the standard [github pull request](https://help.github.com/articles/about-pull-requests/) process.\nTo submit a proposed change, please develop the code and add new test cases.\n\n### Code Review\n\nTo make it easier for your PR to receive reviews, consider the reviewers will need you to:\n\n- Follow [good coding guidelines](https://github.com/golang/go/wiki/CodeReviewComments).\n- Write [good commit messages](https://chris.beams.io/posts/git-commit/).\n- Break large changes into a logical series of smaller patches which individually make easily understandable changes, and in aggregate solve a broader issue.\n\n### How to Add a New Project\n\n#### Option 1: Using GitHub Issues (Recommended)\n\nThe easiest way to add a new project is by creating a Project Request issue:\n\n1. Go to the [Issues tab](https://github.com/InftyAI/Awesome-LLMOps/issues)\n2. Click \"New Issue\" and select \"Project Request\"\n3. Fill out the template with your project information\n4. Submit the issue\n\nGitHub Actions workflow will automatically process your request, create a PR, and add the project to the appropriate category.\n\n#### Option 2: Manual Addition\n\nTo add a new project to the landscape, follow these steps:\n\n1. **Prepare the project logo**:\n   - Create or obtain a logo for the project (PNG or SVG format recommended)\n   - Image should be square or have transparent background\n   - Place the logo file in the `logos/` directory with a descriptive name\n\n2. **Update `data.yml`**:\n   - Find the appropriate category and subcategory for your project\n   - Add a new entry under the `items` section with the following format:\n   ```yaml\n   - name: Project Name\n     description: A brief description of the project (1-2 sentences)\n     homepage_url: https://github.com/org/repo\n     logo: project-logo.png\n     repo_url: https://github.com/org/repo\n   ```\n\n3. **Update the main README.md**:\n   - Add the project to the appropriate category in the main README.md\n"
  },
  {
    "path": "LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "Makefile",
    "content": "# Makefile for Awesome-LLMOps Landscape\n# See: https://github.com/cncf/landscape2 for reference\n\n# Configuration\nDATA_FILE := website/data.yml\nSETTINGS_FILE := website/settings.yml\nGUIDE_FILE := website/guide.yml\nLOGOS_PATH := website/logos\nOUTPUT_DIR := build\nCACHE_DIR := .cache\nLANDSCAPE2_VERSION := latest\nCONTAINER_NAME := awesome-llmops-landscape\n\n# Detect OS for installation\nUNAME_S := $(shell uname -s)\nLANDSCAPE2_BIN := $(shell command -v landscape2 2> /dev/null)\n\n# The image only supports this amd64 platform\nDOCKER_PLATFORM := --platform linux/amd64\n\n# Default target\n.PHONY: help\nhelp:\n\t@echo \"Usage: make [target]\"\n\t@echo \"Targets:\"\n\t@echo \"  install    Install landscape2\"\n\t@echo \"  validate   Validate data and settings files\"\n\t@echo \"  build      Build the landscape\"\n\t@echo \"  serve      Serve the landscape website locally\"\n\t@echo \"  docker-build  Build the landscape using Docker\"\n\t@echo \"  docker-serve  Serve the landscape using Docker\"\n\t@echo \"  docker-stop   Stop the Docker container serving the landscape\"\n\t@echo \"  run        Run complete workflow (install, validate, build, serve)\"\n\t@echo \"  clean      Clean build artifacts and Docker containers\"\n\nall: install validate build\n\n# Install landscape2 based on detected OS\n.PHONY: install\ninstall:\n\t@echo \"Installing landscape2...\"\nifeq ($(LANDSCAPE2_BIN),)\nifeq ($(UNAME_S),Darwin)\n\t@echo \"Installing via Homebrew on macOS...\"\n\tbrew install cncf/landscape2/landscape2\nelse ifeq ($(UNAME_S),Linux)\n\t@echo \"Installing via curl script on Linux...\"\n\tcurl --proto '=https' --tlsv1.2 -LsSf https://github.com/cncf/landscape2/releases/download/$(LANDSCAPE2_VERSION)/landscape2-installer.sh | sh\nelse ifeq ($(shell echo \"$(UNAME_S)\" | grep -c \"MINGW\\|MSYS\\|CYGWIN\"),1)\n\t@echo \"Installing via PowerShell on Windows...\"\n\tpowershell -Command \"irm https://github.com/cncf/landscape2/releases/download/$(LANDSCAPE2_VERSION)/landscape2-installer.ps1 | iex\"\nelse\n\t@echo \"Unsupported OS for direct installation. Please install manually:\"\n\t@echo \"See: https://github.com/cncf/landscape2#installation\"\n\t@exit 1\nendif\nelse\n\t@echo \"landscape2 is already installed.\"\nendif\n\n# Validate data and settings files\n.PHONY: validate\nvalidate:\n\t@echo \"Validating data and settings files...\"\n\tlandscape2 validate data --data-file $(DATA_FILE)\n\tlandscape2 validate settings --settings-file $(SETTINGS_FILE)\n\tlandscape2 validate guide --guide-file $(GUIDE_FILE)\n\t@echo \"Validation completed successfully ✓\"\n\n# Build the landscape\n.PHONY: build\nbuild:\n\t@echo \"Building landscape website...\"\n\t@mkdir -p $(OUTPUT_DIR) $(CACHE_DIR)\n\tlandscape2 build \\\n\t\t--data-file $(DATA_FILE) \\\n\t\t--settings-file $(SETTINGS_FILE) \\\n\t\t--guide-file $(GUIDE_FILE) \\\n\t\t--logos-path $(LOGOS_PATH) \\\n\t\t--output-dir $(OUTPUT_DIR) \\\n\t\t--cache-dir $(CACHE_DIR)\n\t@echo \"Build completed ✓\"\n\n# Serve the landscape locally\n.PHONY: serve\nserve:\n\t@echo \"Serving landscape website on http://127.0.0.1:8000 ...\"\n\tlandscape2 serve --landscape-dir $(OUTPUT_DIR)\n\n# Clean build artifacts\n.PHONY: clean\nclean:\n\t@echo \"Cleaning build artifacts and Docker containers...\"\n\trm -rf $(OUTPUT_DIR)\n\t@echo \"Stopping any running landscape Docker containers...\"\n\t-docker stop $(CONTAINER_NAME) 2>/dev/null || true\n\t-docker rm $(CONTAINER_NAME) 2>/dev/null || true\n\n# Full workflow: install, validate, build, and serve\n.PHONY: run\nrun: install validate build serve\n\n# Stop Docker container if running\n.PHONY: docker-stop\ndocker-stop:\n\t@echo \"Stopping any running landscape Docker containers...\"\n\t-docker stop $(CONTAINER_NAME) 2>/dev/null || true\n\t-docker rm $(CONTAINER_NAME) 2>/dev/null || true\n\n# Docker-based alternatives (useful for CI/CD)\n.PHONY: docker-build\ndocker-build:\n\t@echo \"Building landscape using Docker ...\"\n\t@mkdir -p $(OUTPUT_DIR) $(CACHE_DIR)\n\tdocker run --rm $(DOCKER_PLATFORM) -v $(PWD):/landscape public.ecr.aws/g6m3a0y9/landscape2:latest \\\n\t\tlandscape2 build \\\n\t\t--data-file /landscape/$(DATA_FILE) \\\n\t\t--settings-file /landscape/$(SETTINGS_FILE) \\\n\t\t--guide-file /landscape/$(GUIDE_FILE) \\\n\t\t--logos-path /landscape/$(LOGOS_PATH) \\\n\t\t--output-dir /landscape/$(OUTPUT_DIR) \\\n\t\t--cache-dir /landscape/$(CACHE_DIR)\n\t@echo \"Docker build completed ✓\"\n\n.PHONY: docker-serve\ndocker-serve: docker-stop\n\t@echo \"Serving landscape using Docker on http://localhost:8000 ...\"\n\tdocker run --rm $(DOCKER_PLATFORM) -p 8000:8000 --name $(CONTAINER_NAME) -v $(PWD):/landscape public.ecr.aws/g6m3a0y9/landscape2:latest \\\n\t\tlandscape2 serve \\\n\t\t--addr 0.0.0.0:8000 \\\n\t\t--landscape-dir /landscape/$(OUTPUT_DIR)\n\t@echo \"Docker container stopped\" "
  },
  {
    "path": "OWNERS",
    "content": "approvers:\n  - cr7258\n  - kerthcet\n  - samzong\n\nreviewers:\n  - cr7258\n  - kerthcet\n  - samzong\n"
  },
  {
    "path": "README.md",
    "content": "# Awesome-LLMOps [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n🎉 An awesome &amp; curated list of best LLMOps tools.\n\n> More than welcome to add a new project by simply opening an issue.\n\n## Table of Contents\n\n- [Inference](#inference)\n    - [Inference Engine](#inference-engine)\n    - [Inference Platform](#inference-platform)\n    - [Middleware](#middleware)\n    - [LLM Router](#llm-router)\n    - [AI Gateway](#ai-gateway)\n    - [Output](#output)\n    - [Simulator](#simulator)\n    - [Benchmark](#benchmark)\n- [Orchestration](#orchestration)\n    - [Agent Framework](#agent-framework)\n    - [Application Framework](#application-framework)\n    - [RAG](#rag)\n    - [Workflow](#workflow)\n    - [Evolutionary Framework](#evolutionary-framework)\n- [Runtime](#runtime)\n    - [AI Terminal](#ai-terminal)\n    - [AI Agent](#ai-agent)\n    - [Chatbot](#chatbot)\n    - [Code Agent](#code-agent)\n    - [Evolve Agent](#evolve-agent)\n    - [Database](#database)\n    - [Observation](#observation)\n    - [Sandbox](#sandbox)\n    - [Tool](#tool)\n- [Training](#training)\n    - [Framework](#framework)\n    - [FineTune](#finetune)\n    - [RLHF](#rlhf)\n    - [Agentic RL](#agentic-rl)\n    - [Benchmark](#benchmark)\n    - [Workflow](#workflow)\n\n## Inference\n\n### Inference Engine\n\n* **[Cortex.cpp](https://github.com/janhq/cortex.cpp)**: Local AI API Platform. ![Stars](https://img.shields.io/github/stars/janhq/cortex.cpp.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/janhq/cortex.cpp?color=green) ![LastCommit](https://img.shields.io/github/last-commit/janhq/cortex.cpp?color=green)\n* **[DeepSpeed-MII](https://github.com/microsoft/DeepSpeed-MII)**: MII makes low-latency and high-throughput inference possible, powered by DeepSpeed. ![Stars](https://img.shields.io/github/stars/microsoft/deepspeed-mii.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/microsoft/deepspeed-mii?color=green) ![LastCommit](https://img.shields.io/github/last-commit/microsoft/deepspeed-mii?color=green)\n* **[llama-box](https://github.com/gpustack/llama-box)**: LM inference server implementation based on *.cpp. ![Stars](https://img.shields.io/github/stars/gpustack/llama-box.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/gpustack/llama-box?color=green) ![LastCommit](https://img.shields.io/github/last-commit/gpustack/llama-box?color=green)\n* **[Nvidia Dynamo](https://github.com/ai-dynamo/dynamo)**: A Datacenter Scale Distributed Inference Serving Framework. ![Stars](https://img.shields.io/github/stars/ai-dynamo/dynamo.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ai-dynamo/dynamo?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ai-dynamo/dynamo?color=green)\n* **[ipex-llm](https://github.com/intel-analytics/ipex-llm)**: Accelerate local LLM inference and finetuning (LLaMA, Mistral, ChatGLM, Qwen, DeepSeek, Mixtral, Gemma, Phi, MiniCPM, Qwen-VL, MiniCPM-V, etc.) on Intel XPU (e.g., local PC with iGPU and NPU, discrete GPU such as Arc, Flex and Max); seamlessly integrate with llama.cpp, Ollama, HuggingFace, LangChain, LlamaIndex, vLLM, DeepSpeed, Axolotl, etc. ![Stars](https://img.shields.io/github/stars/intel-analytics/ipex-llm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/intel-analytics/ipex-llm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/intel-analytics/ipex-llm?color=green)\n* **[LMDeploy](https://github.com/InternLM/lmdeploy)**: LMDeploy is a toolkit for compressing, deploying, and serving LLMs. ![Stars](https://img.shields.io/github/stars/internlm/lmdeploy.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/internlm/lmdeploy?color=green) ![LastCommit](https://img.shields.io/github/last-commit/internlm/lmdeploy?color=green)\n* **[LoRAX](https://github.com/predibase/lorax)**: Multi-LoRA inference server that scales to 1000s of fine-tuned LLMs. ![Stars](https://img.shields.io/github/stars/predibase/lorax.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/predibase/lorax?color=green) ![LastCommit](https://img.shields.io/github/last-commit/predibase/lorax?color=green) ![Tag](https://img.shields.io/badge/lora-orange)\n* **[llama.cpp](https://github.com/ggerganov/llama.cpp)**: LLM inference in C/C++. ![Stars](https://img.shields.io/github/stars/ggerganov/llama.cpp.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ggerganov/llama.cpp?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ggerganov/llama.cpp?color=green)\n* **[Llumnix](https://github.com/AlibabaPAI/llumnix)**: Efficient and easy multi-instance LLM serving. ![Stars](https://img.shields.io/github/stars/alibabapai/llumnix.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/alibabapai/llumnix?color=green) ![LastCommit](https://img.shields.io/github/last-commit/alibabapai/llumnix?color=green)\n* **[MInference](https://github.com/microsoft/minference)**: [NeurIPS'24 Spotlight, ICLR'25] To speed up Long-context LLMs' inference, approximate and dynamic sparse calculate the attention, which reduces inference latency by up to 10x for pre-filling on an A100 while maintaining accuracy. ![Stars](https://img.shields.io/github/stars/microsoft/minference.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/microsoft/minference?color=green) ![LastCommit](https://img.shields.io/github/last-commit/microsoft/minference?color=green) ![Tag](https://img.shields.io/badge/long_context-orange)\n* **[MLC LLM](https://github.com/mlc-ai/mlc-llm)**: Universal LLM Deployment Engine with ML Compilation. ![Stars](https://img.shields.io/github/stars/mlc-ai/mlc-llm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/mlc-ai/mlc-llm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/mlc-ai/mlc-llm?color=green)\n* **[MLServer](https://github.com/SeldonIO/MLServer)**: An inference server for your machine learning models, including support for multiple frameworks, multi-model serving and more. ![Stars](https://img.shields.io/github/stars/seldonio/mlserver.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/seldonio/mlserver?color=green) ![LastCommit](https://img.shields.io/github/last-commit/seldonio/mlserver?color=green)\n* **[Ollama](https://github.com/ollama/ollama)**: Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3, and other large language models. ![Stars](https://img.shields.io/github/stars/ollama/ollama.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ollama/ollama?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ollama/ollama?color=green)\n* **[OpenLLM](https://github.com/bentoml/OpenLLM)**: Run any open-source LLMs, such as DeepSeek and Llama, as OpenAI compatible API endpoint in the cloud. ![Stars](https://img.shields.io/github/stars/bentoml/openllm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/bentoml/openllm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/bentoml/openllm?color=green)\n* **[OpenVINO](https://github.com/openvinotoolkit/openvino)**: OpenVINO™ is an open source toolkit for optimizing and deploying AI inference. ![Stars](https://img.shields.io/github/stars/openvinotoolkit/openvino.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openvinotoolkit/openvino?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openvinotoolkit/openvino?color=green)\n* **[Petals](https://github.com/bigscience-workshop/petals)**: 🌸 Run LLMs at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading ![Stars](https://img.shields.io/github/stars/bigscience-workshop/petals.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/bigscience-workshop/petals?color=green) ![LastCommit](https://img.shields.io/github/last-commit/bigscience-workshop/petals?color=green)\n* **[Ratchet](https://github.com/huggingface/ratchet)**: A cross-platform browser ML framework. ![Stars](https://img.shields.io/github/stars/huggingface/ratchet.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/huggingface/ratchet?color=green) ![LastCommit](https://img.shields.io/github/last-commit/huggingface/ratchet?color=green) ![Tag](https://img.shields.io/badge/browser-orange)\n* **[SGLang](https://github.com/sgl-project/sglang)**: SGLang is a fast serving framework for large language models and vision language models. ![Stars](https://img.shields.io/github/stars/sgl-project/sglang.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/sgl-project/sglang?color=green) ![LastCommit](https://img.shields.io/github/last-commit/sgl-project/sglang?color=green)\n* **[TinyGrad](https://github.com/tinygrad/tinygrad)**: You like pytorch? You like micrograd? You love tinygrad! ❤️  ![Stars](https://img.shields.io/github/stars/tinygrad/tinygrad.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/tinygrad/tinygrad?color=green) ![LastCommit](https://img.shields.io/github/last-commit/tinygrad/tinygrad?color=green)\n* **[transformers.js](https://github.com/huggingface/transformers.js)**: State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! ![Stars](https://img.shields.io/github/stars/huggingface/transformers.js.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/huggingface/transformers.js?color=green) ![LastCommit](https://img.shields.io/github/last-commit/huggingface/transformers.js?color=green) ![Tag](https://img.shields.io/badge/browser-orange)\n* **[Triton Inference Server](https://github.com/triton-inference-server/server)**: The Triton Inference Server provides an optimized cloud and edge inferencing solution. ![Stars](https://img.shields.io/github/stars/triton-inference-server/server.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/triton-inference-server/server?color=green) ![LastCommit](https://img.shields.io/github/last-commit/triton-inference-server/server?color=green)\n* **[Text Generation Inference](https://github.com/huggingface/text-generation-inference)**: Large Language Model Text Generation Inference. ![Stars](https://img.shields.io/github/stars/huggingface/text-generation-inference.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/huggingface/text-generation-inference?color=green) ![LastCommit](https://img.shields.io/github/last-commit/huggingface/text-generation-inference?color=green)\n* **[vLLM](https://github.com/vllm-project/vllm)**: A high-throughput and memory-efficient inference and serving engine for LLMs. ![Stars](https://img.shields.io/github/stars/vllm-project/vllm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/vllm-project/vllm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/vllm-project/vllm?color=green)\n* **[web-llm](https://github.com/mlc-ai/web-llm)**: High-performance In-browser LLM Inference Engine. ![Stars](https://img.shields.io/github/stars/mlc-ai/web-llm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/mlc-ai/web-llm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/mlc-ai/web-llm?color=green) ![Tag](https://img.shields.io/badge/browser-orange)\n* **[Xinference](https://github.com/xorbitsai/inference)**: Replace OpenAI GPT with another LLM in your app by changing a single line of code. Xinference gives you the freedom to use any LLM you need. With Xinference, you're empowered to run inference with any open-source language models, speech recognition models, and multimodal models, whether in the cloud, on-premises, or even on your laptop. ![Stars](https://img.shields.io/github/stars/xorbitsai/inference.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/xorbitsai/inference?color=green) ![LastCommit](https://img.shields.io/github/last-commit/xorbitsai/inference?color=green)\n* **[zml](https://github.com/zml/zml)**: Any model. Any hardware. Zero compromise. Built with @ziglang / @openxla / MLIR / @bazelbuild. ![Stars](https://img.shields.io/github/stars/zml/zml.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/zml/zml?color=green) ![LastCommit](https://img.shields.io/github/last-commit/zml/zml?color=green)\n\n### Inference Platform\n\n* **[AIBrix](https://github.com/vllm-project/aibrix)**: Cost-efficient and pluggable Infrastructure components for GenAI inference. ![Stars](https://img.shields.io/github/stars/vllm-project/aibrix.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/vllm-project/aibrix?color=green) ![LastCommit](https://img.shields.io/github/last-commit/vllm-project/aibrix?color=green)\n* **[BentoML](https://github.com/bentoml/BentoML)**: The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more! ![Stars](https://img.shields.io/github/stars/bentoml/bentoml.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/bentoml/bentoml?color=green) ![LastCommit](https://img.shields.io/github/last-commit/bentoml/bentoml?color=green)\n* **[beta9](https://github.com/beam-cloud/beta9)**: Ultrafast serverless GPU inference, sandboxes, and background jobs ![Stars](https://img.shields.io/github/stars/beam-cloud/beta9.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/beam-cloud/beta9?color=green) ![LastCommit](https://img.shields.io/github/last-commit/beam-cloud/beta9?color=green)\n* **[Kaito](https://github.com/kaito-project/Kaito)**: Kubernetes operator for large-model inference and fine-tuning, with GPU auto-provisioning, container-based hosting, and CRD-based orchestration. ![Stars](https://img.shields.io/github/stars/kaito-project/Kaito.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kaito-project/Kaito?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kaito-project/Kaito?color=green)\n* **[Kserve](https://github.com/kserve/kserve)**: Standardized Serverless ML Inference Platform on Kubernetes. ![Stars](https://img.shields.io/github/stars/kserve/kserve.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kserve/kserve?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kserve/kserve?color=green)\n* **[KubeAI](https://github.com/substratusai/kubeai)**: AI Inference Operator for Kubernetes. The easiest way to serve ML models in production. Supports VLMs, LLMs, embeddings, and speech-to-text. ![Stars](https://img.shields.io/github/stars/substratusai/kubeai.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/substratusai/kubeai?color=green) ![LastCommit](https://img.shields.io/github/last-commit/substratusai/kubeai?color=green)\n* **[llm-d](https://github.com/llm-d/llm-d)**: llm-d is a Kubernetes-native high-performance distributed LLM inference framework ![Stars](https://img.shields.io/github/stars/llm-d/llm-d.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/llm-d/llm-d?color=green) ![LastCommit](https://img.shields.io/github/last-commit/llm-d/llm-d?color=green)\n* **[llmaz](https://github.com/InftyAI/llmaz)**: ☸️ Easy, advanced inference platform for large language models on Kubernetes. 🌟 Star to support our work! ![Stars](https://img.shields.io/github/stars/inftyai/llmaz.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/inftyai/llmaz?color=green) ![LastCommit](https://img.shields.io/github/last-commit/inftyai/llmaz?color=green)\n* **[Modular](https://github.com/modular/modular)**: The Modular Platform (includes MAX & Mojo) ![Stars](https://img.shields.io/github/stars/modular/modular.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/modular/modular?color=green) ![LastCommit](https://img.shields.io/github/last-commit/modular/modular?color=green)\n* **[Mooncake](https://github.com/kvcache-ai/Mooncake)**: Mooncake is the serving platform for Kimi, a leading LLM service provided by Moonshot AI. ![Stars](https://img.shields.io/github/stars/kvcache-ai/mooncake.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kvcache-ai/mooncake?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kvcache-ai/mooncake?color=green)\n* **[OME](https://github.com/sgl-project/ome)**: OME is a Kubernetes operator for enterprise-grade management and serving of Large Language Models (LLMs) ![Stars](https://img.shields.io/github/stars/sgl-project/ome.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/sgl-project/ome?color=green) ![LastCommit](https://img.shields.io/github/last-commit/sgl-project/ome?color=green)\n\n### Middleware\n\n* **[Checkpoint Engine](https://github.com/MoonshotAI/checkpoint-engine)**: Checkpoint-engine is a simple middleware to update model weights in LLM inference engines ![Stars](https://img.shields.io/github/stars/MoonshotAI/checkpoint-engine.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/MoonshotAI/checkpoint-engine?color=green) ![LastCommit](https://img.shields.io/github/last-commit/MoonshotAI/checkpoint-engine?color=green)\n* **[kvcached](https://github.com/ovg-project/kvcached)**: Virtualized Elastic KV Cache for Dynamic GPU Sharing and Beyond ![Stars](https://img.shields.io/github/stars/ovg-project/kvcached.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ovg-project/kvcached?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ovg-project/kvcached?color=green)\n* **[LMCache](https://github.com/LMCache/LMCache)**: 10x Faster Long-Context LLM By Smart KV Cache Optimizations. ![Stars](https://img.shields.io/github/stars/lmcache/lmcache.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/lmcache/lmcache?color=green) ![LastCommit](https://img.shields.io/github/last-commit/lmcache/lmcache?color=green) ![Tag](https://img.shields.io/badge/kvcache-orange)\n\n\n### LLM Router\n\n* **[AI Gateway](https://github.com/Portkey-AI/gateway)**: A blazing fast AI Gateway with integrated guardrails. Route to 200+ LLMs, 50+ AI Guardrails with 1 fast & friendly API. ![Stars](https://img.shields.io/github/stars/portkey-ai/gateway.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/portkey-ai/gateway?color=green) ![LastCommit](https://img.shields.io/github/last-commit/portkey-ai/gateway?color=green)\n* **[bifrost](https://github.com/maximhq/bifrost)**: Fastest LLM gateway (50x faster than LiteLLM) with adaptive load balancer, cluster mode, guardrails, 1000+ models support & <100 µs overhead at 5k RPS. ![Stars](https://img.shields.io/github/stars/maximhq/bifrost.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/maximhq/bifrost?color=green) ![LastCommit](https://img.shields.io/github/last-commit/maximhq/bifrost?color=green)\n* **[Ferro Labs AI Gateway](https://github.com/ferro-labs/ai-gateway)**: One API for 25+ LLMs, OpenAI, Anthropic, Bedrock, Azure. Caching, guardrails & cost controls. Go-native LiteLLM & Kong AI Gateway alternative. ![Stars](https://img.shields.io/github/stars/ferro-labs/ai-gateway.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ferro-labs/ai-gateway?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ferro-labs/ai-gateway?color=green)\n* **[Hebo AI Gateway](https://github.com/8monkey-ai/hebo-gateway/)**: OpenAI-compatible /chat/completions, /embeddings & /models endpoints ![Stars](https://img.shields.io/github/stars/8monkey-ai/hebo-gateway.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/8monkey-ai/hebo-gateway?color=green) ![LastCommit](https://img.shields.io/github/last-commit/8monkey-ai/hebo-gateway?color=green)\n* **[LiteLLM](https://github.com/BerriAI/litellm)**: Python SDK, Proxy Server (LLM Gateway) to call 100+ LLM APIs in OpenAI format - [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, Replicate, Groq]. ![Stars](https://img.shields.io/github/stars/berriai/litellm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/berriai/litellm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/berriai/litellm?color=green)\n* **[LLMRouter](https://github.com/ulab-uiuc/LLMRouter)**: LLMRouter: An Open-Source Library for LLM Routing ![Stars](https://img.shields.io/github/stars/ulab-uiuc/LLMRouter.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ulab-uiuc/LLMRouter?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ulab-uiuc/LLMRouter?color=green)\n* **[RouteLLM](https://github.com/lm-sys/routellm)**: A framework for serving and evaluating LLM routers - save LLM costs without compromising quality. ![Stars](https://img.shields.io/github/stars/lm-sys/routellm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/lm-sys/routellm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/lm-sys/routellm?color=green)\n* **[vLLM Semantic Router](https://github.com/vllm-project/semantic-router)**: Intelligent Mixture-of-Models Router for Efficient LLM Inference  ![Stars](https://img.shields.io/github/stars/vllm-project/semantic-router.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/vllm-project/semantic-router?color=green) ![LastCommit](https://img.shields.io/github/last-commit/vllm-project/semantic-router?color=green)\n\n### AI Gateway\n\n* **[agentgateway](https://github.com/agentgateway/agentgateway)**: Next Generation Agentic Proxy for AI Agents and MCP servers ![Stars](https://img.shields.io/github/stars/agentgateway/agentgateway.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/agentgateway/agentgateway?color=green) ![LastCommit](https://img.shields.io/github/last-commit/agentgateway/agentgateway?color=green)\n* **[APISIX](https://github.com/apache/apisix)**: The Cloud-Native API Gateway and AI Gateway with extensive plugin system and AI capabilities. ![Stars](https://img.shields.io/github/stars/apache/apisix.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/apache/apisix?color=green) ![LastCommit](https://img.shields.io/github/last-commit/apache/apisix?color=green)\n* **[Envoy AI Gateway](https://github.com/envoyproxy/ai-gateway)**: Envoy AI Gateway is an open source project for using Envoy Gateway to handle request traffic from application clients to Generative AI services. ![Stars](https://img.shields.io/github/stars/envoyproxy/ai-gateway.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/envoyproxy/ai-gateway?color=green) ![LastCommit](https://img.shields.io/github/last-commit/envoyproxy/ai-gateway?color=green)\n* **[Higress](https://github.com/alibaba/higress)**: 🤖 AI Gateway | AI Native API Gateway. ![Stars](https://img.shields.io/github/stars/alibaba/higress.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/alibaba/higress?color=green) ![LastCommit](https://img.shields.io/github/last-commit/alibaba/higress?color=green)\n* **[kgateway](https://github.com/kgateway-dev/kgateway)**: The Cloud-Native API Gateway and AI Gateway. ![Stars](https://img.shields.io/github/stars/kgateway-dev/kgateway.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kgateway-dev/kgateway?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kgateway-dev/kgateway?color=green)\n* **[Kong](https://github.com/Kong/kong)**: 🦍 The Cloud-Native API Gateway and AI Gateway. ![Stars](https://img.shields.io/github/stars/Kong/kong.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/Kong/kong?color=green) ![LastCommit](https://img.shields.io/github/last-commit/Kong/kong?color=green)\n* **[gateway-api-inference-extension](https://github.com/kubernetes-sigs/gateway-api-inference-extension)**: Gateway API Inference Extension. ![Stars](https://img.shields.io/github/stars/kubernetes-sigs/gateway-api-inference-extension.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kubernetes-sigs/gateway-api-inference-extension?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kubernetes-sigs/gateway-api-inference-extension?color=green)\n\n### Output\n\n* **[BAML](https://github.com/boundaryml/baml)**: The AI framework that adds the engineering to prompt engineering (Python/TS/Ruby/Java/C#/Rust/Go compatible) ![Stars](https://img.shields.io/github/stars/boundaryml/baml.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/boundaryml/baml?color=green) ![LastCommit](https://img.shields.io/github/last-commit/boundaryml/baml?color=green)\n* **[Instructor](https://github.com/instructor-ai/instructor)**: structured outputs for llms. ![Stars](https://img.shields.io/github/stars/instructor-ai/instructor.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/instructor-ai/instructor?color=green) ![LastCommit](https://img.shields.io/github/last-commit/instructor-ai/instructor?color=green)\n* **[Outlines](https://github.com/dottxt-ai/outlines)**: Structured Text Generation. ![Stars](https://img.shields.io/github/stars/dottxt-ai/outlines.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/dottxt-ai/outlines?color=green) ![LastCommit](https://img.shields.io/github/last-commit/dottxt-ai/outlines?color=green)\n* **[XGrammar](https://github.com/mlc-ai/xgrammar)**: Fast, Flexible and Portable Structured Generation ![Stars](https://img.shields.io/github/stars/mlc-ai/xgrammar.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/mlc-ai/xgrammar?color=green) ![LastCommit](https://img.shields.io/github/last-commit/mlc-ai/xgrammar?color=green)\n\n### Simulator\n\n* **[Vidur](https://github.com/microsoft/vidur)**: A large-scale simulation framework for LLM inference ![Stars](https://img.shields.io/github/stars/microsoft/vidur.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/microsoft/vidur?color=green) ![LastCommit](https://img.shields.io/github/last-commit/microsoft/vidur?color=green)\n\n### Benchmark\n\n* **[genai-bench](https://github.com/sgl-project/genai-bench)**: Genai-bench is a powerful benchmark tool designed for comprehensive token-level performance evaluation of large language model (LLM) serving systems. ![Stars](https://img.shields.io/github/stars/sgl-project/genai-bench.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/sgl-project/genai-bench?color=green) ![LastCommit](https://img.shields.io/github/last-commit/sgl-project/genai-bench?color=green)\n* **[Inference Benchmark](https://github.com/AI-Hypercomputer/inference-benchmark)**: A model server agnostic inference benchmarking tool that can be used to benchmark LLMs running on differet infrastructure like GPU and TPU. It can also be run on a GKE cluster as a container. ![Stars](https://img.shields.io/github/stars/AI-Hypercomputer/inference-benchmark.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/AI-Hypercomputer/inference-benchmark?color=green) ![LastCommit](https://img.shields.io/github/last-commit/AI-Hypercomputer/inference-benchmark?color=green)\n* **[Inference Perf](https://github.com/kubernetes-sigs/inference-perf)**: GenAI inference performance benchmarking tool ![Stars](https://img.shields.io/github/stars/kubernetes-sigs/inference-perf.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kubernetes-sigs/inference-perf?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kubernetes-sigs/inference-perf?color=green)\n\n\n## Orchestration\n\n### Application Framework\n\n* **[Cordum.io](https://github.com/cordum-io/cordum)**: Cordum (cordum.io) is a platform-only control plane for autonomous AI Agents and external workers. It uses NATS for the bus, Redis for state and payload pointers, and CAP v2 wire contracts for jobs, results, and heartbeats. Workers and product packs live outside this repo.Core cordum  ![Stars](https://img.shields.io/github/stars/cordum-io/cordum.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/cordum-io/cordum?color=green) ![LastCommit](https://img.shields.io/github/last-commit/cordum-io/cordum?color=green)\n* **[DeepEval](https://github.com/confident-ai/deepeval)**: The LLM Evaluation Framework ![Stars](https://img.shields.io/github/stars/confident-ai/deepeval.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/confident-ai/deepeval?color=green) ![LastCommit](https://img.shields.io/github/last-commit/confident-ai/deepeval?color=green)\n* **[Evidently](https://github.com/evidentlyai/evidently)**: Evidently is ​​an open-source ML and LLM observability framework. Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular data to Gen AI. 100+ metrics. ![Stars](https://img.shields.io/github/stars/evidentlyai/evidently.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/evidentlyai/evidently?color=green) ![LastCommit](https://img.shields.io/github/last-commit/evidentlyai/evidently?color=green)\n* **[Langfuse](https://github.com/langfuse/langfuse)**: 🪢 Open source LLM engineering platform: LLM Observability, metrics, evals, prompt management, playground, datasets. Integrates with OpenTelemetry, Langchain, OpenAI SDK, LiteLLM, and more. 🍊YC W23  ![Stars](https://img.shields.io/github/stars/langfuse/langfuse.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/langfuse/langfuse?color=green) ![LastCommit](https://img.shields.io/github/last-commit/langfuse/langfuse?color=green)\n* **[Helicone](https://github.com/helicone/helicone)**: 🧊 Open source LLM observability platform. One line of code to monitor, evaluate, and experiment. YC W23 🍓 ![Stars](https://img.shields.io/github/stars/helicone/helicone.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/helicone/helicone?color=green) ![LastCommit](https://img.shields.io/github/last-commit/helicone/helicone?color=green)\n* **[lunaary](https://github.com/lunary-ai/lunary)**: The production toolkit for LLMs. Observability, prompt management and evaluations.  ![Stars](https://img.shields.io/github/stars/lunary-ai/lunary.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/lunary-ai/lunary?color=green) ![LastCommit](https://img.shields.io/github/last-commit/lunary-ai/lunary?color=green)\n* **[Neurolink](https://github.com/juspay/neurolink)**: Universal AI Development Platform with MCP server integration, multi-provider support, and professional CLI. Build, test, and deploy AI applications with multiple ai providers. ![Stars](https://img.shields.io/github/stars/juspay/neurolink.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/juspay/neurolink?color=green) ![LastCommit](https://img.shields.io/github/last-commit/juspay/neurolink?color=green)\n* **[OpenLIT](https://github.com/openlit/openlit)**: Open source platform for AI Engineering: OpenTelemetry-native LLM Observability, GPU Monitoring, Guardrails, Evaluations, Prompt Management, Vault, Playground. 🚀💻 Integrates with 50+ LLM Providers, VectorDBs, Agent Frameworks and GPUs. ![Stars](https://img.shields.io/github/stars/openlit/openlit.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openlit/openlit?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openlit/openlit?color=green)\n* **[phoenix](https://github.com/arize-ai/phoenix)**: AI Observability & Evaluation. ![Stars](https://img.shields.io/github/stars/arize-ai/phoenix.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/arize-ai/phoenix?color=green) ![LastCommit](https://img.shields.io/github/last-commit/arize-ai/phoenix?color=green)\n* **[PostHog](https://github.com/PostHog/posthog)**: 🦔 PostHog provides open-source web & product analytics, session recording, feature flagging and A/B testing that you can self-host. Get started - free. ![Stars](https://img.shields.io/github/stars/PostHog/posthog.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/PostHog/posthog?color=green) ![LastCommit](https://img.shields.io/github/last-commit/PostHog/posthog?color=green)\n* **[ragas](https://github.com/explodinggradients/ragas)**: Supercharge Your LLM Application Evaluations 🚀 ![Stars](https://img.shields.io/github/stars/explodinggradients/ragas.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/explodinggradients/ragas?color=green) ![LastCommit](https://img.shields.io/github/last-commit/explodinggradients/ragas?color=green)\n* **[Weave](https://github.com/wandb/weave)**: Weave is a toolkit for developing AI-powered applications, built by Weights & Biases. ![Stars](https://img.shields.io/github/stars/wandb/weave.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/wandb/weave?color=green) ![LastCommit](https://img.shields.io/github/last-commit/wandb/weave?color=green)\n\n### Agent Framework\n\n* **[Agent Development Kit (ADK)](https://github.com/google/adk-python)**: An open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control. ![Stars](https://img.shields.io/github/stars/google/adk-python.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/google/adk-python?color=green) ![LastCommit](https://img.shields.io/github/last-commit/google/adk-python?color=green)\n* **[Agent Shadow Brain](https://github.com/theihtisham/agent-shadow-brain)**: Self-evolving AI coding intelligence with infinite memory (TurboQuant), genetic algorithm evolution, predictive bug detection, PageRank knowledge graphs, and swarm intelligence. The world's first autonomous coding brain. ![Stars](https://img.shields.io/github/stars/theihtisham/agent-shadow-brain.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/theihtisham/agent-shadow-brain?color=green) ![LastCommit](https://img.shields.io/github/last-commit/theihtisham/agent-shadow-brain?color=green)\n* **[AgentField](https://github.com/Agent-Field/agentfield)**: Framework for AI Backend. Build and run AI agents like microservices - scalable, observable, and identity-aware from day one. ![Stars](https://img.shields.io/github/stars/Agent-Field/agentfield.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/Agent-Field/agentfield?color=green) ![LastCommit](https://img.shields.io/github/last-commit/Agent-Field/agentfield?color=green)\n* **[Agno](https://github.com/agno-agi/agno)**: Open-source framework for building multi-agent systems with memory, knowledge and reasoning. ![Stars](https://img.shields.io/github/stars/agno-agi/agno.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/agno-agi/agno?color=green) ![LastCommit](https://img.shields.io/github/last-commit/agno-agi/agno?color=green)\n* **[autogen](https://github.com/microsoft/autogen)**: A programming framework for agentic AI ![Stars](https://img.shields.io/github/stars/microsoft/autogen.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/microsoft/autogen?color=green) ![LastCommit](https://img.shields.io/github/last-commit/microsoft/autogen?color=green)\n* **[AutoGPT](https://github.com/Significant-Gravitas/AutoGPT)**: AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters. ![Stars](https://img.shields.io/github/stars/significant-gravitas/autogpt.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/significant-gravitas/autogpt?color=green) ![LastCommit](https://img.shields.io/github/last-commit/significant-gravitas/autogpt?color=green)\n* **[CAMEL](https://github.com/camel-ai/camel)**: 🐫 CAMEL: The first and the best multi-agent framework. Finding the Scaling Law of Agents. ![Stars](https://img.shields.io/github/stars/camel-ai/camel.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/camel-ai/camel?color=green) ![LastCommit](https://img.shields.io/github/last-commit/camel-ai/camel?color=green)\n* **[crewAI](https://github.com/crewAIInc/crewAI)**: Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks. ![Stars](https://img.shields.io/github/stars/crewAIInc/crewAI.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/crewAIInc/crewAI?color=green) ![LastCommit](https://img.shields.io/github/last-commit/crewAIInc/crewAI?color=green)\n* **[fast-agent](https://github.com/evalstate/fast-agent)**: Define, Prompt and Test MCP enabled Agents and Workflows ![Stars](https://img.shields.io/github/stars/evalstate/fast-agent.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/evalstate/fast-agent?color=green) ![LastCommit](https://img.shields.io/github/last-commit/evalstate/fast-agent?color=green)\n* **[Flowise](https://github.com/FlowiseAI/Flowise)**: Build AI Agents, Visually ![Stars](https://img.shields.io/github/stars/flowiseai/flowise.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/flowiseai/flowise?color=green) ![LastCommit](https://img.shields.io/github/last-commit/flowiseai/flowise?color=green)\n* **[kagent](https://github.com/kagent-dev/kagent)**: kagent is a kubernetes native framework for building AI agents. ![Stars](https://img.shields.io/github/stars/kagent-dev/kagent.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kagent-dev/kagent?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kagent-dev/kagent?color=green) ![Tag](https://img.shields.io/badge/kubernetes-orange)\n* **[LangGraph](https://github.com/langchain-ai/langgraph)**: Build resilient language agents as graphs. ![Stars](https://img.shields.io/github/stars/langchain-ai/langgraph.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/langchain-ai/langgraph?color=green) ![LastCommit](https://img.shields.io/github/last-commit/langchain-ai/langgraph?color=green)\n* **[MetaGPT](https://github.com/geekan/MetaGPT)**: 🌟 The Multi-Agent Framework: First AI Software Company, Towards Natural Language Programming. ![Stars](https://img.shields.io/github/stars/geekan/metagpt.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/geekan/metagpt?color=green) ![LastCommit](https://img.shields.io/github/last-commit/geekan/metagpt?color=green)\n* **[OpenAI Agents SDK](https://github.com/openai/openai-agents-python)**: A lightweight, powerful framework for multi-agent workflows. ![Stars](https://img.shields.io/github/stars/openai/openai-agents-python.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openai/openai-agents-python?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openai/openai-agents-python?color=green)\n* **[PydanticAI](https://github.com/pydantic/pydantic-ai)**: GenAI Agent Framework, the Pydantic way ![Stars](https://img.shields.io/github/stars/pydantic/pydantic-ai.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/pydantic/pydantic-ai?color=green) ![LastCommit](https://img.shields.io/github/last-commit/pydantic/pydantic-ai?color=green)\n* **[Qwen-Agent](https://github.com/QwenLM/Qwen-Agent)**: Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc. ![Stars](https://img.shields.io/github/stars/QwenLM/Qwen-Agent.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/QwenLM/Qwen-Agent?color=green) ![LastCommit](https://img.shields.io/github/last-commit/QwenLM/Qwen-Agent?color=green)\n* **[Semantic Kernel](https://github.com/microsoft/semantic-kernel)**: Integrate cutting-edge LLM technology quickly and easily into your apps. ![Stars](https://img.shields.io/github/stars/microsoft/semantic-kernel.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/microsoft/semantic-kernel?color=green) ![LastCommit](https://img.shields.io/github/last-commit/microsoft/semantic-kernel?color=green)\n* **[Suna](https://github.com/kortix-ai/suna)**: Suna - Open Source Generalist AI Agent ![Stars](https://img.shields.io/github/stars/kortix-ai/suna.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kortix-ai/suna?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kortix-ai/suna?color=green)\n* **[Swarm](https://github.com/openai/swarm)**: Educational framework exploring ergonomic, lightweight multi-agent orchestration. Managed by OpenAI Solution team. ![Stars](https://img.shields.io/github/stars/openai/swarm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openai/swarm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openai/swarm?color=green) ![Tag](https://img.shields.io/badge/experimental-slategray)\n\n### Evolutionary Framework\n\n* **[AI-Researcher](https://github.com/HKUDS/AI-Researcher)**: [NeurIPS2025] \"AI-Researcher: Autonomous Scientific Innovation\" -- A production-ready version: https://novix.science/chat ![Stars](https://img.shields.io/github/stars/HKUDS/AI-Researcher.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/HKUDS/AI-Researcher?color=green) ![LastCommit](https://img.shields.io/github/last-commit/HKUDS/AI-Researcher?color=green)\n* **[AIDE ML](https://github.com/WecoAI/aideml)**: AIDE: AI-Driven Exploration in the Space of Code. The machine Learning engineering agent that automates AI R&D. ![Stars](https://img.shields.io/github/stars/WecoAI/aideml.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/WecoAI/aideml?color=green) ![LastCommit](https://img.shields.io/github/last-commit/WecoAI/aideml?color=green)\n* **[LoongFlow](https://github.com/baidu-baige/LoongFlow)**: LoongFlow: A Thinking & Learning Framework for Expert-Grade AI Agents. ![Stars](https://img.shields.io/github/stars/baidu-baige/LoongFlow.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/baidu-baige/LoongFlow?color=green) ![LastCommit](https://img.shields.io/github/last-commit/baidu-baige/LoongFlow?color=green)\n* **[OpenEvolve](https://github.com/codelion/openevolve)**: Open-source implementation of AlphaEvolve ![Stars](https://img.shields.io/github/stars/codelion/openevolve.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/codelion/openevolve?color=green) ![LastCommit](https://img.shields.io/github/last-commit/codelion/openevolve?color=green)\n* **[ShinkaEvolve](https://github.com/SakanaAI/ShinkaEvolve)**: ShinkaEvolve: Towards Open-Ended and Sample-Efficient Program Evolution ![Stars](https://img.shields.io/github/stars/SakanaAI/ShinkaEvolve.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/SakanaAI/ShinkaEvolve?color=green) ![LastCommit](https://img.shields.io/github/last-commit/SakanaAI/ShinkaEvolve?color=green)\n* **[SkyDiscover](https://github.com/skydiscover-ai/skydiscover#-benchmark-performance)**: AI-Driven Scientific and Algorithmic Discovery ![Stars](https://img.shields.io/github/stars/skydiscover-ai/skydiscover.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/skydiscover-ai/skydiscover?color=green) ![LastCommit](https://img.shields.io/github/last-commit/skydiscover-ai/skydiscover?color=green)\n\n### RAG\n\n* **[GraphRAG](https://github.com/microsoft/graphrag)**: A modular graph-based Retrieval-Augmented Generation (RAG) system. ![Stars](https://img.shields.io/github/stars/microsoft/graphrag.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/microsoft/graphrag?color=green) ![LastCommit](https://img.shields.io/github/last-commit/microsoft/graphrag?color=green)\n* **[LightRAG](https://github.com/HKUDS/LightRAG)**: \"LightRAG: Simple and Fast Retrieval-Augmented Generation\" ![Stars](https://img.shields.io/github/stars/HKUDS/LightRAG.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/HKUDS/LightRAG?color=green)  ![LastCommit](https://img.shields.io/github/last-commit/HKUDS/LightRAG?color=green)\n* **[quivr](https://github.com/QuivrHQ/quivr)**: Opiniated RAG for integrating GenAI in your apps 🧠 Focus on your product rather than the RAG. Easy integration in existing products with customisation! Any LLM: GPT4, Groq, Llama. Any Vectorstore: PGVector, Faiss. Any Files. Anyway you want. ![Stars](https://img.shields.io/github/stars/QuivrHQ/quivr.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/QuivrHQ/quivr?color=green)  ![LastCommit](https://img.shields.io/github/last-commit/QuivrHQ/quivr?color=green)\n* **[RAG-Anything](https://github.com/HKUDS/RAG-Anything)**: \"RAG-Anything: All-in-One RAG Framework\" ![Stars](https://img.shields.io/github/stars/HKUDS/RAG-Anything.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/HKUDS/RAG-Anything?color=green) ![LastCommit](https://img.shields.io/github/last-commit/HKUDS/RAG-Anything?color=green)\n* **[RAGFlow](https://github.com/infiniflow/ragflow)**: RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. ![Stars](https://img.shields.io/github/stars/infiniflow/ragflow.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/infiniflow/ragflow?color=green) ![LastCommit](https://img.shields.io/github/last-commit/infiniflow/ragflow?color=green)\n\n### Workflow\n\n* **[Dify](https://github.com/langgenius/dify)**: Production-ready platform for agentic workflow development. ![Stars](https://img.shields.io/github/stars/langgenius/dify.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/langgenius/dify?color=green) ![LastCommit](https://img.shields.io/github/last-commit/langgenius/dify?color=green)\n* **[FastGPT](https://github.com/labring/FastGPT)**: FastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, and visual AI workflow orchestration, letting you easily develop and deploy complex question-answering systems without the need for extensive setup or configuration. ![Stars](https://img.shields.io/github/stars/labring/FastGPT.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/labring/FastGPT?color=green) ![LastCommit](https://img.shields.io/github/last-commit/labring/FastGPT?color=green)\n* **[Haystack](https://github.com/deepset-ai/haystack)**: AI orchestration framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data. With advanced retrieval methods, it's best suited for building RAG, question answering, semantic search or conversational agent chatbots. ![Stars](https://img.shields.io/github/stars/deepset-ai/haystack.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/deepset-ai/haystack?color=green) ![LastCommit](https://img.shields.io/github/last-commit/deepset-ai/haystack?color=green)\n* **[Inference](https://github.com/roboflow/inference)**: Turn any computer or edge device into a command center for your computer vision projects. ![Stars](https://img.shields.io/github/stars/roboflow/inference.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/roboflow/inference?color=green) ![LastCommit](https://img.shields.io/github/last-commit/roboflow/inference?color=green) ![Tag](https://img.shields.io/badge/computer_vision-orange)\n* **[LangChain](https://github.com/langchain-ai/langchain)**: 🦜🔗 Build context-aware reasoning applications. ![Stars](https://img.shields.io/github/stars/langchain-ai/langchain.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/langchain-ai/langchain?color=green)  ![LastCommit](https://img.shields.io/github/last-commit/langchain-ai/langchain?color=green)\n* **[LlamaIndex](https://github.com/run-llama/llama_index)**: LlamaIndex is the leading framework for building LLM-powered agents over your data. ![Stars](https://img.shields.io/github/stars/run-llama/llama_index.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/run-llama/llama_index?color=green) ![LastCommit](https://img.shields.io/github/last-commit/run-llama/llama_index?color=green)\n\n\n## Runtime\n\n### AI Terminal\n\n* **[aider](https://github.com/Aider-AI/aider)**: aider is AI pair programming in your terminal ![Stars](https://img.shields.io/github/stars/Aider-AI/aider.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/Aider-AI/aider?color=green) ![LastCommit](https://img.shields.io/github/last-commit/Aider-AI/aider?color=green)\n* **[Codex](https://github.com/openai/codex)**: Lightweight coding agent that runs in your terminal ![Stars](https://img.shields.io/github/stars/openai/codex.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openai/codex?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openai/codex?color=green) ![Tag](https://img.shields.io/badge/coding-orange)\n* **[Crush](https://github.com/charmbracelet/crush)**: The glamourous AI coding agent for your favourite terminal 💘 ![Stars](https://img.shields.io/github/stars/charmbracelet/crush.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/charmbracelet/crush?color=green) ![LastCommit](https://img.shields.io/github/last-commit/charmbracelet/crush?color=green)\n* **[Gemini CLI](https://github.com/google-gemini/gemini-cli)**: An open-source AI agent that brings the power of Gemini directly into your terminal. ![Stars](https://img.shields.io/github/stars/google-gemini/gemini-cli.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/google-gemini/gemini-cli?color=green) ![LastCommit](https://img.shields.io/github/last-commit/google-gemini/gemini-cli?color=green)\n* **[OpenCode](https://github.com/sst/opencode)**: The AI coding agent built for the terminal. ![Stars](https://img.shields.io/github/stars/sst/opencode.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/sst/opencode?color=green) ![LastCommit](https://img.shields.io/github/last-commit/sst/opencode?color=green)\n* **[Stakpak](https://github.com/stakpak/agent)**: DevOps agent that won't accidentally tweet your AWS credentials 🦀 ![Stars](https://img.shields.io/github/stars/stakpak/agent.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/stakpak/agent?color=green) ![LastCommit](https://img.shields.io/github/last-commit/stakpak/agent?color=green)\n\n### AI Agent\n\n* **[goose](https://github.com/block/goose)**: an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM ![Stars](https://img.shields.io/github/stars/block/goose.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/block/goose?color=green) ![LastCommit](https://img.shields.io/github/last-commit/block/goose?color=green)\n* **[Magentic-UI](https://github.com/microsoft/magentic-ui)**: A research prototype of a human-centered web agent ![Stars](https://img.shields.io/github/stars/microsoft/magentic-ui.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/microsoft/magentic-ui?color=green) ![LastCommit](https://img.shields.io/github/last-commit/microsoft/magentic-ui?color=green)\n* **[OpenManus](https://github.com/FoundationAgents/OpenManus)**: No fortress, purely open ground. OpenManus is Coming. ![Stars](https://img.shields.io/github/stars/FoundationAgents/openmanus.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/FoundationAgents/openmanus?color=green) ![LastCommit](https://img.shields.io/github/last-commit/FoundationAgents/openmanus?color=green)\n* **[Tongyi Deep Research](https://github.com/Alibaba-NLP/DeepResearch)**: Tongyi DeepResearch, the Leading Open-source DeepResearch Agent ![Stars](https://img.shields.io/github/stars/Alibaba-NLP/DeepResearch.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/Alibaba-NLP/DeepResearch?color=green) ![LastCommit](https://img.shields.io/github/last-commit/Alibaba-NLP/DeepResearch?color=green)\n\n### Code Agent\n\n* **[Continue](https://github.com/continuedev/continue)**: ⏩ Create, share, and use custom AI code assistants with our open-source IDE extensions and hub of models, rules, prompts, docs, and other building blocks. ![Stars](https://img.shields.io/github/stars/continuedev/continue.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/continuedev/continue?color=green) ![LastCommit](https://img.shields.io/github/last-commit/continuedev/continue?color=green)\n* **[Open SWE](https://github.com/langchain-ai/open-swe)**: An Open-Source Asynchronous Coding Agent ![Stars](https://img.shields.io/github/stars/langchain-ai/open-swe.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/langchain-ai/open-swe?color=green) ![LastCommit](https://img.shields.io/github/last-commit/langchain-ai/open-swe?color=green)\n* **[SWE-agent](https://github.com/SWE-agent/SWE-agent)**: SWE-agent takes a GitHub issue and tries to automatically fix it, using your LM of choice. It can also be employed for offensive cybersecurity or competitive coding challenges. [NeurIPS 2024]  ![Stars](https://img.shields.io/github/stars/SWE-agent/SWE-agent.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/SWE-agent/SWE-agent?color=green) ![LastCommit](https://img.shields.io/github/last-commit/SWE-agent/SWE-agent?color=green)\n* **[Tabby](https://github.com/TabbyML/tabby)**: Self-hosted AI coding assistant. ![Stars](https://img.shields.io/github/stars/tabbyml/tabby.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/tabbyml/tabby?color=green) ![LastCommit](https://img.shields.io/github/last-commit/tabbyml/tabby?color=green)\n\n### Tool\n\n* **[Beads](https://github.com/steveyegge/beads)**: Beads - A memory upgrade for your coding agent ![Stars](https://img.shields.io/github/stars/steveyegge/beads.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/steveyegge/beads?color=green) ![LastCommit](https://img.shields.io/github/last-commit/steveyegge/beads?color=green)\n* **[Browser Use](https://github.com/browser-use/browser-use)**: Make websites accessible for AI agents. ![Stars](https://img.shields.io/github/stars/browser-use/browser-use.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/browser-use/browser-use?color=green) ![LastCommit](https://img.shields.io/github/last-commit/browser-use/browser-use?color=green)\n* **[Graphiti](https://github.com/getzep/graphiti)**: Build Real-Time Knowledge Graphs for AI Agents. ![Stars](https://img.shields.io/github/stars/getzep/graphiti.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/getzep/graphiti?color=green) ![LastCommit](https://img.shields.io/github/last-commit/getzep/graphiti?color=green)\n* **[Mem0](https://github.com/mem0ai/mem0)**: The Memory layer for AI Agents. ![Stars](https://img.shields.io/github/stars/mem0ai/mem0.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/mem0ai/mem0?color=green) ![LastCommit](https://img.shields.io/github/last-commit/mem0ai/mem0?color=green)\n* **[OpenAI CUA](https://github.com/openai/openai-cua-sample-app)**: Computer Using Agent Sample App. ![Stars](https://img.shields.io/github/stars/openai/openai-cua-sample-app.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openai/openai-cua-sample-app?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openai/openai-cua-sample-app?color=green)\n* **[SidClaw](https://github.com/sidclawhq/platform)**: The approval and accountability layer for AI agents. Identity → Policy → Approval → Trace. 13 framework integrations. Free during early access. ![Stars](https://img.shields.io/github/stars/sidclawhq/platform.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/sidclawhq/platform?color=green) ![LastCommit](https://img.shields.io/github/last-commit/sidclawhq/platform?color=green)\n* **[WritBase](https://github.com/Writbase/writbase)**: MCP-native task management for AI agent fleets ![Stars](https://img.shields.io/github/stars/Writbase/writbase.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/Writbase/writbase?color=green) ![LastCommit](https://img.shields.io/github/last-commit/Writbase/writbase?color=green)\n\n### Chatbot\n\n* **[5ire](https://github.com/nanbingxyz/5ire)**: 5ire is a cross-platform desktop AI assistant, MCP client. It compatible with major service providers, supports local knowledge base and tools via model context protocol servers. ![Stars](https://img.shields.io/github/stars/nanbingxyz/5ire.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/nanbingxyz/5ire?color=green) ![LastCommit](https://img.shields.io/github/last-commit/nanbingxyz/5ire?color=green)\n* **[AnythingLLM](https://github.com/Mintplex-Labs/anything-llm)**: The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility,  and more. ![Stars](https://img.shields.io/github/stars/Mintplex-Labs/anything-llm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/Mintplex-Labs/anything-llm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/Mintplex-Labs/anything-llm?color=green)\n* **[Chat SDK](https://github.com/vercel/ai-chatbot)**: A full-featured, hackable Next.js AI chatbot built by Vercel ![Stars](https://img.shields.io/github/stars/vercel/ai-chatbot.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/vercel/ai-chatbot?color=green) ![LastCommit](https://img.shields.io/github/last-commit/vercel/ai-chatbot?color=green)\n* **[Chatbot UI](https://github.com/mckaywrigley/chatbot-ui)**: AI chat for any model. ![Stars](https://img.shields.io/github/stars/mckaywrigley/chatbot-ui.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/mckaywrigley/chatbot-ui?color=green) ![LastCommit](https://img.shields.io/github/last-commit/mckaywrigley/chatbot-ui?color=green)\n* **[Cherry Studio](https://github.com/CherryHQ/cherry-studio)**: 🍒 Cherry Studio is a desktop client that supports for multiple LLM providers. Support deepseek-r1. ![Stars](https://img.shields.io/github/stars/CherryHQ/cherry-studio.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/CherryHQ/cherry-studio?color=green) ![LastCommit](https://img.shields.io/github/last-commit/CherryHQ/cherry-studio?color=green)\n* **[FastChat](https://github.com/lm-sys/FastChat)**: An open platform for training, serving, and evaluating large language models. Release repo for Vicuna and Chatbot Arena. ![Stars](https://img.shields.io/github/stars/lm-sys/fastchat.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/lm-sys/fastchat?color=green) ![LastCommit](https://img.shields.io/github/last-commit/lm-sys/fastchat?color=green)\n* **[Gradio](https://github.com/gradio-app/gradio)**: Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work! ![Stars](https://img.shields.io/github/stars/gradio-app/gradio.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/gradio-app/gradio?color=green) ![LastCommit](https://img.shields.io/github/last-commit/gradio-app/gradio?color=green)\n* **[Jan](https://github.com/janhq/jan)**: Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. ![Stars](https://img.shields.io/github/stars/janhq/jan.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/janhq/jan?color=green) ![LastCommit](https://img.shields.io/github/last-commit/janhq/jan?color=green)\n* **[LLM](https://github.com/simonw/llm)**: Access large language models from the command-line ![Stars](https://img.shields.io/github/stars/simonw/llm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/simonw/llm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/simonw/llm?color=green)\n* **[Lobe Chat](https://github.com/lobehub/lobe-chat)**: 🤯 Lobe Chat - an open-source, modern-design AI chat framework. Supports Multi AI Providers( OpenAI / Claude 3 / Gemini / Ollama / DeepSeek / Qwen), Knowledge Base (file upload / knowledge management / RAG ), Multi-Modals (Plugins/Artifacts) and Thinking. One-click FREE deployment of your private ChatGPT/ Claude / DeepSeek application. ![Stars](https://img.shields.io/github/stars/lobehub/lobe-chat.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/lobehub/lobe-chat?color=green) ![LastCommit](https://img.shields.io/github/last-commit/lobehub/lobe-chat?color=green)\n* **[NextChat](https://github.com/ChatGPTNextWeb/NextChat)**: ✨ Light and Fast AI Assistant. Support: Web | iOS | MacOS | Android | Linux | Windows. ![Stars](https://img.shields.io/github/stars/chatgptnextweb/nextchat.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/chatgptnextweb/nextchat?color=green) ![LastCommit](https://img.shields.io/github/last-commit/chatgptnextweb/nextchat?color=green)\n* **[opcode](https://github.com/getAsterisk/opcode)**: A powerful GUI app and Toolkit for Claude Code - Create custom agents, manage interactive Claude Code sessions, run secure background agents, and more. ![Stars](https://img.shields.io/github/stars/getAsterisk/opcode.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/getAsterisk/opcode?color=green) ![LastCommit](https://img.shields.io/github/last-commit/getAsterisk/opcode?color=green)\n* **[Open WebUI](https://github.com/open-webui/open-webui)**: User-friendly AI Interface (Supports Ollama, OpenAI API, ...). ![Stars](https://img.shields.io/github/stars/open-webui/open-webui.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/open-webui/open-webui?color=green) ![LastCommit](https://img.shields.io/github/last-commit/open-webui/open-webui?color=green)\n* **[PrivateGPT](https://github.com/zylon-ai/private-gpt)**: Interact with your documents using the power of GPT, 100% privately, no data leaks. ![Stars](https://img.shields.io/github/stars/zylon-ai/private-gpt.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/zylon-ai/private-gpt?color=green) ![LastCommit](https://img.shields.io/github/last-commit/zylon-ai/private-gpt?color=green)\n\n### Evolve Agent\n\n* **[AgentEvolver](https://github.com/modelscope/AgentEvolver)**: AgentEvolver: Towards Efficient Self-Evolving Agent System ![Stars](https://img.shields.io/github/stars/modelscope/AgentEvolver.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/modelscope/AgentEvolver?color=green) ![LastCommit](https://img.shields.io/github/last-commit/modelscope/AgentEvolver?color=green)\n* **[EvoAgentX](https://github.com/EvoAgentX/EvoAgentX)**: 🚀 EvoAgentX: Building a Self-Evolving Ecosystem of AI Agents ![Stars](https://img.shields.io/github/stars/EvoAgentX/EvoAgentX.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/EvoAgentX/EvoAgentX?color=green) ![LastCommit](https://img.shields.io/github/last-commit/EvoAgentX/EvoAgentX?color=green)\n\n### Database\n\n* **[chroma](https://github.com/chroma-core/chroma)**: the AI-native open-source embedding database. ![Stars](https://img.shields.io/github/stars/chroma-core/chroma.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/chroma-core/chroma?color=green) ![LastCommit](https://img.shields.io/github/last-commit/chroma-core/chroma?color=green)\n* **[deeplake](https://github.com/activeloopai/deeplake)**: Database for AI. Store Vectors, Images, Texts, Videos, etc. Use with LLMs/LangChain. Store, query, version, & visualize any AI data. Stream data in real-time to PyTorch/TensorFlow. ![Stars](https://img.shields.io/github/stars/activeloopai/deeplake.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/activeloopai/deeplake?color=green) ![LastCommit](https://img.shields.io/github/last-commit/activeloopai/deeplake?color=green)\n* **[Faiss](https://github.com/facebookresearch/faiss)**: A library for efficient similarity search and clustering of dense vectors. ![Stars](https://img.shields.io/github/stars/facebookresearch/faiss.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/facebookresearch/faiss?color=green) ![LastCommit](https://img.shields.io/github/last-commit/facebookresearch/faiss?color=green)\n* **[Hindsight](https://github.com/vectorize-io/hindsight)**: Hindsight: Agent Memory That  Learns ![Stars](https://img.shields.io/github/stars/vectorize-io/hindsight.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/vectorize-io/hindsight?color=green) ![LastCommit](https://img.shields.io/github/last-commit/vectorize-io/hindsight?color=green)\n* **[milvus](https://github.com/milvus-io/milvus)**: Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search. ![Stars](https://img.shields.io/github/stars/milvus-io/milvus.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/milvus-io/milvus?color=green) ![LastCommit](https://img.shields.io/github/last-commit/milvus-io/milvus?color=green)\n* **[weaviate](https://github.com/weaviate/weaviate)**: Weaviate is an open-source vector database that stores both objects and vectors, allowing for the combination of vector search with structured filtering with the fault tolerance and scalability of a cloud-native database​. ![Stars](https://img.shields.io/github/stars/weaviate/weaviate.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/weaviate/weaviate?color=green) ![LastCommit](https://img.shields.io/github/last-commit/weaviate/weaviate?color=green)\n\n### Sandbox\n\n* **[Daytona](https://github.com/daytonaio/daytona)**: Daytona is a Secure and Elastic Infrastructure for Running AI-Generated Code. ![Stars](https://img.shields.io/github/stars/daytonaio/daytona.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/daytonaio/daytona?color=green) ![LastCommit](https://img.shields.io/github/last-commit/daytonaio/daytona?color=green)\n* **[E2B](https://github.com/e2b-dev/E2B)**: Secure open source cloud runtime for AI apps & AI agents. ![Stars](https://img.shields.io/github/stars/e2b-dev/E2B.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/e2b-dev/E2B?color=green) ![LastCommit](https://img.shields.io/github/last-commit/e2b-dev/E2B?color=green)\n\n### Observation\n\n* **[OpenLLMetry](https://github.com/traceloop/openllmetry)**: Open-source observability for your LLM application, based on OpenTelemetry. ![Stars](https://img.shields.io/github/stars/traceloop/openllmetry.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/traceloop/openllmetry?color=green) ![LastCommit](https://img.shields.io/github/last-commit/traceloop/openllmetry?color=green)\n* **[wandb](https://github.com/wandb/wandb)**: The AI developer platform. Use Weights & Biases to train and fine-tune models, and manage models from experimentation to production. ![Stars](https://img.shields.io/github/stars/wandb/wandb.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/wandb/wandb?color=green) ![LastCommit](https://img.shields.io/github/last-commit/wandb/wandb?color=green)\n\n## Training\n\n### Framework\n\n* **[AXLearn](https://github.com/apple/axlearn)**: An Extensible Deep Learning Library ![Stars](https://img.shields.io/github/stars/apple/axlearn.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/apple/axlearn?color=green) ![LastCommit](https://img.shields.io/github/last-commit/apple/axlearn?color=green)\n* **[Candle](https://github.com/huggingface/candle)**: Minimalist ML framework for Rust. ![Stars](https://img.shields.io/github/stars/huggingface/candle.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/huggingface/candle?color=green) ![LastCommit](https://img.shields.io/github/last-commit/huggingface/candle?color=green)\n* **[ColossalAI](https://github.com/hpcaitech/ColossalAI)**: Making large AI models cheaper, faster and more accessible. ![Stars](https://img.shields.io/github/stars/hpcaitech/ColossalAI.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/hpcaitech/ColossalAI?color=green) ![LastCommit](https://img.shields.io/github/last-commit/hpcaitech/ColossalAI?color=green)\n* **[DLRover](https://github.com/intelligent-machine-learning/dlrover)**: DLRover: An Automatic Distributed Deep Learning System ![Stars](https://img.shields.io/github/stars/intelligent-machine-learning/dlrover.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/intelligent-machine-learning/dlrover?color=green) ![LastCommit](https://img.shields.io/github/last-commit/intelligent-machine-learning/dlrover?color=green)\n* **[Ludwig](https://github.com/ludwig-ai/ludwig)**: Low-code framework for building custom LLMs, neural networks, and other AI models. ![Stars](https://img.shields.io/github/stars/ludwig-ai/ludwig.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ludwig-ai/ludwig?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ludwig-ai/ludwig?color=green)\n* **[MaxText](https://github.com/google/maxtext)**: A simple, performant and scalable Jax LLM! ![Stars](https://img.shields.io/github/stars/google/maxtext.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/google/maxtext?color=green) ![LastCommit](https://img.shields.io/github/last-commit/google/maxtext?color=green)\n* **[MLX](https://github.com/ml-explore/mlx)**: MLX: An array framework for Apple silicon. ![Stars](https://img.shields.io/github/stars/ml-explore/mlx.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ml-explore/mlx?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ml-explore/mlx?color=green)\n\n### FineTune\n\n* **[Axolotl](https://github.com/axolotl-ai-cloud/axolotl)**: Go ahead and axolotl questions. ![Stars](https://img.shields.io/github/stars/axolotl-ai-cloud/axolotl.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/axolotl-ai-cloud/axolotl?color=green) ![LastCommit](https://img.shields.io/github/last-commit/axolotl-ai-cloud/axolotl?color=green)\n* **[EasyLM](https://github.com/young-geng/EasyLM)**: Large language models (LLMs) made easy, EasyLM is a one stop solution for pre-training, finetuning, evaluating and serving LLMs in JAX/Flax. ![Stars](https://img.shields.io/github/stars/young-geng/EasyLM.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/young-geng/EasyLM?color=green) ![LastCommit](https://img.shields.io/github/last-commit/young-geng/EasyLM?color=green)\n* **[LLaMa-Factory](https://github.com/hiyouga/LLaMA-Factory)**: Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024). ![Stars](https://img.shields.io/github/stars/hiyouga/llama-factory.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/hiyouga/llama-factory?color=green) ![LastCommit](https://img.shields.io/github/last-commit/hiyouga/llama-factory?color=green)\n* **[LMFlow](https://github.com/OptimalScale/LMFlow)**: An Extensible Toolkit for Finetuning and Inference of Large Foundation Models. Large Models for All. ![Stars](https://img.shields.io/github/stars/optimalscale/lmflow.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/optimalscale/lmflow?color=green) ![LastCommit](https://img.shields.io/github/last-commit/optimalscale/lmflow?color=green)\n* **[maestro](https://github.com/roboflow/maestro)**: streamline the fine-tuning process for multimodal models: PaliGemma 2, Florence-2, and Qwen2.5-VL. ![Stars](https://img.shields.io/github/stars/roboflow/maestro.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/roboflow/maestro?color=green) ![LastCommit](https://img.shields.io/github/last-commit/roboflow/maestro?color=green)\n* **[MLX-VLM](https://github.com/Blaizzy/mlx-vlm)**: MLX-VLM is a package for inference and fine-tuning of Vision Language Models (VLMs) on your Mac using MLX. ![Stars](https://img.shields.io/github/stars/blaizzy/mlx-vlm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/blaizzy/mlx-vlm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/blaizzy/mlx-vlm?color=green)\n* **[Swift](https://github.com/modelscope/ms-swift)**: Use PEFT or Full-parameter to finetune 450+ LLMs (Qwen2.5, InternLM3, GLM4, Llama3.3, Mistral, Yi1.5, Baichuan2, DeepSeek-R1, ...) and 150+ MLLMs (Qwen2.5-VL, Qwen2-Audio, Llama3.2-Vision, Llava, InternVL2.5, MiniCPM-V-2.6, GLM4v, Xcomposer2.5, Yi-VL, DeepSeek-VL2, Phi3.5-Vision, GOT-OCR2, ...). ![Stars](https://img.shields.io/github/stars/modelscope/ms-swift?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/modelscope/ms-swift?color=green) ![LastCommit](https://img.shields.io/github/last-commit/modelscope/ms-swift?color=green)\n* **[torchtune](https://github.com/pytorch/torchtune)**: PyTorch native post-training library. ![Stars](https://img.shields.io/github/stars/pytorch/torchtune.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/pytorch/torchtune?color=green) ![LastCommit](https://img.shields.io/github/last-commit/pytorch/torchtune?color=green)\n* **[Transformer Lab](https://github.com/transformerlab/transformerlab-app)**: Open Source Application for Advanced LLM Engineering: interact, train, fine-tune, and evaluate large language models on your own computer. ![Stars](https://img.shields.io/github/stars/transformerlab/transformerlab-app.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/transformerlab/transformerlab-app?color=green) ![LastCommit](https://img.shields.io/github/last-commit/transformerlab/transformerlab-app?color=green)\n* **[unsloth](https://github.com/unslothai/unsloth)**: Finetune Llama 3.3, DeepSeek-R1 & Reasoning LLMs 2x faster with 70% less memory! 🦥 ![Stars](https://img.shields.io/github/stars/unslothai/unsloth.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/unslothai/unsloth?color=green) ![LastCommit](https://img.shields.io/github/last-commit/unslothai/unsloth?color=green)\n\n### RLHF\n\n* **[OpenRLHF](https://github.com/OpenLLMAI/OpenRLHF)**: An Easy-to-use, Scalable and High-performance RLHF Framework (70B+ PPO Full Tuning & Iterative DPO & LoRA & RingAttention & RFT). ![Stars](https://img.shields.io/github/stars/openllmai/openrlhf.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openllmai/openrlhf?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openllmai/openrlhf?color=green)\n* **[Self-RLHF](https://github.com/PKU-Alignment/safe-rlhf)**: Safe RLHF: Constrained Value Alignment via Safe Reinforcement Learning from Human Feedback. ![Stars](https://img.shields.io/github/stars/pku-alignment/safe-rlhf.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/pku-alignment/safe-rlhf?color=green) ![LastCommit](https://img.shields.io/github/last-commit/pku-alignment/safe-rlhf?color=green)\n\n### Agentic RL\n\n* **[AReaL](https://github.com/inclusionAI/AReaL)**: Lightning-Fast RL for LLM Reasoning and Agents. Made Simple & Flexible. ![Stars](https://img.shields.io/github/stars/inclusionAI/AReaL.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/inclusionAI/AReaL?color=green) ![LastCommit](https://img.shields.io/github/last-commit/inclusionAI/AReaL?color=green)\n* **[rLLM](https://github.com/rllm-org/rllm)**: Democratizing Reinforcement Learning for LLMs ![Stars](https://img.shields.io/github/stars/rllm-org/rllm.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/rllm-org/rllm?color=green) ![LastCommit](https://img.shields.io/github/last-commit/rllm-org/rllm?color=green)\n* **[slime](https://github.com/THUDM/slime)**: slime is an LLM post-training framework for RL Scaling. ![Stars](https://img.shields.io/github/stars/thudm/slime.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/thudm/slime?color=green) ![LastCommit](https://img.shields.io/github/last-commit/thudm/slime?color=green)\n* **[verl](https://github.com/volcengine/verl)**: verl: Volcano Engine Reinforcement Learning for LLMs ![Stars](https://img.shields.io/github/stars/volcengine/verl.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/volcengine/verl?color=green) ![LastCommit](https://img.shields.io/github/last-commit/volcengine/verl?color=green)\n\n### Benchmark\n\n* **[AgentBench](https://github.com/THUDM/AgentBench)**: A Comprehensive Benchmark to Evaluate LLMs as Agents (ICLR'24). ![Stars](https://img.shields.io/github/stars/thudm/agentbench.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/thudm/agentbench?color=green) ![LastCommit](https://img.shields.io/github/last-commit/thudm/agentbench?color=green)\n* **[ASQI Engineer](https://github.com/asqi-engineer/asqi-engineer)**: ASQI (AI Solutions Quality Index) Engineer - run containerised AI tests and map to score cards! ![Stars](https://img.shields.io/github/stars/asqi-engineer/asqi-engineer.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/asqi-engineer/asqi-engineer?color=green) ![LastCommit](https://img.shields.io/github/last-commit/asqi-engineer/asqi-engineer?color=green)\n* **[LiveBench](https://github.com/livebench/livebench)**: LiveBench: A Challenging, Contamination-Free LLM Benchmark ![Stars](https://img.shields.io/github/stars/livebench/livebench.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/livebench/livebench?color=green) ![LastCommit](https://img.shields.io/github/last-commit/livebench/livebench?color=green)\n* **[lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness)**: A framework for few-shot evaluation of language models. ![Stars](https://img.shields.io/github/stars/eleutherai/lm-evaluation-harness.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/eleutherai/lm-evaluation-harness?color=green) ![LastCommit](https://img.shields.io/github/last-commit/eleutherai/lm-evaluation-harness?color=green)\n* **[LongBench](https://github.com/THUDM/LongBench)**: LongBench v2 and LongBench (ACL 2024). ![Stars](https://img.shields.io/github/stars/thudm/longbench.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/thudm/longbench?color=green) ![LastCommit](https://img.shields.io/github/last-commit/thudm/longbench?color=green)\n* **[MLE-bench](https://github.com/openai/mle-bench/)**: MLE-bench is a benchmark for measuring how well AI agents perform at machine learning engineering ![Stars](https://img.shields.io/github/stars/openai/mle-bench.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/openai/mle-bench?color=green) ![LastCommit](https://img.shields.io/github/last-commit/openai/mle-bench?color=green)\n* **[OpenCompass](https://github.com/open-compass/opencompass)**: OpenCompass is an LLM evaluation platform, supporting a wide range of models (Llama3, Mistral, InternLM2,GPT-4,LLaMa2, Qwen,GLM, Claude, etc) over 100+ datasets. ![Stars](https://img.shields.io/github/stars/open-compass/opencompass.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/open-compass/opencompass?color=green) ![LastCommit](https://img.shields.io/github/last-commit/open-compass/opencompass?color=green)\n* **[opik](https://github.com/comet-ml/opik)**: Debug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards. ![Stars](https://img.shields.io/github/stars/comet-ml/opik.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/comet-ml/opik?color=green) ![LastCommit](https://img.shields.io/github/last-commit/comet-ml/opik?color=green)\n* **[skill-optimizer](https://github.com/fastxyz/skill-optimizer)**: Benchmark and self-optimize SDK/CLI/MCP guidance so every agent model can use your tool reliably. ![Stars](https://img.shields.io/github/stars/fastxyz/skill-optimizer.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/fastxyz/skill-optimizer?color=green) ![LastCommit](https://img.shields.io/github/last-commit/fastxyz/skill-optimizer?color=green)\n* **[terminal-bench](https://github.com/laude-institute/terminal-bench)**: A benchmark for LLMs on complicated tasks in the terminal ![Stars](https://img.shields.io/github/stars/laude-institute/terminal-bench.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/laude-institute/terminal-bench?color=green) ![LastCommit](https://img.shields.io/github/last-commit/laude-institute/terminal-bench?color=green)\n\n### Workflow\n\n* **[Flyte](https://github.com/flyteorg/flyte)**: Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks. ![Stars](https://img.shields.io/github/stars/flyteorg/flyte.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/flyteorg/flyte?color=green) ![LastCommit](https://img.shields.io/github/last-commit/flyteorg/flyte?color=green)\n* **[Kubeflow](https://github.com/kubeflow/kubeflow)**: Machine Learning Toolkit for Kubernetes. ![Stars](https://img.shields.io/github/stars/kubeflow/kubeflow.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/kubeflow/kubeflow?color=green) ![LastCommit](https://img.shields.io/github/last-commit/kubeflow/kubeflow?color=green)\n* **[Metaflow](https://github.com/Netflix/metaflow)**: Build, Deploy and Manage AI/ML Systems. ![Stars](https://img.shields.io/github/stars/netflix/metaflow.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/netflix/metaflow?color=green) ![LastCommit](https://img.shields.io/github/last-commit/netflix/metaflow?color=green)\n* **[MLflow](https://github.com/mlflow/mlflow)**: Open source platform for the machine learning lifecycle. ![Stars](https://img.shields.io/github/stars/mlflow/mlflow.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/mlflow/mlflow?color=green) ![LastCommit](https://img.shields.io/github/last-commit/mlflow/mlflow?color=green)\n* **[Polyaxon](https://github.com/polyaxon/polyaxon)**:  MLOps Tools For Managing & Orchestrating The Machine Learning LifeCycle. ![Stars](https://img.shields.io/github/stars/polyaxon/polyaxon.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/polyaxon/polyaxon?color=green) ![LastCommit](https://img.shields.io/github/last-commit/polyaxon/polyaxon?color=green)\n* **[Ray](https://github.com/ray-project/ray)**: Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads. ![Stars](https://img.shields.io/github/stars/ray-project/ray.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/ray-project/ray?color=green) ![LastCommit](https://img.shields.io/github/last-commit/ray-project/ray?color=green)\n* **[Seldon-Core](https://github.com/SeldonIO/seldon-core)**: An MLOps framework to package, deploy, monitor and manage thousands of production machine learning models. ![Stars](https://img.shields.io/github/stars/seldonio/seldon-core.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/seldonio/seldon-core?color=green) ![LastCommit](https://img.shields.io/github/last-commit/seldonio/seldon-core?color=green)\n* **[ZenML](https://github.com/zenml-io/zenml)**: ZenML 🙏: The bridge between ML and Ops. https://zenml.io. ![Stars](https://img.shields.io/github/stars/zenml-io/zenml.svg?style=flat&color=green) ![Contributors](https://img.shields.io/github/contributors/zenml-io/zenml?color=green) ![LastCommit](https://img.shields.io/github/last-commit/zenml-io/zenml?color=green)\n"
  },
  {
    "path": "project_request.py",
    "content": "import argparse\nimport os\nimport re\nimport requests\nimport sys\nimport yaml\nfrom typing import Tuple, Dict, List, Any, Optional\nfrom urllib.parse import urlparse\n\n# Constants\nREADME_PATH = 'README.md'\nDATA_YML_PATH = 'website/data.yml'\nLOGOS_DIR = 'website/logos'\n# Categories that should only be added to README.md, not to website/data.yml\nREADME_ONLY_CATEGORIES = [\"MCP/MCP Server\", \"MCP/MCP Client\"]\n\ndef parse_github_url(url: str) -> Tuple[str, str]:\n    \"\"\"Extract owner and repository name from a GitHub URL.\n    \n    Args:\n        url: A GitHub repository URL (e.g., https://github.com/owner/repo)\n        \n    Returns:\n        A tuple containing (owner, repo) strings\n        \n    Raises:\n        ValueError: If the URL is not a valid GitHub repository URL\n    \"\"\"\n    parsed_url = urlparse(url)\n    if 'github.com' not in parsed_url.netloc:\n        raise ValueError(f\"Not a GitHub URL: {url}\")\n    \n    path_parts = parsed_url.path.strip('/').split('/')\n    if len(path_parts) < 2:\n        raise ValueError(f\"Invalid GitHub repository URL: {url}\")\n    \n    owner, repo = path_parts[0], path_parts[1]\n    return owner, repo\n\n\ndef get_repo_info(owner: str, repo: str) -> Dict[str, Any]:\n    \"\"\"Fetch repository information from GitHub API.\n    \n    Args:\n        owner: GitHub repository owner/organization name\n        repo: GitHub repository name\n        \n    Returns:\n        Dictionary containing repository information from GitHub API\n        \n    Raises:\n        Exception: If the API request fails\n    \"\"\"\n    api_url = f\"https://api.github.com/repos/{owner}/{repo}\"\n    response = requests.get(api_url)\n    \n    if response.status_code != 200:\n        raise Exception(f\"Failed to fetch repository info: {response.status_code} {response.text}\")\n        \n    return response.json()\n\n\ndef generate_entry(repo_url: str, project_name: str) -> Tuple[str, str]:\n    \"\"\"Generate formatted entry for README.md.\n    \n    Args:\n        repo_url: GitHub repository URL\n        project_name: The project name\n        \n    Returns:\n        A tuple containing:\n            - project_name: The name of the project\n            - entry: A formatted markdown string for the README entry\n    \"\"\"\n    # Parse GitHub URL\n    owner, repo = parse_github_url(repo_url)\n    \n    # Get repository description\n    repo_info = get_repo_info(owner, repo)\n    description = repo_info.get('description', '')\n    \n    # Generate shields.io URLs\n    stars_badge = f\"![Stars](https://img.shields.io/github/stars/{owner}/{repo}.svg?style=flat&color=green)\"\n    contributors_badge = f\"![Contributors](https://img.shields.io/github/contributors/{owner}/{repo}?color=green)\"\n    last_commit_badge = f\"![LastCommit](https://img.shields.io/github/last-commit/{owner}/{repo}?color=green)\"\n    \n    # Format the entry\n    entry = f\"* **[{project_name}]({repo_url})**: {description} {stars_badge} {contributors_badge} {last_commit_badge}\"\n    \n    return project_name, entry\n\n\ndef find_category(content: str, category: str) -> Tuple[int, int, List[str]]:\n    \"\"\"Find the specified category in the README content.\n    \n    Args:\n        content: The full content of the README.md file\n        category: The name of the category to find (e.g., \"framework\" or \"orchestration/workflow\")\n                 Can include a path with '/' as separator for nested categories\n        \n    Returns:\n        A tuple containing:\n            - category_start_line: The line number where the category starts\n            - category_end_line: The line number where the category ends\n            - lines: List of all lines in the content\n            \n    Raises:\n        ValueError: If the specified category is not found\n    \"\"\"\n    \n    # Define patterns for different category levels\n    category_patterns = [\n        # Main category (##)\n        re.compile(r'##\\s+([^\\n]+)'),\n        # Subcategory (###)\n        re.compile(r'###\\s+([^\\n]+)')\n    ]\n    \n    lines = content.split('\\n')\n    category_path = [c.strip().lower() for c in category.split('/')]\n    \n    # If we have a path with multiple levels, we need to find each level\n    if len(category_path) > 1:\n        current_path = []\n        current_level = 0\n        category_start_line = -1\n        category_end_line = -1\n        \n        for i, line in enumerate(lines):\n            # Check if this line starts a category\n            for pattern in category_patterns:\n                match = pattern.match(line)\n                if match:\n                    # Get the heading level (## = 2, ### = 3)\n                    heading_level = line.count('#')\n                    category_name = match.group(1).strip().lower()\n                    \n                    # If we're at a level we're tracking\n                    if heading_level - 2 <= len(current_path):\n                        # If we're at a lower level than current, pop levels\n                        while heading_level - 2 < len(current_path):\n                            current_path.pop()\n                        \n                        # If we're at a new level, add it\n                        if heading_level - 2 == len(current_path):\n                            current_path.append(category_name)\n                        # If we're at the same level, replace the last item\n                        else:\n                            current_path[-1] = category_name\n                        \n                        # Check if the current path matches our target path\n                        if len(current_path) == len(category_path) and all(a == b for a, b in zip(current_path, category_path)):\n                            category_start_line = i\n                        # If we already found our category and encounter another at the same or higher level, that's the end\n                        elif category_start_line != -1 and category_end_line == -1 and heading_level - 2 <= len(category_path) - 1:\n                            category_end_line = i\n                            break\n    else:\n        # Original single-level category search\n        category_start_line = -1\n        category_end_line = -1\n        current_category = \"\"\n        \n        for i, line in enumerate(lines):\n            # Check if this line starts a category\n            for pattern in category_patterns:\n                match = pattern.match(line)\n                if match:\n                    # If we already found our category, this new category marks the end\n                    if category_start_line != -1 and category_end_line == -1:\n                        category_end_line = i\n                        break\n                    \n                    # Check if this is the category we're looking for\n                    current_category = match.group(1).strip().lower()\n                    if current_category == category_path[0]:\n                        category_start_line = i\n                        break\n    \n    # If we found the start but not the end, the category goes to the end of the file\n    if category_start_line != -1 and category_end_line == -1:\n        category_end_line = len(lines)\n    \n    if category_start_line == -1:\n        raise ValueError(f\"Category '{category}' not found in README.md\")\n    \n    return category_start_line, category_end_line, lines\n\n\ndef insert_entry(lines: List[str], category_start_line: int, category_end_line: int, project_name: str, new_entry: str) -> List[str]:\n    \"\"\"Insert the new entry in alphabetical order within the category.\n    \n    Args:\n        lines: List of all lines in the README.md file\n        category_start_line: The line number where the category starts\n        category_end_line: The line number where the category ends\n        project_name: The name of the project\n        new_entry: The formatted entry to insert\n        \n    Returns:\n        Updated list of lines with the new entry inserted in alphabetical order\n    \"\"\"\n    \n    # Find the correct position to insert the new entry\n    insert_position = category_end_line\n    last_entry_position = -1\n    \n    # Skip the category header\n    for i in range(category_start_line + 1, category_end_line):\n        line = lines[i]\n        # Check if this line is an entry\n        entry_name_match = re.search(r'\\*\\s+\\*\\*\\[([^\\]]+)\\]', line)\n        if entry_name_match:\n            last_entry_position = i\n            entry_name = entry_name_match.group(1).lower()\n            # If the new entry comes before this entry alphabetically (case-insensitive comparison)\n            if project_name.lower() < entry_name:\n                insert_position = i\n                break\n    \n    # If we're inserting at the end of the category\n    if insert_position == category_end_line:\n        # Always insert after the last entry\n        insert_position = last_entry_position + 1\n    \n    # Insert the new entry at the determined position\n    lines.insert(insert_position, new_entry)\n    \n    return lines\n\n\ndef update_website(category: str, project_name: str, repo_url: str, homepage_url: str, logo_url: str = None, logo_name: str = None) -> bool:\n    \"\"\"Update the website data.yml file and download the logo.\n    \n    Args:\n        category: The name of the category to add the entry to (e.g., \"Inference Engine\")\n        project_name: The name of the project\n        repo_url: The GitHub repository URL\n        logo_url: URL to the project logo (optional, default.png will be used if not provided)\n        homepage_url: Custom homepage URL\n        logo_name: Optional custom logo filename\n        \n    Returns:\n        True if the update was successful, False otherwise\n    \"\"\"\n    try:\n        # Load the data.yml file\n        with open(DATA_YML_PATH, 'r', encoding='utf-8') as file:\n            data = yaml.safe_load(file)\n        \n        # Parse GitHub URL\n        owner, repo = parse_github_url(repo_url)\n        \n        # Get repository information\n        repo_info = get_repo_info(owner, repo)\n        description = repo_info.get('description', '')\n\n        # Process logo\n        logo_filename = None\n\n        # If no logo_url is provided, use default.png\n        if not logo_url:\n            logo_filename = \"default.png\"\n        else:\n            # If logo_name is provided, use it directly\n            if logo_name:\n                logo_filename = logo_name\n            else:\n                # Extract filename from URL\n                parsed_url = urlparse(logo_url)\n                original_filename = os.path.basename(parsed_url.path)\n                file_ext = os.path.splitext(original_filename)[1].lower()\n                \n                # Create a sanitized filename based on project name\n                sanitized_name = project_name.lower().replace(' ', '-')\n                sanitized_name = re.sub(r'[^\\w\\-]', '', sanitized_name)\n                logo_filename = f\"{sanitized_name}{file_ext}\"\n            logo_path = os.path.join(LOGOS_DIR, logo_filename)\n            \n            # Download the logo\n            response = requests.get(logo_url, stream=True)\n            response.raise_for_status()\n            \n            with open(logo_path, 'wb') as logo_file:\n                for chunk in response.iter_content(chunk_size=8192):\n                    logo_file.write(chunk)\n            \n            print(f\"Successfully downloaded logo to {logo_path}\")\n\n        # Parse the category path\n        category_path = [c.strip().lower() for c in category.split('/')]\n        target_category = category_path[-1]  # Use the last part as the actual category name\n        \n        # Find the appropriate category and subcategory\n        for maincategory in data['categories']:\n            for subcategory in maincategory['subcategories']:\n                if subcategory['name'].lower() == target_category:\n                    # Create new item entry\n                    new_item = {\n                        'name': project_name,\n                        'description': description,\n                        'homepage_url': homepage_url,\n                        'logo': logo_filename,\n                        'repo_url': repo_url\n                    }\n                    \n                    # Add the new item to the subcategory\n                    subcategory['items'].append(new_item)\n                    \n                    # Sort items by name\n                    subcategory['items'] = sorted(subcategory['items'], key=lambda x: x['name'].lower())\n                    \n                    # Write the updated data back to the file\n                    with open(DATA_YML_PATH, 'w', encoding='utf-8') as file:\n                        yaml.dump(data, file, sort_keys=False, default_flow_style=False, allow_unicode=True)\n                    \n                    return True\n\n    except Exception as e:\n        print(f\"Error updating website data: {str(e)}\")\n        return False\n\n\ndef update_readme(category: str, project_name: str, new_entry: str) -> bool:\n    \"\"\"Update the README.md file with the new entry.\n    \n    Args:\n        category: The name of the category to add the entry to\n        project_name: The name of the project\n        new_entry: The formatted entry to add\n        \n    Returns:\n        True if the update was successful, False otherwise\n    \"\"\"\n\n    try:\n        with open(README_PATH, 'r', encoding='utf-8') as file:\n            content = file.read()\n        \n        category_start_line, category_end_line, lines = find_category(content, category)\n        updated_lines = insert_entry(lines, category_start_line, category_end_line, project_name, new_entry)\n        \n        # Write the updated content back to the file\n        with open(README_PATH, 'w', encoding='utf-8') as file:\n            file.write('\\n'.join(updated_lines))\n        \n        print(f\"Successfully added {project_name} to {category} category in README.md\")\n        return True\n    \n    except Exception as e:\n        print(f\"Error updating README.md: {str(e)}\")\n        return False\n\n\ndef is_readme_only(category: str) -> bool:\n    \"\"\"Check if a project should only be added to README.md and not to website/data.yml.\n    \n    Args:\n        category: The category of the project\n        \n    Returns:\n        True if the project should only be added to README.md, False otherwise\n    \"\"\"\n    # Normalize the category for case-insensitive comparison\n    normalized_category = category.strip().lower()\n    \n    # Check if the category is in the README_ONLY_CATEGORIES list\n    for readme_only_category in README_ONLY_CATEGORIES:\n        if normalized_category == readme_only_category.lower():\n            return True\n    \n    return False\n\n\ndef main() -> None:\n    \"\"\"Main function to parse arguments and execute the script.\n    \n    Command line arguments:\n        --category/-c: The category to add the project to (e.g., \"Inference/Inference Engine\", \"Orchestration/Workflow\")\n                      Can include a path with '/' as separator for nested categories\n        --repo_url/-r: The GitHub repository URL\n        --name/-n: Custom project name\n        --logo_url/-l: URL to the project logo (optional for README_ONLY_CATEGORIES)\n        --homepage_url/-hu: Project homepage URL (optional for README_ONLY_CATEGORIES)\n        --logo_name/-ln: Optional custom logo filename\n\n    Example:\n        python project_request.py \\\n            --category \"Inference/Inference Engine\" \\\n            --repo_url https://github.com/google/adk-python \\\n            --name \"Agent Development Kit (ADK)\" \\\n            --logo_url https://raw.githubusercontent.com/google/adk-python/main/assets/agent-development-kit.png \\\n            --homepage_url https://google.github.io/adk-docs\n    \"\"\"\n    parser = argparse.ArgumentParser(description='Add a new project to the README.md file and update the website data.')\n    parser.add_argument('--category', '-c', required=True, help='The category to add the project to (e.g., \"Inference Engine\", \"Agent\", \"Orchestration/Workflow\"). Can include a path with \"/\" as separator for nested categories.')\n    parser.add_argument('--repo_url', '-r', required=True, help='The GitHub repository URL')\n    parser.add_argument('--name', '-n', required=True, help='Custom project name')\n    parser.add_argument('--logo_url', '-l', required=False, help='URL to the project logo (optional for MCP-related projects)')\n    parser.add_argument('--homepage_url', '-hu', required=False, help='Custom homepage URL (optional for MCP-related projects)')\n    parser.add_argument('--logo_name', '-ln', required=False, help='Optional custom logo filename')\n    \n    args = parser.parse_args()\n    \n    try:\n        # Generate the entry for README.md\n        project_name, entry = generate_entry(args.repo_url, args.name)\n        \n        # Update the README.md file\n        readme_success = update_readme(args.category.lower(), project_name, entry)\n        \n        if not readme_success:\n            print(\"Failed to update README.md\")\n            sys.exit(1)\n        \n        # Check if the project is in README_ONLY_CATEGORIES\n        readme_only = is_readme_only(args.category)\n        \n        if readme_only:\n            print(f\"Category '{args.category}' is in README_ONLY_CATEGORIES. Skipping website data update.\")\n            website_success = True\n        else:\n            # For non-README_ONLY_CATEGORIES projects, warn if logo_url is not provided\n            if not args.logo_url:\n                print(\"Warning: No logo URL provided, using default.png\")\n            # For non-README_ONLY_CATEGORIES projects, homepage_url is required\n            if not args.homepage_url:\n                print(\"Error: --homepage_url is required for projects not in README_ONLY_CATEGORIES\")\n                sys.exit(1)\n                \n            # Update website\n            website_success = update_website(args.category, args.name, args.repo_url, args.homepage_url, args.logo_url,args.logo_name)\n            \n            if not website_success:\n                print(\"Failed to update website data\")\n                sys.exit(1)\n            else:\n                print(f\"Successfully updated website data for {project_name}\")\n    \n    except Exception as e:\n        print(f\"Error: {str(e)}\")\n        sys.exit(1)\n\n    print(f\"Successfully added {project_name} to the {args.category} category\")\n\nif __name__ == '__main__':\n    main()\n"
  },
  {
    "path": "requirements.txt",
    "content": "requests>=2.25.0\npyyaml>=6.0\n"
  },
  {
    "path": "website/README.md",
    "content": "# Awesome-LLMOps Landscape\n\nThis directory contains the configuration files and assets for the Awesome-LLMOps landscape website. The landscape is built using [landscape2](https://github.com/cncf/landscape2), a tool developed by CNCF for creating interactive landscapes.\n\n## Overview\n\nThe landscape website provides a visual representation of the Awesome-LLMOps ecosystem, categorizing projects into different groups and subcategories. It helps users discover and navigate through the various tools and projects in the LLMOps space.\n\n## Configuration Files\n\n- `data.yml`: Contains the data structure for the landscape, including categories, subcategories, and project items.\n- `guide.yml`: Provides descriptive content for categories and subcategories displayed in the landscape guide.\n- `settings.yml`: Customizes the appearance and behavior of the landscape website.\n\n## Directory Structure\n\n- `logos/`: Contains logo files for projects and the landscape itself.\n\n## Running the Landscape Locally\n\nTo run the landscape website locally for testing:\n\n1. Use the commands defined in the Makefile:\n   ```\n   make install   # Install landscape2\n   make build     # Build the landscape\n   make serve     # Serve the landscape locally\n   ```\n\n2. Access the local website at http://127.0.0.1:8000\n\n## Landscape Categories\n\nThe landscape currently includes the following main categories:\n\n- **Inference**: Tools and platforms for deploying and serving LLMs\n- **Orchestration**: Tools for orchestrating LLM workflows and agents\n- **Runtime**: Runtime environments and tools for LLM applications\n- **Training**: Tools and frameworks for training and fine-tuning LLMs\n\nAdditional categories can be added by updating the `data.yml`, `guide.yml`, and `settings.yml` files.\n"
  },
  {
    "path": "website/data.yml",
    "content": "categories:\n- name: Inference\n  subcategories:\n  - name: Inference Engine\n    items:\n    - name: Cortex.cpp\n      description: Local AI API Platform.\n      homepage_url: https://cortex.so\n      logo: cortex-cpp.svg\n      repo_url: https://github.com/janhq/cortex.cpp\n    - name: DeepSpeed-MII\n      description: MII makes low-latency and high-throughput inference possible, powered\n        by DeepSpeed.\n      homepage_url: https://deepspeed-mii.readthedocs.io\n      logo: deepspeed-mii.svg\n      repo_url: https://github.com/microsoft/DeepSpeed-MII\n    - name: ipex-llm\n      description: Accelerate local LLM inference and finetuning on Intel XPU.\n      homepage_url: https://github.com/intel-analytics/ipex-llm\n      logo: intel.png\n      repo_url: https://github.com/intel-analytics/ipex-llm\n    - name: llama-box\n      description: LM inference server implementation based on *.cpp.\n      homepage_url: https://github.com/gpustack/llama-box\n      logo: default.png\n      repo_url: https://github.com/gpustack/llama-box\n    - name: llama.cpp\n      description: LLM inference in C/C++.\n      homepage_url: https://github.com/ggerganov/llama.cpp\n      logo: llamacpp.svg\n      repo_url: https://github.com/ggerganov/llama.cpp\n    - name: Llumnix\n      description: Efficient and easy multi-instance LLM serving.\n      homepage_url: https://github.com/AlibabaPAI/llumnix\n      logo: alibaba.png\n      repo_url: https://github.com/AlibabaPAI/llumnix\n    - name: LMDeploy\n      description: LMDeploy is a toolkit for compressing, deploying, and serving LLMs.\n      homepage_url: http://lmdeploy.readthedocs.io/\n      logo: lmdeploy.svg\n      repo_url: https://github.com/InternLM/lmdeploy\n    - name: LoRAX\n      description: Multi-LoRA inference server that scales to 1000s of fine-tuned\n        LLMs.\n      homepage_url: https://loraexchange.ai\n      logo: lorax.png\n      repo_url: https://github.com/predibase/lorax\n    - name: MInference\n      description: To speed up Long-context LLMs' inference, approximate and dynamic\n        sparse calculate the attention.\n      homepage_url: https://aka.ms/MInference\n      logo: minference.png\n      repo_url: https://github.com/microsoft/minference\n    - name: MLC LLM\n      description: Universal LLM Deployment Engine with ML Compilation.\n      homepage_url: https://llm.mlc.ai/\n      logo: mlc.png\n      repo_url: https://github.com/mlc-ai/mlc-llm\n    - name: MLServer\n      description: An inference server for your machine learning models, including\n        support for multiple frameworks.\n      homepage_url: https://mlserver.readthedocs.io/\n      logo: mlserver.png\n      repo_url: https://github.com/SeldonIO/MLServer\n    - name: Nvidia Dynamo\n      description: A Datacenter Scale Distributed Inference Serving Framework.\n      homepage_url: https://developer.nvidia.com/dynamo\n      logo: nvidia.png\n      repo_url: https://github.com/ai-dynamo/dynamo\n    - name: Ollama\n      description: Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3,\n        and other large language models.\n      homepage_url: https://ollama.com\n      logo: ollama.png\n      repo_url: https://github.com/ollama/ollama\n    - name: OpenLLM\n      description: Run any open-source LLMs, such as DeepSeek and Llama, as OpenAI\n        compatible API endpoint in the cloud.\n      homepage_url: https://bentoml.com\n      logo: bentoml.png\n      repo_url: https://github.com/bentoml/OpenLLM\n    - name: OpenVINO\n      description: OpenVINO™ is an open source toolkit for optimizing and deploying\n        AI inference.\n      homepage_url: https://docs.openvino.ai\n      logo: openvino.svg\n      repo_url: https://github.com/openvinotoolkit/openvino\n    - name: Petals\n      description: 🌸 Run LLMs at home, BitTorrent-style. Fine-tuning and inference\n        up to 10x faster than offloading\n      homepage_url: https://petals.dev/\n      logo: petals\n      repo_url: https://github.com/bigscience-workshop/petals\n    - name: Ratchet\n      description: A cross-platform browser ML framework.\n      homepage_url: https://huggingface.co/ratchet-community\n      logo: ratchet.png\n      repo_url: https://github.com/huggingface/ratchet\n    - name: SGLang\n      description: SGLang is a fast serving framework for large language models and\n        vision language models.\n      homepage_url: https://docs.sglang.ai/\n      logo: sglang.png\n      repo_url: https://github.com/sgl-project/sglang\n    - name: Text Generation Inference\n      description: Large Language Model Text Generation Inference.\n      homepage_url: https://hf.co/docs/text-generation-inference\n      logo: hf.png\n      repo_url: https://github.com/huggingface/text-generation-inference\n    - name: TinyGrad\n      description: 'You like pytorch? You like micrograd? You love tinygrad! ❤️ '\n      homepage_url: https://github.com/tinygrad/tinygrad\n      logo: tinygrad.svg\n      repo_url: https://github.com/tinygrad/tinygrad\n    - name: transformers.js\n      description: State-of-the-art Machine Learning for the web. Run 🤗 Transformers\n        directly in your browser, with no need for a server!\n      homepage_url: https://huggingface.co/docs/transformers.js\n      logo: transformers-js.png\n      repo_url: https://github.com/huggingface/transformers.js\n    - name: Triton Inference Server\n      description: The Triton Inference Server provides an optimized cloud and edge\n        inferencing solution.\n      homepage_url: https://docs.nvidia.com/deeplearning/triton-inference-server/\n      logo: nvidia.png\n      repo_url: https://github.com/triton-inference-server/server\n    - name: vLLM\n      description: A high-throughput and memory-efficient inference and serving engine\n        for LLMs.\n      homepage_url: https://docs.vllm.ai\n      logo: vllm.png\n      repo_url: https://github.com/vllm-project/vllm\n    - name: web-llm\n      description: High-performance In-browser LLM Inference Engine.\n      homepage_url: https://webllm.mlc.ai\n      logo: mlc.png\n      repo_url: https://github.com/mlc-ai/web-llm\n    - name: Xinference\n      description: Replace OpenAI GPT with another LLM in your app by changing a single\n        line of code. Xinference gives you the freedom to use any LLM you need. With\n        Xinference, you're empowered to run inference with any open-source language\n        models, speech recognition models, and multimodal models, whether in the cloud,\n        on-premises, or even on your laptop.\n      homepage_url: https://inference.readthedocs.io/\n      logo: xinference\n      repo_url: https://github.com/xorbitsai/inference\n    - name: zml\n      description: Any model. Any hardware. Zero compromise. Built with @ziglang /\n        @openxla / MLIR / @bazelbuild.\n      homepage_url: https://docs.zml.ai\n      logo: zml.svg\n      repo_url: https://github.com/zml/zml\n  - name: Inference Platform\n    items:\n    - name: AIBrix\n      description: Cost-efficient and pluggable Infrastructure components for GenAI\n        inference.\n      homepage_url: https://aibrix.readthedocs.io/latest/\n      logo: aibrix.jpeg\n      repo_url: https://github.com/vllm-project/aibrix\n    - name: BentoML\n      description: The easiest way to serve AI apps and models - Build Model Inference\n        APIs, Job queues, LLM apps, Multi-model pipelines, and more!\n      homepage_url: https://bentoml.com\n      logo: bentoml.png\n      repo_url: https://github.com/bentoml/BentoML\n    - name: beta9\n      description: Ultrafast serverless GPU inference, sandboxes, and background jobs\n      homepage_url: https://www.beam.cloud\n      logo: beta9\n      repo_url: https://github.com/beam-cloud/beta9\n    - name: Kaito\n      description: Kubernetes operator for large-model inference and fine-tuning,\n        with GPU auto-provisioning, container-based hosting, and CRD-based orchestration.\n      homepage_url: https://github.com/kaito-project/Kaito\n      logo: kaito.png\n      repo_url: https://github.com/kaito-project/Kaito\n    - name: Kserve\n      description: Standardized Serverless ML Inference Platform on Kubernetes.\n      homepage_url: https://kserve.github.io/website/latest/\n      logo: kserve.png\n      repo_url: https://github.com/kserve/kserve\n    - name: KubeAI\n      description: AI Inference Operator for Kubernetes. The easiest way to serve\n        ML models in production. Supports VLMs, LLMs, embeddings, and speech-to-text.\n      homepage_url: https://www.kubeai.org/\n      logo: kubeai.png\n      repo_url: https://github.com/substratusai/kubeai\n    - name: llm-d\n      description: llm-d is a Kubernetes-native high-performance distributed LLM inference\n        framework\n      homepage_url: https://llm-d.ai\n      logo: llm-d.png\n      repo_url: https://github.com/llm-d/llm-d\n    - name: llmaz\n      description: ☸️ Easy, advanced inference platform for large language models\n        on Kubernetes. 🌟 Star to support our work!\n      homepage_url: https://llmaz.inftyai.com\n      logo: llmaz.svg\n      repo_url: https://github.com/InftyAI/llmaz\n    - name: Modular\n      description: The Modular Platform (includes MAX & Mojo)\n      homepage_url: https://docs.modular.com/\n      logo: modular\n      repo_url: https://github.com/modular/modular\n    - name: Mooncake\n      description: Mooncake is the serving platform for Kimi, a leading LLM service\n        provided by Moonshot AI.\n      homepage_url: https://kvcache.ai/repo/mooncake\n      logo: mooncake.png\n      repo_url: https://github.com/kvcache-ai/Mooncake\n    - name: OME\n      description: OME is a Kubernetes operator for enterprise-grade management and\n        serving of Large Language Models (LLMs)\n      homepage_url: https://docs.sglang.ai/ome/\n      logo: ome.png\n      repo_url: https://github.com/sgl-project/ome\n  - name: Middleware\n    items:\n    - name: Checkpoint Engine\n      description: Checkpoint-engine is a simple middleware to update model weights\n        in LLM inference engines\n      homepage_url: https://github.com/MoonshotAI/checkpoint-engine\n      logo: checkpoint-engine\n      repo_url: https://github.com/MoonshotAI/checkpoint-engine\n    - name: kvcached\n      description: Virtualized Elastic KV Cache for Dynamic GPU Sharing and Beyond\n      homepage_url: https://github.com/ovg-project/kvcached\n      logo: kvcached\n      repo_url: https://github.com/ovg-project/kvcached\n    - name: LMCache\n      description: 10x Faster Long-Context LLM By Smart KV Cache Optimizations.\n      homepage_url: https://lmcache.ai/\n      logo: lmcache.png\n      repo_url: https://github.com/LMCache/LMCache\n  - name: AI Gateway\n    items:\n    - name: agentgateway\n      description: Next Generation Agentic Proxy for AI Agents and MCP servers\n      homepage_url: https://agentgateway.dev\n      logo: agentgateway.svg\n      repo_url: https://github.com/agentgateway/agentgateway\n    - name: APISIX\n      description: The Cloud-Native API Gateway and AI Gateway with extensive plugin\n        system and AI capabilities.\n      homepage_url: https://apisix.apache.org/\n      logo: apisix.png\n      repo_url: https://github.com/apache/apisix\n    - name: Envoy AI Gateway\n      description: Envoy AI Gateway is an open source project for using Envoy Gateway\n        to handle request traffic from application clients to Generative AI services.\n      homepage_url: https://aigateway.envoyproxy.io/\n      logo: envoy-ai-gateway.png\n      repo_url: https://github.com/envoyproxy/ai-gateway\n    - name: gateway-api-inference-extension\n      description: Gateway API Inference Extension.\n      homepage_url: https://gateway-api-inference-extension.sigs.k8s.io/\n      logo: k8s.png\n      repo_url: https://github.com/kubernetes-sigs/gateway-api-inference-extension\n    - name: Higress\n      description: 🤖 AI Gateway | AI Native API Gateway.\n      homepage_url: https://higress.ai/en/\n      logo: higress.avif\n      repo_url: https://github.com/alibaba/higress\n    - name: kgateway\n      description: The Cloud-Native API Gateway and AI Gateway.\n      homepage_url: https://kgateway.dev/\n      logo: kgateway.png\n      repo_url: https://github.com/kgateway-dev/kgateway\n    - name: Kong\n      description: 🦍 The Cloud-Native API Gateway and AI Gateway.\n      homepage_url: https://docs.konghq.com/gateway/latest/\n      logo: kong.png\n      repo_url: https://github.com/Kong/kong\n  - name: LLM Router\n    items:\n    - name: AI Gateway\n      description: A blazing fast AI Gateway with integrated guardrails. Route to\n        200+ LLMs, 50+ AI Guardrails with 1 fast & friendly API.\n      homepage_url: https://portkey.ai/features/ai-gateway\n      logo: portkeyai.png\n      repo_url: https://github.com/Portkey-AI/gateway\n    - name: bifrost\n      description: Fastest LLM gateway (50x faster than LiteLLM) with adaptive load\n        balancer, cluster mode, guardrails, 1000+ models support & <100 µs overhead\n        at 5k RPS.\n      homepage_url: https://www.getmaxim.ai/bifrost\n      logo: bifrost\n      repo_url: https://github.com/maximhq/bifrost\n    - name: Ferro Labs AI Gateway\n      description: One API for 25+ LLMs, OpenAI, Anthropic, Bedrock, Azure. Caching,\n        guardrails & cost controls. Go-native LiteLLM & Kong AI Gateway alternative.\n      homepage_url: https://docs.ferrolabs.ai\n      logo: ferro-labs-ai-gateway.png\n      repo_url: https://github.com/ferro-labs/ai-gateway\n    - name: Hebo AI Gateway\n      description: OpenAI-compatible /chat/completions, /embeddings & /models endpoints\n      homepage_url: https://hebo.ai/gateway\n      logo: hebo-ai-gateway.png\n      repo_url: https://github.com/8monkey-ai/hebo-gateway/\n    - name: LiteLLM\n      description: Python SDK, Proxy Server (LLM Gateway) to call 100+ LLM APIs in\n        OpenAI format - [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker,\n        HuggingFace, Replicate, Groq].\n      homepage_url: https://docs.litellm.ai/docs/\n      logo: berriai.png\n      repo_url: https://github.com/BerriAI/litellm\n    - name: LLMRouter\n      description: 'LLMRouter: An Open-Source Library for LLM Routing'\n      homepage_url: https://ulab-uiuc.github.io/LLMRouter/\n      logo: llmrouter.png\n      repo_url: https://github.com/ulab-uiuc/LLMRouter\n    - name: RouteLLM\n      description: A framework for serving and evaluating LLM routers - save LLM costs\n        without compromising quality.\n      homepage_url: https://github.com/lm-sys/routellm\n      logo: lmsys.png\n      repo_url: https://github.com/lm-sys/routellm\n    - name: vLLM Semantic Router\n      description: Intelligent Mixture-of-Models Router for Efficient LLM Inference\n      homepage_url: https://vllm-semantic-router.com/\n      logo: vllm.png\n      repo_url: https://github.com/vllm-project/semantic-router\n  - name: Output\n    items:\n    - name: BAML\n      description: The AI framework that adds the engineering to prompt engineering\n        (Python/TS/Ruby/Java/C#/Rust/Go compatible)\n      homepage_url: https://docs.boundaryml.com/home\n      logo: baml\n      repo_url: https://github.com/boundaryml/baml\n    - name: Instructor\n      description: Structured outputs for LLMs.\n      homepage_url: https://python.useinstructor.com/\n      logo: default.png\n      repo_url: https://github.com/instructor-ai/instructor\n    - name: Outlines\n      description: Structured Text Generation.\n      homepage_url: https://dottxt-ai.github.io/outlines/\n      logo: outlines.png\n      repo_url: https://github.com/dottxt-ai/outlines\n    - name: XGrammar\n      description: Fast, Flexible and Portable Structured Generation\n      homepage_url: https://xgrammar.mlc.ai/docs/\n      logo: xgrammar.svg\n      repo_url: https://github.com/mlc-ai/xgrammar\n  - name: Simulator\n    items:\n    - name: Vidur\n      description: A large-scale simulation framework for LLM inference\n      homepage_url: https://github.com/microsoft/vidur\n      logo: microsoft.png\n      repo_url: https://github.com/microsoft/vidur\n  - name: Benchmark\n    items:\n    - name: genai-bench\n      description: Genai-bench is a powerful benchmark tool designed for comprehensive\n        token-level performance evaluation of large language model (LLM) serving systems.\n      homepage_url: https://docs.sglang.ai/genai-bench\n      logo: genai-bench.png\n      repo_url: https://github.com/sgl-project/genai-bench\n    - name: Inference Benchmark\n      description: A model server agnostic inference benchmarking tool that can be\n        used to benchmark LLMs running on differet infrastructure like GPU and TPU.\n        It can also be run on a GKE cluster as a container.\n      homepage_url: https://github.com/AI-Hypercomputer/inference-benchmark\n      logo: inference-benchmark.png\n      repo_url: https://github.com/AI-Hypercomputer/inference-benchmark\n    - name: Inference Perf\n      description: GenAI inference performance benchmarking tool.\n      homepage_url: https://github.com/kubernetes-sigs/inference-perf\n      logo: k8s.png\n      repo_url: https://github.com/kubernetes-sigs/inference-perf\n    - name: skill-optimizer\n      description: Benchmark and self-optimize SDK/CLI/MCP guidance so every agent\n        model can use your tool reliably.\n      homepage_url: https://github.com/fastxyz/skill-optimizer\n      logo: default.png\n      repo_url: https://github.com/fastxyz/skill-optimizer\n- name: Orchestration\n  subcategories:\n  - name: Application Framework\n    items:\n    - name: Cordum.io\n      description: 'Cordum (cordum.io) is a platform-only control plane for autonomous\n        AI Agents and external workers. It uses NATS for the bus, Redis for state\n        and payload pointers, and CAP v2 wire contracts for jobs, results, and heartbeats.\n        Workers and product packs live outside this repo.Core cordum '\n      homepage_url: https://cordum.io\n      logo: cordumio\n      repo_url: https://github.com/cordum-io/cordum\n    - name: DeepEval\n      description: The LLM Evaluation Framework\n      homepage_url: https://deepeval.com/\n      logo: deepeval\n      repo_url: https://github.com/confident-ai/deepeval\n    - name: Evidently\n      description: Evidently is ​​an open-source ML and LLM observability framework.\n        Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular\n        data to Gen AI. 100+ metrics.\n      homepage_url: https://github.com/evidentlyai/evidently\n      logo: evidently\n      repo_url: https://github.com/evidentlyai/evidently\n    - name: Helicone\n      description: Open source LLM observability platform. One line of code to monitor,\n        evaluate, and experiment.\n      homepage_url: https://www.helicone.ai\n      logo: helicone.png\n      repo_url: https://github.com/helicone/helicone\n    - name: Langfuse\n      description: 'Open source LLM engineering platform: LLM Observability, metrics,\n        evals, prompt management, and more.'\n      homepage_url: https://langfuse.com/docs\n      logo: langfuse.png\n      repo_url: https://github.com/langfuse/langfuse\n    - name: lunaary\n      description: 'The production toolkit for LLMs. Observability, prompt management\n        and evaluations. '\n      homepage_url: https://lunary.ai/\n      logo: lunaary\n      repo_url: https://github.com/lunary-ai/lunary\n    - name: Neurolink\n      description: Universal AI Development Platform with MCP server integration,\n        multi-provider support, and professional CLI. Build, test, and deploy AI applications\n        with multiple ai providers.\n      homepage_url: https://juspay.github.io/neurolink/\n      logo: default.png\n      repo_url: https://github.com/juspay/neurolink\n    - name: OpenLit\n      description: Open source Observability platform for OpenTelemetry-native LLM\n        Observability, GPU Monitoring.\n      homepage_url: https://openlit.io\n      logo: openlit.png\n      repo_url: https://github.com/openlit/openlit\n    - name: phoenix\n      description: AI Observability & Evaluation.\n      homepage_url: https://docs.arize.com/phoenix\n      logo: phoenix.png\n      repo_url: https://github.com/arize-ai/phoenix\n    - name: PostHog\n      description: 🦔 PostHog provides open-source web & product analytics, session\n        recording, feature flagging and A/B testing that you can self-host. Get started\n        - free.\n      homepage_url: https://posthog.com/\n      logo: posthog\n      repo_url: https://github.com/PostHog/posthog\n    - name: ragas\n      description: Supercharge Your LLM Application Evaluations 🚀\n      homepage_url: https://docs.ragas.io/en/stable/\n      logo: ragas.png\n      repo_url: https://github.com/explodinggradients/ragas\n    - name: Weave\n      description: Weave is a toolkit for developing AI-powered applications, built\n        by Weights & Biases.\n      homepage_url: https://weave-docs.wandb.ai/\n      logo: wandb.png\n      repo_url: https://github.com/wandb/weave\n  - name: Agent Framework\n    items:\n    - name: Agent Development Kit (ADK)\n      description: An open-source, code-first Python toolkit for building, evaluating,\n        and deploying sophisticated AI agents with flexibility and control.\n      homepage_url: https://github.com/google/adk-python\n      logo: agent-development-kit.png\n      repo_url: https://github.com/google/adk-python\n    - name: Agent Shadow Brain\n      description: Self-evolving AI coding intelligence with infinite memory (TurboQuant),\n        genetic algorithm evolution, predictive bug detection, PageRank knowledge\n        graphs, and swarm intelligence. The world's first autonomous coding brain.\n      homepage_url: https://github.com/theihtisham/agent-shadow-brain\n      logo: default.png\n      repo_url: https://github.com/theihtisham/agent-shadow-brain\n    - name: AgentField\n      description: Framework for AI Backend. Build and run AI agents like microservices\n        - scalable, observable, and identity-aware from day one.\n      homepage_url: https://agentfield.ai/docs/learn?utm_source=github&utm_campaign=awesome-llmops&utm_id=inftyai-project-request\n      logo: agentfield.svg\n      repo_url: https://github.com/Agent-Field/agentfield\n    - name: Agno\n      description: Build Multimodal AI Agents with memory, knowledge and tools. Simple,\n        fast and model-agnostic.\n      homepage_url: https://github.com/agno-agi/agno\n      logo: agno.svg\n      repo_url: https://github.com/agno-agi/agno\n    - name: autogen\n      description: 'A programming framework for agentic AI 🤖 PyPi: autogen-agentchat\n        Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour'\n      homepage_url: https://microsoft.github.io/autogen/stable/#\n      logo: microsoft.png\n      repo_url: https://github.com/microsoft/autogen\n    - name: AutoGPT\n      description: AutoGPT is the vision of accessible AI for everyone, providing\n        the tools to focus on what matters.\n      homepage_url: https://agpt.co/\n      logo: autogpt.png\n      repo_url: https://github.com/Significant-Gravitas/AutoGPT\n    - name: CAMEL\n      description: CAMEL is the first multi-agent framework, focused on finding the\n        scaling law of agents.\n      homepage_url: https://www.camel-ai.org/\n      logo: camel.png\n      repo_url: https://github.com/camel-ai/camel\n    - name: crewAI\n      description: Framework for orchestrating role-playing, autonomous AI agents.\n        By fostering collaborative intelligence, CrewAI empowers agents to work together\n        seamlessly, tackling complex tasks.\n      homepage_url: https://www.crewai.com/\n      logo: crewai.svg\n      repo_url: https://github.com/crewAIInc/crewAI\n    - name: fast-agent\n      description: Define, Prompt and Test MCP enabled Agents and Workflows\n      homepage_url: https://github.com/evalstate/fast-agent\n      logo: fast-agent.png\n      repo_url: https://github.com/evalstate/fast-agent\n    - name: Flowise\n      description: Drag & drop UI to build your customized LLM flow.\n      homepage_url: https://flowiseai.com\n      logo: flowiseai.png\n      repo_url: https://github.com/FlowiseAI/Flowise\n    - name: kagent\n      description: kagent is a Kubernetes-native framework for building AI agents.\n      homepage_url: https://kagent.dev/\n      logo: kagent.svg\n      repo_url: https://github.com/kagent-dev/kagent\n      tags:\n      - kubernetes\n    - name: LangGraph\n      description: Build resilient language agents as graphs.\n      homepage_url: https://langchain-ai.github.io/langgraph/\n      logo: langgraph.png\n      repo_url: https://github.com/langchain-ai/langgraph\n    - name: MetaGPT\n      description: MetaGPT is the first multi-agent framework for natural language\n        programming.\n      homepage_url: https://mgx.dev/\n      logo: metagpt.png\n      repo_url: https://github.com/geekan/MetaGPT\n    - name: OpenAI Agents SDK\n      description: A lightweight, powerful framework for multi-agent workflows.\n      homepage_url: https://github.com/openai/openai-agents-python\n      logo: openai.png\n      repo_url: https://github.com/openai/openai-agents-python\n    - name: PydanticAI\n      description: Agent framework/shim to use Pydantic with LLMs.\n      homepage_url: https://ai.pydantic.dev/\n      logo: pydanticai.svg\n      repo_url: https://github.com/pydantic/pydantic-ai\n    - name: Qwen-Agent\n      description: Agent framework and applications built upon Qwen>=3.0, featuring\n        Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.\n      homepage_url: https://pypi.org/project/qwen-agent\n      logo: qwen-agent.png\n      repo_url: https://github.com/QwenLM/Qwen-Agent\n    - name: Semantic Kernel\n      description: Integrate cutting-edge LLM technology quickly and easily into your\n        apps.\n      homepage_url: https://aka.ms/semantic-kernel\n      logo: microsoft.png\n      repo_url: https://github.com/microsoft/semantic-kernel\n    - name: Suna\n      description: Suna is an open-source generalist AI agent.\n      homepage_url: https://www.suna.so/\n      logo: suna.svg\n      repo_url: https://github.com/kortix-ai/suna\n    - name: Swarm\n      description: An educational framework exploring ergonomic, lightweight multi-agent\n        orchestration.\n      homepage_url: https://github.com/openai/swarm\n      logo: openai.png\n      repo_url: https://github.com/openai/swarm\n      tags:\n      - experimental\n  - name: Evolutionary Framework\n    items:\n    - name: AI-Researcher\n      description: '[NeurIPS2025] \"AI-Researcher: Autonomous Scientific Innovation\"\n        -- A production-ready version: https://novix.science/chat'\n      homepage_url: https://github.com/HKUDS/AI-Researcher\n      logo: ai-researcher.png\n      repo_url: https://github.com/HKUDS/AI-Researcher\n    - name: AIDE ML\n      description: 'AIDE: AI-Driven Exploration in the Space of Code. The machine\n        Learning engineering agent that automates AI R&D.'\n      homepage_url: https://www.weco.ai/\n      logo: aide-ml\n      repo_url: https://github.com/WecoAI/aideml\n    - name: LoongFlow\n      description: 'LoongFlow: A Thinking & Learning Framework for Expert-Grade AI\n        Agents.'\n      homepage_url: https://github.com/baidu-baige/LoongFlow\n      logo: loongflow\n      repo_url: https://github.com/baidu-baige/LoongFlow\n    - name: OpenEvolve\n      description: Open-source implementation of AlphaEvolve\n      homepage_url: https://github.com/codelion/openevolve\n      logo: openevolve.png\n      repo_url: https://github.com/codelion/openevolve\n    - name: ShinkaEvolve\n      description: null\n      homepage_url: https://github.com/SakanaAI/ShinkaEvolve\n      logo: shinkaevolve.png\n      repo_url: https://github.com/SakanaAI/ShinkaEvolve\n    - name: SkyDiscover\n      description: AI-Driven Scientific and Algorithmic Discovery\n      homepage_url: https://skydiscover-ai.github.io/blog.html\n      logo: skydiscover.png\n      repo_url: https://github.com/skydiscover-ai/skydiscover#-benchmark-performance\n  - name: RAG\n    items:\n    - name: graphrag\n      description: A modular graph-based Retrieval-Augmented Generation (RAG) system.\n      homepage_url: https://microsoft.github.io/graphrag/\n      logo: graphrag.png\n      repo_url: https://github.com/microsoft/graphrag\n    - name: LightRAG\n      description: Simple and Fast Retrieval-Augmented Generation.\n      homepage_url: https://github.com/HKUDS/LightRAG\n      logo: lightrag.png\n      repo_url: https://github.com/HKUDS/LightRAG\n    - name: quivr\n      description: 'Opiniated RAG for integrating GenAI in your apps 🧠 Focus on your\n        product rather than the RAG. Easy integration in existing products with customisation!\n        Any LLM: GPT4, Groq, Llama. Any Vectorstore: PGVector, Faiss. Any Files. Anyway\n        you want.'\n      homepage_url: https://core.quivr.com/en/latest/\n      logo: quivr.png\n      repo_url: https://github.com/QuivrHQ/quivr\n    - name: RAG-Anything\n      description: '\"RAG-Anything: All-in-One RAG Framework\"'\n      homepage_url: https://github.com/HKUDS/RAG-Anything\n      logo: rag-anything.png\n      repo_url: https://github.com/HKUDS/RAG-Anything\n    - name: ragflow\n      description: RAGFlow is an open-source RAG (Retrieval-Augmented Generation)\n        engine based on deep document understanding.\n      homepage_url: https://ragflow.io/\n      logo: ragflow.png\n      repo_url: https://github.com/infiniflow/ragflow\n  - name: Workflow\n    items:\n    - name: Dify\n      description: Dify is an open-source LLM app development platform, with an intuitive\n        interface for AI workflow, RAG pipeline, agent capabilities, model management,\n        and observability.\n      homepage_url: https://dify.ai\n      logo: dify.png\n      repo_url: https://github.com/langgenius/dify\n    - name: FastGPT\n      description: FastGPT is a knowledge-based platform built on the LLMs, offers\n        a comprehensive suite of out-of-the-box capabilities such as data processing,\n        RAG retrieval, and visual AI workflow orchestration, letting you easily develop\n        and deploy complex question-answering systems without the need for extensive\n        setup or configuration.\n      homepage_url: https://tryfastgpt.ai\n      logo: fastgpt.svg\n      repo_url: https://github.com/labring/FastGPT\n    - name: Haystack\n      description: AI orchestration framework to build customizable, production-ready\n        LLM applications. Best suited for RAG, question answering, semantic search,\n        or conversational agent chatbots.\n      homepage_url: https://haystack.deepset.ai\n      logo: deepset.png\n      repo_url: https://github.com/deepset-ai/haystack\n    - name: Inference\n      description: Turn any computer or edge device into a command center for computer\n        vision projects.\n      homepage_url: https://inference.roboflow.com\n      logo: roboflow.png\n      repo_url: https://github.com/roboflow/inference\n      tags:\n      - computer_vision\n    - name: LangChain\n      description: Build context-aware reasoning applications.\n      homepage_url: https://python.langchain.com/\n      logo: langchain.svg\n      repo_url: https://github.com/langchain-ai/langchain\n    - name: LlamaIndex\n      description: The leading framework for building LLM-powered agents over your\n        data.\n      homepage_url: https://docs.llamaindex.ai/\n      logo: llamaindex.svg\n      repo_url: https://github.com/run-llama/llama_index\n- name: Runtime\n  subcategories:\n  - name: AI Terminal\n    items:\n    - name: aider\n      description: aider is AI pair programming in your terminal\n      homepage_url: https://aider.chat/\n      logo: aider\n      repo_url: https://github.com/Aider-AI/aider\n    - name: Codex\n      description: Lightweight coding agent that runs in your terminal.\n      homepage_url: https://github.com/openai/codex\n      logo: openai.png\n      repo_url: https://github.com/openai/codex\n      tags:\n      - coding\n    - name: Crush\n      description: The glamourous AI coding agent for your favourite terminal 💘\n      homepage_url: https://charm.land/\n      logo: crush\n      repo_url: https://github.com/charmbracelet/crush\n    - name: Gemini CLI\n      description: An open-source AI agent that brings the power of Gemini directly\n        into your terminal.\n      homepage_url: https://github.com/google-gemini/gemini-cli\n      logo: gemini-cli\n      repo_url: https://github.com/google-gemini/gemini-cli\n    - name: OpenCode\n      description: The AI coding agent built for the terminal.\n      homepage_url: https://opencode.ai/\n      logo: opencode\n      repo_url: https://github.com/sst/opencode\n    - name: Stakpak\n      description: DevOps agent that won't accidentally tweet your AWS credentials\n        🦀\n      homepage_url: https://github.com/stakpak/agent\n      logo: stakpak.png\n      repo_url: https://github.com/stakpak/agent\n  - name: AI Agent\n    items:\n    - name: goose\n      description: an open source, extensible AI agent that goes beyond code suggestions\n        - install, execute, edit, and test with any LLM\n      homepage_url: https://block.github.io/goose/\n      logo: goose\n      repo_url: https://github.com/block/goose\n    - name: Magentic-UI\n      description: A research prototype of a human-centered web agent\n      homepage_url: https://www.microsoft.com/en-us/research/blog/magentic-ui-an-experimental-human-centered-web-agent/\n      logo: magentic-ui\n      repo_url: https://github.com/microsoft/magentic-ui\n    - name: OpenManus\n      description: OpenManus is an open-source project with no fortress, purely open\n        ground.\n      homepage_url: https://openmanus.github.io/\n      logo: openmanus.png\n      repo_url: https://github.com/mannaandpoem/OpenManus\n    - name: Tongyi Deep Research\n      description: Tongyi DeepResearch, the Leading Open-source DeepResearch Agent\n      homepage_url: https://tongyi-agent.github.io/blog/introducing-tongyi-deep-research/\n      logo: tongyi-deep-research\n      repo_url: https://github.com/Alibaba-NLP/DeepResearch\n  - name: Code Agent\n    items:\n    - name: Continue\n      description: Create, share, and use custom AI code assistants with open-source\n        IDE extensions and a hub of models, rules, prompts, docs, and other building\n        blocks.\n      homepage_url: https://docs.continue.dev/\n      logo: continue.png\n      repo_url: https://github.com/continuedev/continue\n    - name: Open SWE\n      description: An Open-Source Asynchronous Coding Agent.\n      homepage_url: https://swe.langchain.com/\n      logo: langchain.svg\n      repo_url: https://github.com/langchain-ai/open-swe\n    - name: SWE-agent\n      description: 'SWE-agent takes a GitHub issue and tries to automatically fix\n        it, using your LM of choice. It can also be employed for offensive cybersecurity\n        or competitive coding challenges. [NeurIPS 2024] '\n      homepage_url: https://swe-agent.com/\n      logo: swe-agent.svg\n      repo_url: https://github.com/SWE-agent/SWE-agent\n    - name: Tabby\n      description: Self-hosted AI coding assistant.\n      homepage_url: https://tabbyml.com\n      logo: tabby.png\n      repo_url: https://github.com/TabbyML/tabby\n  - name: Evolve Agent\n    items:\n    - name: AgentEvolver\n      description: 'AgentEvolver: Towards Efficient Self-Evolving Agent System'\n      homepage_url: https://modelscope.github.io/AgentEvolver/\n      logo: agentevolver.png\n      repo_url: https://github.com/modelscope/AgentEvolver\n    - name: EvoAgentX\n      description: '🚀 EvoAgentX: Building a Self-Evolving Ecosystem of AI Agents'\n      homepage_url: https://evoagentx.github.io/EvoAgentX/\n      logo: evoagentx\n      repo_url: https://github.com/EvoAgentX/EvoAgentX\n  - name: Tool\n    items:\n    - name: Beads\n      description: Beads - A memory upgrade for your coding agent\n      homepage_url: https://github.com/steveyegge/beads\n      logo: default.png\n      repo_url: https://github.com/steveyegge/beads\n    - name: Browser Use\n      description: Make websites accessible for AI agents.\n      homepage_url: https://browser-use.com\n      logo: browser-use.svg\n      repo_url: https://github.com/browser-use/browser-use\n    - name: Graphiti\n      description: Build real-time knowledge graphs for AI agents.\n      homepage_url: https://help.getzep.com/graphiti\n      logo: graphiti.png\n      repo_url: https://github.com/getzep/graphiti\n    - name: Mem0\n      description: The memory layer for AI agents.\n      homepage_url: https://mem0.ai/research\n      logo: mem0.svg\n      repo_url: https://github.com/mem0ai/mem0\n    - name: OpenAI CUA\n      description: Computer Using Agent Sample App.\n      homepage_url: https://github.com/openai/openai-cua-sample-app\n      logo: openai.png\n      repo_url: https://github.com/openai/openai-cua-sample-app\n    - name: SidClaw\n      description: The approval and accountability layer for AI agents. Identity →\n        Policy → Approval → Trace. 13 framework integrations. Free during early access.\n      homepage_url: https://sidclaw.com\n      logo: sidclaw.png\n      repo_url: https://github.com/sidclawhq/platform\n    - name: WritBase\n      description: MCP-native task management for AI agent fleets\n      homepage_url: https://github.com/Writbase/writbase\n      logo: default.png\n      repo_url: https://github.com/Writbase/writbase\n  - name: Chatbot\n    items:\n    - name: 5ire\n      description: 5ire is a cross-platform desktop AI assistant, MCP client. Compatible\n        with major service providers, supports local knowledge base and tools via\n        model context protocol servers.\n      homepage_url: https://5ire.app\n      logo: 5ire.png\n      repo_url: https://github.com/nanbingxyz/5ire\n    - name: AnythingLLM\n      description: The all-in-one Desktop & Docker AI application with built-in RAG,\n        AI agents, No-code agent builder, MCP compatibility,  and more.\n      homepage_url: https://anythingllm.com/\n      logo: anythingllm.jpeg\n      repo_url: https://github.com/Mintplex-Labs/anything-llm\n    - name: Chat SDK\n      description: A full-featured, hackable Next.js AI chatbot built by Vercel.\n      homepage_url: https://chat.vercel.ai\n      logo: vercel.png\n      repo_url: https://github.com/vercel/ai-chatbot\n    - name: Chatbot UI\n      description: AI chat for any model.\n      homepage_url: https://JoinTakeoff.com\n      logo: chatbotui.png\n      repo_url: https://github.com/mckaywrigley/chatbot-ui\n    - name: Cherry Studio\n      description: Cherry Studio is a desktop client that supports multiple LLM providers.\n        Support for deepseek-r1.\n      homepage_url: https://cherry-ai.com\n      logo: cherry-studio.png\n      repo_url: https://github.com/CherryHQ/cherry-studio\n    - name: FastChat\n      description: An open platform for training, serving, and evaluating large language\n        models. Release repo for Vicuna and Chatbot Arena.\n      homepage_url: https://github.com/lm-sys/fastchat\n      logo: lmsys.png\n      repo_url: https://github.com/lm-sys/fastchat\n    - name: Gradio\n      description: Build and share delightful machine learning apps, all in Python.\n      homepage_url: https://www.gradio.app\n      logo: gradio.png\n      repo_url: https://github.com/gradio-app/gradio\n    - name: Jan\n      description: Jan is an open-source alternative to ChatGPT that runs 100% offline\n        on your computer.\n      homepage_url: https://jan.ai/\n      logo: jan.png\n      repo_url: https://github.com/janhq/jan\n    - name: LLM\n      description: Access large language models from the command-line\n      homepage_url: https://llm.datasette.io/\n      logo: default.png\n      repo_url: https://github.com/simonw/llm\n    - name: Lobe Chat\n      description: Lobe Chat is an open-source, modern-design AI chat framework. Supports\n        Multi AI Providers, Knowledge Base, Multi-Modals, and Thinking.\n      homepage_url: https://chat-preview.lobehub.com\n      logo: lobe-chat.png\n      repo_url: https://github.com/lobehub/lobe-chat\n    - name: NextChat\n      description: 'Light and Fast AI Assistant. Support: Web | iOS | MacOS | Android\n        | Linux | Windows.'\n      homepage_url: https://nextchat.club/\n      logo: nextchat.png\n      repo_url: https://github.com/ChatGPTNextWeb/NextChat\n    - name: opcode\n      description: A powerful GUI app and Toolkit for Claude Code - Create custom\n        agents, manage interactive Claude Code sessions, run secure background agents,\n        and more.\n      homepage_url: https://opcode.sh/\n      logo: asterisk.png\n      repo_url: https://github.com/getAsterisk/opcode\n    - name: Open WebUI\n      description: User-friendly AI Interface. Supports Ollama, OpenAI API, and more.\n      homepage_url: https://openwebui.com\n      logo: open-webui.png\n      repo_url: https://github.com/open-webui/open-webui\n    - name: PrivateGPT\n      description: Interact with your documents using the power of GPT, 100% privately,\n        no data leaks.\n      homepage_url: https://privategpt.dev\n      logo: privategpt.png\n      repo_url: https://github.com/zylon-ai/private-gpt\n  - name: Database\n    items:\n    - name: Chroma\n      description: The AI-native open-source embedding database.\n      homepage_url: https://www.trychroma.com/\n      logo: chroma.png\n      repo_url: https://github.com/chroma-core/chroma\n    - name: Deeplake\n      description: Database for AI. Store Vectors, Images, Texts, Videos, etc. Use\n        with LLMs/LangChain. Store, query, version, & visualize any AI data. Stream\n        data in real-time to PyTorch/TensorFlow.\n      homepage_url: https://activeloop.ai\n      logo: deeplake.png\n      repo_url: https://github.com/activeloopai/deeplake\n    - name: Faiss\n      description: A library for efficient similarity search and clustering of dense\n        vectors.\n      homepage_url: https://faiss.ai\n      logo: meta.png\n      repo_url: https://github.com/facebookresearch/faiss\n    - name: Hindsight\n      description: 'Hindsight: Agent Memory That  Learns'\n      homepage_url: https://hindsight.vectorize.io/\n      logo: hindsight.png\n      repo_url: https://github.com/vectorize-io/hindsight\n    - name: Milvus\n      description: Milvus is a high-performance, cloud-native vector database built\n        for scalable vector ANN search.\n      homepage_url: https://milvus.io\n      logo: milvus.png\n      repo_url: https://github.com/milvus-io/milvus\n    - name: Weaviate\n      description: Weaviate is an open-source vector database that stores both objects\n        and vectors, allowing for the combination of vector search with structured\n        filtering with the fault tolerance and scalability of a cloud-native database.\n      homepage_url: https://weaviate.io/developers/weaviate/\n      logo: weaviate.png\n      repo_url: https://github.com/weaviate/weaviate\n  - name: Sandbox\n    items:\n    - name: Daytona\n      description: Daytona is a Secure and Elastic Infrastructure for Running AI-Generated\n        Code.\n      homepage_url: https://daytona.io\n      logo: daytona.png\n      repo_url: https://github.com/daytonaio/daytona\n    - name: E2B\n      description: Secure open source cloud runtime for AI apps & AI agents.\n      homepage_url: https://e2b.dev/docs\n      logo: e2b.png\n      repo_url: https://github.com/e2b-dev/E2B\n  - name: Observation\n    items:\n    - name: OpenLLMetry\n      description: Open-source observability for your LLM application, based on OpenTelemetry.\n      homepage_url: https://www.traceloop.com/openllmetry\n      logo: openllmetry.png\n      repo_url: https://github.com/traceloop/openllmetry\n    - name: wandb\n      description: The AI developer platform. Use Weights & Biases to train and fine-tune\n        models, and manage models from experimentation to production.\n      homepage_url: https://wandb.ai\n      logo: wandb.png\n      repo_url: https://github.com/wandb/wandb\n- name: Training\n  subcategories:\n  - name: Framework\n    items:\n    - name: AXLearn\n      description: An Extensible Deep Learning Library\n      homepage_url: https://github.com/apple/axlearn\n      logo: axlearn\n      repo_url: https://github.com/apple/axlearn\n    - name: Candle\n      description: Minimalist ML framework for Rust.\n      homepage_url: https://github.com/huggingface/candle\n      logo: hf.png\n      repo_url: https://github.com/huggingface/candle\n    - name: ColossalAI\n      description: Making large AI models cheaper, faster and more accessible.\n      homepage_url: https://www.colossalai.org\n      logo: colossalai.png\n      repo_url: https://github.com/hpcaitech/ColossalAI\n    - name: DLRover\n      description: 'DLRover: An Automatic Distributed Deep Learning System.'\n      homepage_url: https://github.com/intelligent-machine-learning/dlrover\n      logo: dlrover.png\n      repo_url: https://github.com/intelligent-machine-learning/dlrover\n    - name: Ludwig\n      description: Low-code framework for building custom LLMs, neural networks, and\n        other AI models.\n      homepage_url: https://ludwig.ai\n      logo: ludwig.png\n      repo_url: https://github.com/ludwig-ai/ludwig\n    - name: MaxText\n      description: A simple, performant and scalable Jax LLM!\n      homepage_url: https://cloud.google.com/tpu/docs/tutorials/LLM/jetstream-maxtext-inference-v6e?hl=en\n      logo: google.png\n      repo_url: https://github.com/google/maxtext\n    - name: MLX\n      description: 'MLX: An array framework for Apple silicon.'\n      homepage_url: https://ml-explore.github.io/mlx/\n      logo: mlx.png\n      repo_url: https://github.com/ml-explore/mlx\n  - name: FineTune\n    items:\n    - name: Axolotl\n      description: Go ahead and axolotl questions.\n      homepage_url: https://docs.axolotl.ai\n      logo: axolotl.svg\n      repo_url: https://github.com/axolotl-ai-cloud/axolotl\n    - name: EasyLM\n      description: Large language models (LLMs) made easy, EasyLM is a one stop solution\n        for pre-training, finetuning, evaluating and serving LLMs in JAX/Flax.\n      homepage_url: https://github.com/young-geng/EasyLM\n      logo: default.png\n      repo_url: https://github.com/young-geng/EasyLM\n    - name: LLaMa-Factory\n      description: Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024).\n      homepage_url: https://huggingface.co/papers/2403.13372\n      logo: llamafactory.png\n      repo_url: https://github.com/hiyouga/LLaMA-Factory\n    - name: LMFlow\n      description: An Extensible Toolkit for Finetuning and Inference of Large Foundation\n        Models. Large Models for All.\n      homepage_url: https://optimalscale.github.io/LMFlow/\n      logo: lmflow.png\n      repo_url: https://github.com/OptimalScale/LMFlow\n    - name: maestro\n      description: 'streamline the fine-tuning process for multimodal models: PaliGemma\n        2, Florence-2, and Qwen2.5-VL.'\n      homepage_url: https://maestro.roboflow.com\n      logo: roboflow.png\n      repo_url: https://github.com/roboflow/maestro\n    - name: MLX-VLM\n      description: MLX-VLM is a package for inference and fine-tuning of Vision Language\n        Models (VLMs) on your Mac using MLX.\n      homepage_url: https://github.com/Blaizzy/mlx-vlm\n      logo: default.png\n      repo_url: https://github.com/Blaizzy/mlx-vlm\n    - name: Swift\n      description: Use PEFT or Full-parameter to finetune 450+ LLMs and 150+ MLLMs.\n      homepage_url: https://swift.readthedocs.io\n      logo: swift.png\n      repo_url: https://github.com/modelscope/ms-swift\n    - name: torchtune\n      description: PyTorch native post-training library.\n      homepage_url: https://pytorch.org/torchtune/main/\n      logo: torchtune.png\n      repo_url: https://github.com/pytorch/torchtune\n    - name: Transformer Lab\n      description: 'Open Source Application for Advanced LLM Engineering: interact,\n        train, fine-tune, and evaluate large language models on your own computer.'\n      homepage_url: https://transformerlab.ai/\n      logo: transformerlab.svg\n      repo_url: https://github.com/transformerlab/transformerlab-app\n    - name: unsloth\n      description: Finetune Llama 3.3, DeepSeek-R1 & Reasoning LLMs 2x faster with\n        70% less memory!\n      homepage_url: https://unsloth.ai\n      logo: unsloth.png\n      repo_url: https://github.com/unslothai/unsloth\n  - name: RLHF\n    items:\n    - name: OpenRLHF\n      description: An Easy-to-use, Scalable and High-performance RLHF Framework (70B+\n        PPO Full Tuning & Iterative DPO & LoRA & RingAttention & RFT).\n      homepage_url: https://openrlhf.readthedocs.io/\n      logo: openRLHF.png\n      repo_url: https://github.com/OpenRLHF/OpenRLHF\n    - name: Self-RLHF\n      description: 'Safe RLHF: Constrained Value Alignment via Safe Reinforcement\n        Learning from Human Feedback.'\n      homepage_url: https://pku-beaver.github.io\n      logo: selfrlhf.png\n      repo_url: https://github.com/PKU-Alignment/safe-rlhf\n  - name: Agentic RL\n    items:\n    - name: AReaL\n      description: Lightning-Fast RL for LLM Reasoning and Agents. Made Simple & Flexible.\n      homepage_url: https://inclusionai.github.io/AReaL/intro.html\n      logo: areal.png\n      repo_url: https://github.com/inclusionAI/AReaL\n    - name: rLLM\n      description: Democratizing Reinforcement Learning for LLMs\n      homepage_url: https://rllm-project.readthedocs.io/en/latest/\n      logo: rllm\n      repo_url: https://github.com/rllm-org/rllm\n    - name: slime\n      description: slime is an LLM post-training framework for RL Scaling.\n      homepage_url: https://thudm.github.io/slime/\n      logo: slime\n      repo_url: https://github.com/THUDM/slime\n    - name: verl\n      description: 'verl: Volcano Engine Reinforcement Learning for LLMs'\n      homepage_url: https://verl.readthedocs.io/en/latest/index.html\n      logo: verl\n      repo_url: https://github.com/volcengine/verl\n  - name: Benchmark\n    items:\n    - name: AgentBench\n      description: A Comprehensive Benchmark to Evaluate LLMs as Agents (ICLR'24).\n      homepage_url: https://llmbench.ai\n      logo: agentbench.png\n      repo_url: https://github.com/THUDM/AgentBench\n    - name: ASQI Engineer\n      description: ASQI (AI Solutions Quality Index) Engineer - run containerised\n        AI tests and map to score cards!\n      homepage_url: https://asqi.ai\n      logo: default.png\n      repo_url: https://github.com/asqi-engineer/asqi-engineer\n    - name: LiveBench\n      description: 'LiveBench: A Challenging, Contamination-Free LLM Benchmark.'\n      homepage_url: https://livebench.ai\n      logo: default.png\n      repo_url: https://github.com/livebench/livebench\n    - name: lm-evaluation-harness\n      description: A framework for few-shot evaluation of language models.\n      homepage_url: https://www.eleuther.ai\n      logo: eleutherai.png\n      repo_url: https://github.com/EleutherAI/lm-evaluation-harness\n    - name: LongBench\n      description: LongBench v2 and LongBench (ACL 2024).\n      homepage_url: https://longbench2.github.io\n      logo: longbench.png\n      repo_url: https://github.com/THUDM/LongBench\n    - name: MLE-bench\n      description: MLE-bench is a benchmark for measuring how well AI agents perform\n        at machine learning engineering\n      homepage_url: https://openai.com/index/mle-bench/\n      logo: mle-bench\n      repo_url: https://github.com/openai/mle-bench/\n    - name: OpenCompass\n      description: OpenCompass is an LLM evaluation platform, supporting a wide range\n        of models (Llama3, Mistral, InternLM2, GPT-4, LLaMa2, Qwen, GLM, Claude, etc)\n        over 100+ datasets.\n      homepage_url: https://opencompass.org.cn/\n      logo: opencompass.svg\n      repo_url: https://github.com/open-compass/opencompass\n    - name: opik\n      description: Debug, evaluate, and monitor your LLM applications, RAG systems,\n        and agentic workflows with comprehensive tracing, automated evaluations, and\n        production-ready dashboards.\n      homepage_url: https://www.comet.com/docs/opik/\n      logo: opik.png\n      repo_url: https://github.com/comet-ml/opik\n    - name: terminal-bench\n      description: A benchmark for LLMs on complicated tasks in the terminal\n      homepage_url: https://www.tbench.ai/\n      logo: terminal-bench\n      repo_url: https://github.com/laude-institute/terminal-bench\n  - name: Workflow\n    items:\n    - name: Flyte\n      description: Scalable and flexible workflow orchestration platform that seamlessly\n        unifies data, ML and analytics stacks.\n      homepage_url: https://flyte.org\n      logo: flyte.png\n      repo_url: https://github.com/flyteorg/flyte\n    - name: Kubeflow\n      description: Machine Learning Toolkit for Kubernetes.\n      homepage_url: https://www.kubeflow.org/\n      logo: kubeflow.png\n      repo_url: https://github.com/kubeflow/kubeflow\n    - name: Metaflow\n      description: Build, Deploy and Manage AI/ML Systems.\n      homepage_url: https://metaflow.org\n      logo: metaflow.png\n      repo_url: https://github.com/Netflix/metaflow\n    - name: MLflow\n      description: Open source platform for the machine learning lifecycle.\n      homepage_url: https://mlflow.org\n      logo: mlflow.png\n      repo_url: https://github.com/mlflow/mlflow\n    - name: Polyaxon\n      description: MLOps Tools For Managing & Orchestrating The Machine Learning LifeCycle.\n      homepage_url: https://polyaxon.com\n      logo: polyaxon.png\n      repo_url: https://github.com/polyaxon/polyaxon\n    - name: Ray\n      description: Ray is an AI compute engine. Ray consists of a core distributed\n        runtime and a set of AI Libraries for accelerating ML workloads.\n      homepage_url: https://ray.io\n      logo: ray.png\n      repo_url: https://github.com/ray-project/ray\n    - name: Seldon-Core\n      description: An MLOps framework to package, deploy, monitor and manage thousands\n        of production machine learning models.\n      homepage_url: https://www.seldon.io/tech/products/core/\n      logo: seldon-core.png\n      repo_url: https://github.com/SeldonIO/seldon-core\n    - name: ZenML\n      description: 'ZenML 🙏: The bridge between ML and Ops. https://zenml.io.'\n      homepage_url: https://zenml.io\n      logo: zenml.png\n      repo_url: https://github.com/zenml-io/zenml\n"
  },
  {
    "path": "website/guide.yml",
    "content": "# Landscape2 guide\n#\n# This file allows defining the content of the landscape guide.\n#\n# Reference documentation: https://github.com/cncf/landscape2/blob/main/docs/config/guide.yml\n\ncategories:\n  - category: \"Inference\"\n    content: |\n      Inference refers to the phase where trained machine learning models, particularly LLMs (Large Language Models), are used to generate predictions, outputs, or perform tasks based on new input data.\n      It covers all aspects of efficiently serving, routing, executing, and managing models in real-time or batch settings, focusing on scalability, low latency, reliability, and adaptability across different environments and hardware.\n\n    subcategories:\n      - subcategory: \"Inference Engine\"\n        content: |\n          Inference Engines are optimized frameworks or platforms designed to execute machine learning models, particularly large language models (LLMs), with an emphasis on high performance, low latency, and scalability. These engines allow users to run inferences across various hardware platforms and deploy models efficiently. They handle tasks such as model loading, serving, optimization, and high-throughput execution, making them essential in AI and machine learning applications.\n\n      - subcategory: \"Inference Platform\"\n        content: |\n          Inference Platforms are specialized environments or infrastructures designed for deploying and managing large-scale AI inference tasks, particularly for Generative AI (GenAI) models and large language models (LLMs). These platforms focus on providing efficient resource management, scaling capabilities, and ease of use when serving models in production environments, often integrating Kubernetes for orchestration, auto-provisioning, and container-based deployments.\n\n      - subcategory: \"Middleware\"\n        content: |\n          Middleware in the context of AI inference refers to software that acts as an intermediary layer between inference engines and large language models (LLMs) or other AI services to optimize performance and scalability.\n\n      - subcategory: \"AI Gateway\"\n        content: |\n          AI Gateways serve as the central entry point for managing and routing requests to various backend services, including LLMs and AI models. These gateways are designed to handle high traffic volumes, manage APIs, and often provide additional features like rate limiting, security, monitoring, and AI-specific capabilities. They act as intermediaries between clients and services, enabling efficient communication, management, and scalability for AI-driven applications.\n\n      - subcategory: \"LLM Router\"\n        content: |\n          LLM routers are specialized systems designed to intelligently route, proxy, or switch between multiple large language model (LLM) providers based on factors like cost, latency, quality, or model capabilities. They help developers and organizations optimize API usage across different backends while maintaining a unified, often OpenAI-compatible, interface. Some also integrate guardrails and evaluation mechanisms to ensure safe and efficient AI interactions.\n\n      - subcategory: \"Output\"\n        content: |\n          Output refers to tools or frameworks that help generate structured or formatted results from large language models (LLMs). These tools are designed to provide well-organized and easily interpretable outputs, especially for complex text generation tasks.\n\n      - subcategory: \"Simulator\"\n        content: |\n          Simulator refers to tools simulating the behavior and performance of inference engines.\n\n      - subcategory: \"Benchmark\"\n        content: |\n          Benchmark provide standardized methods for evaluating and comparing the performance, quality, and capabilities of LLMs (Large Language Models) and AI systems. They focus on areas such as inference speed, latency, model accuracy, contamination-free testing, and real-world scenario simulation, helping developers and researchers make informed decisions about model and system selection.\n\n\n  - category: \"Orchestration\"\n    content: |\n      Orchestration in AI involves coordinating and managing the various components, workflows, agents, and services that make up complex AI systems.\n      It ensures that models, tools, APIs, agents, and data sources work seamlessly together, supporting scalability, automation, modularity, and efficient deployment from development to production environments.\n\n    subcategories:\n      - subcategory: \"Application Framework\"\n        content: |\n          An Application framework provides a structured environment for building and deploying AI applications. It includes components for user interface design, data management, and integration with external services, enabling developers to create robust and scalable AI solutions.\n\n      - subcategory: \"Agent Framework\"\n        content: |\n          An Agent framework is an autonomous or semi-autonomous system powered by large language models, integrating RAG, Function Calling, and MCP to understand user intent, retrieve external knowledge, invoke tools or APIs, and dynamically execute complex tasks with precise responses.\n\n      - subcategory: \"Evolutionary Framework\"\n        content: |\n          Evolutionary Frameworks combine large language models (LLMs) with evolutionary algorithms to drive scientific discovery and optimization. These frameworks facilitate the iterative improvement of solutions by simulating natural selection processes, enabling the exploration of complex problem spaces and the generation of innovative ideas or designs.\n\n      - subcategory: \"Workflow\"\n        content: |\n          A workflow provides a structured environment for building, connecting, managing, and deploying AI applications, especially those powered by large language models (LLMs) or other machine learning techniques. These frameworks offer modular components such as model integration, retrieval-augmented generation (RAG) pipelines, agent capabilities, prompt management, observability, and workflow orchestration, enabling rapid prototyping and scalable production deployments.\n\n      - subcategory: \"RAG\"\n        content: |\n          Retrieval-Augmented Generation (RAG) frameworks combine large language models (LLMs) with external knowledge sources to enhance the accuracy, relevance, and context-awareness of AI-generated content. These frameworks facilitate the integration of vector databases, document stores, and search engines, enabling LLMs to retrieve pertinent information during the generation process.\n\n\n  - category: \"Runtime\"\n    content: |\n      Runtime refers to the infrastructure, environments, and systems that execute AI models, agents, and applications in real-time.\n      It provides the foundation for deploying, running, monitoring, and scaling AI workloads, ensuring they perform reliably across cloud, edge, or on-premise setups.\n      Runtimes often include components like chat frameworks, databases, code assistants, and observability tools.\n\n\n    subcategories:\n      - subcategory: \"AI Terminal\"\n        content: |\n          AI Terminals are interactive command-line interfaces or environments that allow users to engage with AI models, particularly large language models (LLMs), in a conversational manner. These terminals provide a text-based interface for users to input queries, receive responses, and interact with AI systems directly from the command line, often supporting features like multi-turn conversations, context retention, and integration with various LLM providers.\n\n      - subcategory: \"AI Agent\"\n        content: |\n          An AI Agent is an autonomous or semi-autonomous system powered by large language models (LLMs), integrating RAG, Function Calling, and MCP to understand user intent, retrieve external knowledge, invoke tools or APIs, and dynamically execute complex tasks with precise responses.\n\n      - subcategory: \"Code Agent\"\n        content: |\n          Code Agents are specialized AI agents designed to assist with software development tasks by leveraging large language models (LLMs). They can understand and generate code, debug, test, and document software projects.\n\n      - subcategory: \"Evolve Agent\"\n        content: |\n          Evolve Agents are AI systems that combine large language models (LLMs) with evolutionary algorithms to autonomously explore, optimize, and innovate solutions across various domains. These agents iteratively improve their performance by simulating natural selection processes, enabling them to adapt and evolve in response to complex problem spaces and dynamic environments.\n\n      - subcategory: \"Tool\"\n        content: |\n          A Tool is an external functional module or API invoked by Agents via Function Calling, extending their capabilities to perform specific computations, retrieve real-time data, or interact with third-party services, enabling dynamic task processing and precise outputs.\n\n      - subcategory: \"Chatbot\"\n        content: |\n          Chatbots are platforms and toolkits designed to build, customize, deploy, and interact with AI chat applications. They often support multiple LLM providers, local deployment, plugin systems, RAG integration, and user-friendly UIs, enabling developers and users to easily create private, extensible, and cross-platform AI assistants.\n\n      - subcategory: \"Database\"\n        content: |\n          Databases for AI applications, especially vector databases, are specialized systems designed to store, index, and query high-dimensional embeddings and AI-related data like vectors, text, images, and videos. They enable fast similarity search, retrieval-augmented generation (RAG), and integration with machine learning pipelines.      They often support various data types, including text, images, and videos, and are optimized for high-performance querying and retrieval.\n\n      - subcategory: \"Sandbox\"\n        content: |\n          A Sandbox is a secure and isolated environment that allows users to run, test, and experiment with code, applications, or AI models without affecting the host system. Sandboxes provide controlled access to resources, ensuring safety and preventing unintended interactions with the broader system or network.\n\n      - subcategory: \"Evaluation\"\n        content: |\n          Evaluation tools are designed to assess the performance, reliability, and behavior of LLM applications.\n\n      - subcategory: \"Observation\"\n        content: |\n          Observation in AI refers to tools and platforms that help monitor, evaluate, and analyze machine learning models, particularly large language models (LLMs), to ensure optimal performance, identify issues, and manage experiments. These tools often focus on real-time monitoring, logging, and visualization, helping teams improve and maintain their AI systems.\n\n\n  - category: \"Training\"\n    content: |\n      Training is the process of teaching machine learning models to perform specific tasks by exposing them to datasets and optimizing their internal parameters.\n      It covers initial model pre-training, fine-tuning on specialized data, alignment with human preferences, and evaluation to ensure high performance and safety.\n      Training is critical for creating capable, customized, and robust AI systems across a variety of applications.\n\n    subcategories:\n      - subcategory: \"Framework\"\n        content: |\n          Framework refers to tools that assist in the training of machine learning models, particularly large AI models. These tools help improve the efficiency, scalability, and accessibility of the training process.\n\n      - subcategory: \"FineTune\"\n        content: |\n          Fine-tuning frameworks enable developers and researchers to efficiently adapt pre-trained large language models (LLMs) or vision-language models (VLMs) to specialized tasks or datasets. These tools often provide streamlined pipelines for training, parameter-efficient fine-tuning (PEFT), evaluation, and deployment, with support for both single-modal and multimodal models across a wide range of hardware environments.\n\n      - subcategory: \"RLHF\"\n        content: |\n          RLHF (Reinforcement Learning from Human Feedback) frameworks facilitate the training of large language models (LLMs) using reinforcement learning techniques guided by human feedback. These tools provide scalable, high-performance solutions for implementing RLHF algorithms such as PPO (Proximal Policy Optimization) and DPO (Direct Preference Optimization), enabling efficient fine-tuning of LLMs to align with human preferences and improve their behavior in real-world applications.\n\n      - subcategory: \"Agentic RL\"\n        content: |\n          Agentic RL frameworks combine reinforcement learning techniques with agent-based architectures powered by large language models (LLMs). These frameworks enable the development of autonomous agents that can learn from interactions with their environment,\n\n      - subcategory: \"Benchmark\"\n        content: |\n          Benchmark provide standardized methods for evaluating and comparing the performance, quality, and capabilities of LLMs (Large Language Models) and AI systems. They focus on areas such as inference speed, latency, model accuracy, contamination-free testing, and real-world scenario simulation, helping developers and researchers make informed decisions about model and system selection.\n\n      - subcategory: \"Workflow\"\n        content: |\n          Workflow tools orchestrate, manage, and automate the lifecycle of machine learning and AI applications, they are designed to streamline complex pipelines, enabling scalability, reliability, and reproducibility of ML workflows across distributed systems.\n"
  },
  {
    "path": "website/logos/baml",
    "content": "<!DOCTYPE html><html lang=\"en\"><head><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/><link rel=\"preload\" href=\"/_next/static/media/028c0d39d2e8f589-s.p.woff2\" as=\"font\" crossorigin=\"\" type=\"font/woff2\"/><link rel=\"preload\" href=\"/_next/static/media/5b01f339abf2f1a5.p.woff2\" as=\"font\" crossorigin=\"\" type=\"font/woff2\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/openai.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/anthropic.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/google.com/w/501/h/512/symbol?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/microsoft.com/w/512/h/512/symbol?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/meta.com/w/400/h/400?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/typescriptlang.org/w/256/h/256?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/python.org/w/467/h/512/logo?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/go.dev/w/512/h/192/logo?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/ruby-lang.org/w/512/h/511/logo?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"preload\" as=\"image\" href=\"https://cdn.brandfetch.io/java.com/w/379/h/512/logo?c=1idQbe1D_SxVi_WjGRi\"/><link rel=\"stylesheet\" href=\"/_next/static/css/e5ae0da699f83dc7.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" data-precedence=\"next\"/><link rel=\"stylesheet\" href=\"/_next/static/css/a2f7a122f90eae85.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" data-precedence=\"next\"/><link rel=\"preload\" as=\"script\" fetchPriority=\"low\" href=\"/_next/static/chunks/webpack-5dcdc8714949ffca.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"/><script src=\"/_next/static/chunks/4336c15a-b3fc6d27ebbcbc4a.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/fe41da9f-3226d286139149c2.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/6671-f69a2bb302d98c36.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/main-app-7f24c2f9636426cd.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/3470-e5756a9f299017f6.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/app/layout-619eeaec3ccb6442.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><script src=\"/_next/static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" async=\"\"></script><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Flamb.png&amp;w=96&amp;q=75 1x, /_next/image?url=%2Flamb.png&amp;w=256&amp;q=75 2x\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"(max-width: 768px) 140px, 160px\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"(max-width: 768px) 140px, 160px\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"(max-width: 768px) 140px, 160px\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"(max-width: 768px) 140px, 160px\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"(max-width: 768px) 140px, 160px\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"(max-width: 768px) 140px, 160px\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"(max-width: 768px) 140px, 160px\"/><link rel=\"preload\" as=\"image\" href=\"https://randomuser.me/api/portraits/men/32.jpg\"/><link rel=\"preload\" as=\"image\" imageSrcSet=\"/_next/image?url=%2Fagent-cta-background.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fagent-cta-background.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fagent-cta-background.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fagent-cta-background.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fagent-cta-background.png&amp;w=3840&amp;q=75 3840w\" imageSizes=\"100vw\"/><meta name=\"next-size-adjust\" content=\"\"/><meta name=\"theme-color\" media=\"(prefers-color-scheme: light)\" content=\"white\"/><meta name=\"theme-color\" media=\"(prefers-color-scheme: dark)\" content=\"black\"/><title>BAML</title><meta name=\"description\" content=\"BAML is a tool for developers to build AI applications with type safety and reliability\"/><link rel=\"canonical\" href=\"https://boundaryml.com\"/><meta property=\"og:title\" content=\"BAML\"/><meta property=\"og:description\" content=\"BAML is a tool for developers to build AI applications with type safety and reliability\"/><meta property=\"og:url\" content=\"https://boundaryml.com\"/><meta property=\"og:site_name\" content=\"BAML\"/><meta property=\"og:locale\" content=\"en_US\"/><meta property=\"og:image:type\" content=\"image/png\"/><meta property=\"og:image\" content=\"https://boundaryml.com/opengraph-image?6211fa5edcebd025\"/><meta property=\"og:image:width\" content=\"1200\"/><meta property=\"og:image:height\" content=\"630\"/><meta property=\"og:type\" content=\"website\"/><meta name=\"twitter:card\" content=\"summary_large_image\"/><meta name=\"twitter:site\" content=\"@boundaryml\"/><meta name=\"twitter:creator\" content=\"@boundaryml\"/><meta name=\"twitter:title\" content=\"Boundary | The best way to get structured data with LLMs\"/><meta name=\"twitter:description\" content=\"Boundary makes it easy to build, test, and develop LLM applications.\"/><meta name=\"twitter:image:type\" content=\"image/png\"/><meta name=\"twitter:image\" content=\"https://boundaryml.com/twitter-image?6211fa5edcebd025\"/><meta name=\"twitter:image:width\" content=\"1200\"/><meta name=\"twitter:image:height\" content=\"630\"/><link rel=\"icon\" href=\"/favico.ico\"/><script src=\"/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" noModule=\"\"></script></head><body class=\"bg-background text-foreground relative min-h-screen font-sans antialiased __variable_fb8f2c __variable_f910ec\"><div hidden=\"\"><!--$--><!--/$--></div><!--$?--><template id=\"B:0\"></template><!--/$--><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src=\"/_next/static/chunks/webpack-5dcdc8714949ffca.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\" id=\"_R_\" async=\"\"></script><div hidden id=\"S:0\"><div></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=[\"light\",\"dark\"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c=\"class\"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&\"system\"===a?window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\":a;k(d)}catch(a){}})(\"class\",\"theme\",\"light\",null,[\"light\",\"dark\"],null,false,true)</script><div class=\"max-w-7xl mx-auto border-x relative\"><header class=\"sticky z-50 flex justify-center transition-all duration-300 md:mx-0 top-4 mx-0\" style=\"opacity:0\"><div style=\"width:70rem\"><div class=\"mx-auto max-w-7xl rounded-2xl transition-all duration-300 xl:px-0 shadow-none px-7\"><div class=\"flex h-[56px] items-center justify-between pl-1 md:pl-2 pr-4\"><a class=\"flex items-center gap-1\" href=\"/\"><div class=\"flex items-center gap-2\"><p class=\"text-lg font-semibold text-primary\">Boundary</p></div></a><nav class=\"hidden md:flex items-center gap-6\"><a class=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\" href=\"/\">Home</a><a class=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\" href=\"/blog\">Blog</a><a class=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\" href=\"/podcast\">Podcast</a><a class=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\" href=\"/who-are-we\">Team</a><a class=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\" href=\"/jobs\">Jobs</a></nav><div class=\"flex flex-row items-center gap-1 md:gap-3 shrink-0\"><div class=\"flex items-center space-x-4\"><a target=\"_blank\" class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-9 px-4 py-2 has-[&gt;svg]:px-3 bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80 rounded-full\" data-slot=\"button\" href=\"https://docs.boundaryml.com/?utm_source=marketing-site&amp;utm_medium=navbar-docs\">Docs</a><a class=\"group flex flex-row items-center justify-center gap-x-2 rounded-full border-[1px] border-[#30363d] bg-[#161b22] px-1.5 py-1 text-sm font-light leading-6 text-white transition duration-200 ease-in-out hover:scale-[1.05] hover:bg-zinc-900\" target=\"_blank\" href=\"https://github.com/boundaryml/baml\"><svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 496 512\" class=\"text-white\" height=\"18\" width=\"18\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"></path></svg><span class=\"hidden sm:inline whitespace-nowrap\">Star on GitHub</span><div class=\"flex flex-row items-center justify-center gap-x-1\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"#ffffff\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-star mb-0.5\" aria-hidden=\"true\"><path d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"></path></svg><span class=\"ml-0\">2,107</span></div></a></div><button aria-label=\"Toggle navigation\" class=\"md:hidden border border-border size-8 rounded-md cursor-pointer flex items-center justify-center\" type=\"button\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-menu size-5\" aria-hidden=\"true\"><path d=\"M4 12h16\"></path><path d=\"M4 18h16\"></path><path d=\"M4 6h16\"></path></svg></button></div></div></div></div></header><main class=\"flex flex-col items-center justify-center min-h-screen w-full gap-12 sm:gap-20\"><section class=\"relative mx-auto mt-12 sm:mt-24 max-w-[80rem] px-4 sm:px-6 md:px-8 text-center\" id=\"hero\"><a target=\"_self\" href=\"/playground\"><div class=\"backdrop-filter-[12px] inline-flex w-full max-w-2xl items-center rounded-lg border border-border bg-accent/20 px-4 py-3 text-xs text-foreground transition-all ease-in hover:cursor-pointer hover:bg-accent/40 group translate-y-[-1rem] animate-fade-in opacity-0 \"><div class=\"flex flex-col sm:flex-row items-start sm:items-center gap-2 sm:gap-3 w-full\"><div class=\"bg-gray-800 text-white px-2 py-1 rounded-md text-xs font-medium whitespace-nowrap flex-shrink-0 text-center w-full sm:w-auto\">TH JUL 31 @ 9 AM PT</div><div class=\"flex-1 min-w-0 flex items-center justify-between sm:justify-start gap-2\"><span class=\"text-sm font-medium leading-tight block\">Try BAML online</span><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4 transition-transform duration-300 ease-in-out group-hover:translate-x-0.5 flex-shrink-0 sm:hidden\"><path d=\"M8.14645 3.14645C8.34171 2.95118 8.65829 2.95118 8.85355 3.14645L12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L8.85355 11.8536C8.65829 12.0488 8.34171 12.0488 8.14645 11.8536C7.95118 11.6583 7.95118 11.3417 8.14645 11.1464L11.2929 8H2.5C2.22386 8 2 7.77614 2 7.5C2 7.22386 2.22386 7 2.5 7H11.2929L8.14645 3.85355C7.95118 3.65829 7.95118 3.34171 8.14645 3.14645Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4 transition-transform duration-300 ease-in-out group-hover:translate-x-0.5 flex-shrink-0 hidden sm:block\"><path d=\"M8.14645 3.14645C8.34171 2.95118 8.65829 2.95118 8.85355 3.14645L12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L8.85355 11.8536C8.65829 12.0488 8.34171 12.0488 8.14645 11.8536C7.95118 11.6583 7.95118 11.3417 8.14645 11.1464L11.2929 8H2.5C2.22386 8 2 7.77614 2 7.5C2 7.22386 2.22386 7 2.5 7H11.2929L8.14645 3.85355C7.95118 3.65829 7.95118 3.34171 8.14645 3.14645Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></div></a><div class=\"grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 items-center mt-8 sm:mt-12\"><div class=\"text-left\"><h1 class=\"bg-gradient-to-br dark:from-white from-black from-30% dark:to-white/40 to-black/40 bg-clip-text py-4 sm:py-6 text-5xl font-medium leading-none tracking-tighter text-transparent text-balance sm:text-5xl md:text-6xl lg:text-6xl xl:text-7xl translate-y-[-1rem] animate-fade-in opacity-0 [--animation-delay:200ms]\">The First Language for Building Agents</h1><p class=\"mb-6 sm:mb-8 text-base sm:text-lg tracking-tight text-muted-foreground md:text-xl text-balance translate-y-[-1rem] animate-fade-in opacity-0 [--animation-delay:400ms]\">Typescript made JavaScript 10x more reliable.<br/><span class=\"text-secondary font-bold\">BAML</span> makes your ai pipelines 10x more reliable.</p><div class=\"translate-y-[-1rem] animate-fade-in opacity-0 ease-in-out [--animation-delay:600ms] space-y-3\"><div class=\"max-w-lg items-center justify-center block w-full\"><div class=\"w-full space-y-2\"><div class=\"mb-2 flex items-center\"><div class=\"relative w-full\"><div class=\"inline-flex w-full overflow-x-auto rounded-md border border-border text-xs scrollbar-hide\"><div class=\"flex items-center flex-shrink-0\"><button class=\"inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-primary\" data-slot=\"button\">python<div class=\"absolute inset-x-0 bottom-[1px] mx-auto h-0.5 w-[90%] bg-primary\"></div></button></div><div class=\"flex items-center flex-shrink-0\"><div aria-hidden=\"true\" class=\"h-4 w-px bg-border\"></div><button class=\"inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground\" data-slot=\"button\">typescript</button></div><div class=\"flex items-center flex-shrink-0\"><div aria-hidden=\"true\" class=\"h-4 w-px bg-border\"></div><button class=\"inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground\" data-slot=\"button\">ruby</button></div><div class=\"flex items-center flex-shrink-0\"><div aria-hidden=\"true\" class=\"h-4 w-px bg-border\"></div><button class=\"inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground\" data-slot=\"button\">go</button></div><div class=\"flex items-center flex-shrink-0\"><div aria-hidden=\"true\" class=\"h-4 w-px bg-border\"></div><button class=\"inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground\" data-slot=\"button\">other</button></div></div></div></div><div class=\"relative flex items-center\"><div class=\"w-full grow font-mono\">uv add baml-py &amp;&amp; uv run baml-cli init</div></div></div></div><div class=\"flex gap-4\"><button class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[&gt;svg]:px-4 bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\" data-slot=\"button\">Try BAML in your browser</button><a href=\"https://docs.boundaryml.com/home\" class=\"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[&gt;svg]:px-4 border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\" data-slot=\"button\">Get Started</a></div></div></div><div class=\"relative animate-fade-up opacity-0 [--animation-delay:400ms] [perspective:2000px]\"><div class=\"rounded-xl border border-border bg-white bg-opacity-[0.01] before:absolute before:bottom-1/2 before:left-0 before:top-0 before:h-full before:w-full before:opacity-0 before:[filter:blur(180px)] before:[background-image:linear-gradient(to_bottom,var(--secondary),var(--secondary),transparent_40%)] \"><div class=\"pointer-events-none absolute inset-0 rounded-[inherit] border-transparent [mask-clip:padding-box,border-box] [mask-composite:intersect] [mask-image:linear-gradient(transparent,transparent),linear-gradient(#000,#000)] border-(length:--border-beam-width)\" style=\"--border-beam-width:1px\"><div class=\"absolute aspect-square bg-gradient-to-l from-[var(--color-from)] via-[var(--color-to)] to-transparent\" style=\"width:200px;offset-path:rect(0 auto auto 0 round 200px);--color-from:var(--color-one);--color-to:var(--secondary);offset-distance:0%\"></div></div><div class=\"w-full text-left relative z-10\"><div class=\"w-full max-w-full min-h-[280px] sm:min-h-[360px] rounded-lg overflow-hidden shadow-lg\"><iframe allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowFullScreen=\"\" class=\"w-full h-full min-h-[280px] sm:min-h-[360px] relative z-10\" frameBorder=\"0\" src=\"https://www.youtube.com/embed/gxckvkNg6KM\" title=\"BoundaryML Demo\"></iframe></div></div></div></div></div><div class=\"mt-16 sm:mt-24 mb-8 translate-y-[-1rem] animate-fade-in opacity-0 [--animation-delay:800ms]\"><div class=\"grid grid-cols-1 md:grid-cols-2 gap-8 max-w-4xl mx-auto px-4 sm:px-0\"><div class=\"text-center\"><p class=\"font-medium text-muted-foreground mb-4 sm:mb-6 tracking-wide text-sm sm:text-base\">Works with every LLM provider</p><div class=\"flex justify-center items-center gap-3 sm:gap-6 flex-wrap\"><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:900ms\"><img alt=\"OpenAI\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/openai.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1000ms\"><img alt=\"Anthropic\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/anthropic.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1100ms\"><img alt=\"Google\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/google.com/w/501/h/512/symbol?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1200ms\"><img alt=\"Microsoft\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/microsoft.com/w/512/h/512/symbol?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1300ms\"><img alt=\"Meta\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/meta.com/w/400/h/400?c=1idQbe1D_SxVi_WjGRi\"/></div></div></div><div class=\"text-center\"><p class=\"font-medium text-muted-foreground mb-4 sm:mb-6 tracking-wide text-sm sm:text-base\">And every language</p><div class=\"flex justify-center items-center gap-3 sm:gap-6 flex-wrap\"><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:900ms\"><img alt=\"Typescript\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/typescriptlang.org/w/256/h/256?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1000ms\"><img alt=\"Python\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/python.org/w/467/h/512/logo?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1100ms\"><img alt=\"Go\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/go.dev/w/512/h/192/logo?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1200ms\"><img alt=\"Ruby\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/ruby-lang.org/w/512/h/511/logo?c=1idQbe1D_SxVi_WjGRi\"/></div><div class=\"w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110\" style=\"animation-delay:1300ms\"><img alt=\"Java\" class=\"w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300\" src=\"https://cdn.brandfetch.io/java.com/w/379/h/512/logo?c=1idQbe1D_SxVi_WjGRi\"/></div></div></div></div></div><div class=\"[--color:var(--secondary)] pointer-events-none relative -z-[2] mx-auto h-[50rem] overflow-hidden [mask-image:radial-gradient(ellipse_at_center_center,#000,transparent_50%)] my-[-10rem] md:my-[-21.8rem] before:absolute before:inset-0 before:h-full before:w-full before:opacity-40 before:[background-image:radial-gradient(circle_at_bottom_center,var(--color),transparent_70%)] after:absolute after:-left-1/2 after:top-1/2 after:aspect-[1/0.7] after:w-[200%] after:rounded-[50%] after:border-t after:border-[hsl(var(--border))] after:bg-background after:z-50\"><div class=\"absolute inset-0 flex flex-col items-center justify-center pointer-events-auto\"><div class=\"relative z-0\" style=\"opacity:0;transform:translateY(200px)\"><div class=\"size-32 rounded-full flex items-center justify-center flex flex-col w-full\"><img alt=\"BAML Lamb Logo\" width=\"96\" height=\"96\" decoding=\"async\" data-nimg=\"1\" class=\"size-24 object-contain\" style=\"color:transparent\" srcSet=\"/_next/image?url=%2Flamb.png&amp;w=96&amp;q=75 1x, /_next/image?url=%2Flamb.png&amp;w=256&amp;q=75 2x\" src=\"/_next/image?url=%2Flamb.png&amp;w=256&amp;q=75\"/></div></div><div class=\"relative z-60 mt-8 md:mt-12\" style=\"opacity:0;transform:translateY(100px)\"><div class=\"text-center px-4\"><div class=\"md:text-lg mb-1 md:mb-2 text-primary\">Baaaaaaaaaaml</div><p class=\"text-sm md:text-lg text-primary tracking-wide\"><span class=\"text-secondary font-bold\">B</span>asically<!-- --> <span class=\"text-secondary font-bold\">A</span> <span class=\"text-secondary font-bold\">M</span>ade-Up<!-- --> <span class=\"text-secondary font-bold\">L</span>anguage</p></div></div></div></div></section><section class=\"flex flex-col items-center justify-center gap-10 pt-20 w-full relative\" id=\"company\"><div class=\"flex w-full flex-col items-center justify-center gap-x-4 gap-y-8 px-12 pt-0\"><div class=\"text-xl font-light text-muted-foreground\">Trusted by developers at</div><div class=\"flex flex-wrap lg:flex-nowrap justify-center gap-x-3 gap-y-0 opacity-50 grayscale\"><div class=\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\"><img alt=\"Aer Compliance\" decoding=\"async\" data-nimg=\"fill\" class=\"object-contain\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"(max-width: 768px) 140px, 160px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=3840&amp;q=75\"/></div><div class=\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\"><img alt=\"PMMI\" decoding=\"async\" data-nimg=\"fill\" class=\"object-contain\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"(max-width: 768px) 140px, 160px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=3840&amp;q=75\"/></div><div class=\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\"><img alt=\"Product Hunt\" decoding=\"async\" data-nimg=\"fill\" class=\"object-contain\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"(max-width: 768px) 140px, 160px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=3840&amp;q=75\"/></div><div class=\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\"><img alt=\"SAP\" decoding=\"async\" data-nimg=\"fill\" class=\"object-contain\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"(max-width: 768px) 140px, 160px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=3840&amp;q=75\"/></div><div class=\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\"><img alt=\"AI Tinkerers\" decoding=\"async\" data-nimg=\"fill\" class=\"object-contain\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"(max-width: 768px) 140px, 160px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=3840&amp;q=75\"/></div><div class=\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\"><img alt=\"Cerebral Valley\" decoding=\"async\" data-nimg=\"fill\" class=\"object-contain\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"(max-width: 768px) 140px, 160px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=3840&amp;q=75\"/></div><div class=\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\"><img alt=\"Vetrec\" decoding=\"async\" data-nimg=\"fill\" class=\"object-contain\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"(max-width: 768px) 140px, 160px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=3840&amp;q=75\"/></div></div></div></section><section class=\"flex flex-col items-center justify-center gap-5 w-full relative\" id=\"features\"><div class=\"w-full h-full p-8 md:p-14\"><div class=\"max-w-xl mx-auto flex flex-col items-center justify-center gap-2\"><h2 class=\"text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance\">Complete Development Workflow</h2><p class=\"text-muted-foreground text-center text-balance font-medium\">Discover how BAML transforms AI development in four easy steps</p></div></div><div class=\"w-full\"><div class=\"w-full\"><div class=\"flex w-full flex-col items-center justify-center max-w-7xl mx-auto\" style=\"opacity:0\"><div class=\"flex flex-col gap-16 px-10 md:px-20 w-full\"><div class=\"flex flex-col gap-8 lg:gap-12 items-center lg:flex-row\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"flex flex-col gap-4 lg:w-1/2 lg:pr-8\" style=\"opacity:0;transform:translateX(-50px)\"><div class=\"flex flex-col gap-3\"><h2 class=\"text-2xl lg:text-3xl font-bold tracking-tight\" style=\"opacity:0;transform:translateY(20px)\"><div>Define your<!-- --> <span class=\"line-through text-destructive/80\">prompts</span> <span class=\"text-secondary\">functions</span></div></h2><div class=\"text-base lg:text-lg text-muted-foreground leading-relaxed\" style=\"opacity:0;transform:translateY(20px)\"><div class=\"text-base lg:text-lg text-muted-foreground leading-relaxed\">Yes, Cursor, Claude, already know BAML.<br/>Yes, we made a whole VSCode extension for BAML.</div></div></div></div><div class=\"lg:w-1/2 w-full\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"w-full aspect-video rounded-xl border border-border overflow-hidden shadow-lg\"><video autoPlay=\"\" class=\"w-full h-full object-cover\" loop=\"\" muted=\"\" playsInline=\"\" preload=\"auto\" src=\"/define-agents.mp4\"></video></div></div></div><div class=\"flex flex-col gap-8 lg:gap-12 items-center lg:flex-row-reverse\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"flex flex-col gap-4 lg:w-1/2 lg:pl-8\" style=\"opacity:0;transform:translateX(50px)\"><div class=\"flex flex-col gap-3\"><h2 class=\"text-2xl lg:text-3xl font-bold tracking-tight\" style=\"opacity:0;transform:translateY(20px)\"><div>Test your<!-- --> <span class=\"line-through text-destructive/80\">prompts</span> <span class=\"text-secondary\">functions</span></div></h2><div class=\"text-base lg:text-lg text-muted-foreground leading-relaxed\" style=\"opacity:0;transform:translateY(20px)\">Do it in VSCode, or the editor of your choice. Or in CI/CD with baml-cli test</div></div></div><div class=\"lg:w-1/2 w-full\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"w-full aspect-video rounded-xl border border-border overflow-hidden shadow-lg\"><video autoPlay=\"\" class=\"w-full h-full object-cover\" loop=\"\" muted=\"\" playsInline=\"\" preload=\"auto\" src=\"/test-agent.mp4\"></video></div></div></div><div class=\"flex flex-col gap-8 lg:gap-12 items-center lg:flex-row\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"flex flex-col gap-4 lg:w-1/2 lg:pr-8\" style=\"opacity:0;transform:translateX(-50px)\"><div class=\"flex flex-col gap-3\"><h2 class=\"text-2xl lg:text-3xl font-bold tracking-tight\" style=\"opacity:0;transform:translateY(20px)\"><div>Call your<!-- --> <span class=\"line-through text-destructive/80\">prompts</span> <span class=\"text-secondary\">functions</span> from any programming language you love</div></h2><div class=\"text-base lg:text-lg text-muted-foreground leading-relaxed\" style=\"opacity:0;transform:translateY(20px)\"><div><pre>baml-cli generate</pre> <div class=\"flex flex-row gap-1 items-center\">converts BAML functions to native functions in<!-- --> <div class=\"overflow-hidden py-2\"><h1 class=\"text-secondary\" style=\"opacity:0;transform:translateY(-50px)\">Python</h1></div></div></div></div></div></div><div class=\"lg:w-1/2 w-full\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"w-full rounded-xl border border-border overflow-hidden bg-background shadow-lg\"><div class=\"rounded-xl shadow-2xl overflow-hidden border border-gray-200 w-full\"><div class=\"flex items-center h-8 px-3 border-b border-gray-200 bg-gray-100\"><div class=\"flex items-center gap-2 mr-3\"><span class=\"w-3 h-3 rounded-full bg-[#ff5f57]\"></span><span class=\"w-3 h-3 rounded-full bg-[#ffbd2f]\"></span><span class=\"w-3 h-3 rounded-full bg-[#28c940]\"></span></div><span class=\"text-xs text-[#9ca3af]\">main.py<!-- --> — <!-- -->Python<!-- --> — Visual Studio Code</span></div><div class=\"flex items-center h-9 text-sm bg-gray-100 text-[#111827] border-b border-gray-200\"><button class=\"px-3 h-full flex items-center border-r border-gray-200 bg-white transition-colors\" type=\"button\">main.py</button><button class=\"px-3 h-full flex items-center border-r border-gray-200 bg-transparent hover:bg-white/10 transition-colors\" type=\"button\">main.ts</button><button class=\"px-3 h-full flex items-center border-r border-gray-200 bg-transparent hover:bg-white/10 transition-colors\" type=\"button\">main.rb</button><button class=\"px-3 h-full flex items-center border-r border-gray-200 bg-transparent hover:bg-white/10 transition-colors\" type=\"button\">main.go</button></div><div class=\"flex w-full bg-white text-[#111827]\"><div class=\"flex-1 flex overflow-hidden text-sm leading-6\"><div class=\"select-none px-3 py-2 text-right text-[#9ca3af] border-r border-gray-200 bg-gray-100 whitespace-pre\"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div></div><div class=\"flex-1 overflow-auto px-4 py-2\"><pre class=\"whitespace-pre\"><code>from baml_client import b\n\nresult = b.AnalyzeCodebase(&quot;&lt;html&gt;...&lt;/html&gt;&quot;)\n\nprint(result)\n</code></pre></div></div></div></div></div></div></div><div class=\"flex flex-col gap-8 lg:gap-12 items-center lg:flex-row-reverse\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"flex flex-col gap-4 lg:w-1/2 lg:pl-8\" style=\"opacity:0;transform:translateX(50px)\"><div class=\"flex flex-col gap-3\"><h2 class=\"text-2xl lg:text-3xl font-bold tracking-tight\" style=\"opacity:0;transform:translateY(20px)\"><div>Deploy your <span class=\"text-secondary\">Agent</span></div></h2><div class=\"text-base lg:text-lg text-muted-foreground leading-relaxed\" style=\"opacity:0;transform:translateY(20px)\"><div>Do nothing special for BAML. Since BAML generates native code in your language of choice, you can use it in any way you want.</div></div></div></div><div class=\"lg:w-1/2 w-full\" style=\"opacity:0;transform:scale(0.95)\"><div class=\"w-full rounded-xl border border-border overflow-hidden bg-background shadow-lg\"><div class=\"flex justify-center p-4\"><div class=\"w-full max-w-sm\"><div class=\"mb-6\" style=\"opacity:0;transform:translateY(-10px)\"><div class=\"flex justify-between items-center mb-2\"><span class=\"text-sm font-medium text-gray-700 dark:text-gray-300\">Multi-Cloud Deployment</span><span class=\"text-sm text-gray-500 dark:text-gray-400\">0<!-- -->%</span></div><div class=\"w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden\"><div class=\"h-full bg-gradient-to-r from-blue-500 via-purple-500 to-green-500 rounded-full\" style=\"width:0px\"></div></div></div><div class=\"grid grid-cols-2 md:grid-cols-3 gap-4 mb-6\"><div class=\"relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700\" style=\"opacity:0;transform:scale(0.9)\"><div class=\"relative z-10\"><div class=\"flex items-center justify-between mb-3\"><div class=\"flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600\"><div class=\"size-4 rounded-full border-2 border-gray-300\"></div></div></div><div class=\"flex items-center space-x-2 mb-2\"><div class=\"p-1 rounded bg-gray-100 dark:bg-gray-800\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-server size-4\" aria-hidden=\"true\"><rect width=\"20\" height=\"8\" x=\"2\" y=\"2\" rx=\"2\" ry=\"2\"></rect><rect width=\"20\" height=\"8\" x=\"2\" y=\"14\" rx=\"2\" ry=\"2\"></rect><line x1=\"6\" x2=\"6.01\" y1=\"6\" y2=\"6\"></line><line x1=\"6\" x2=\"6.01\" y1=\"18\" y2=\"18\"></line></svg></div><span class=\"text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400\">AWS Lambda</span></div></div></div><div class=\"relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700\" style=\"opacity:0;transform:scale(0.9)\"><div class=\"relative z-10\"><div class=\"flex items-center justify-between mb-3\"><div class=\"flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600\"><div class=\"size-4 rounded-full border-2 border-gray-300\"></div></div></div><div class=\"flex items-center space-x-2 mb-2\"><div class=\"p-1 rounded bg-gray-100 dark:bg-gray-800\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-rocket size-4\" aria-hidden=\"true\"><path d=\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z\"></path><path d=\"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z\"></path><path d=\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0\"></path><path d=\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\"></path></svg></div><span class=\"text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400\">Vercel</span></div></div></div><div class=\"relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700\" style=\"opacity:0;transform:scale(0.9)\"><div class=\"relative z-10\"><div class=\"flex items-center justify-between mb-3\"><div class=\"flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600\"><div class=\"size-4 rounded-full border-2 border-gray-300\"></div></div></div><div class=\"flex items-center space-x-2 mb-2\"><div class=\"p-1 rounded bg-gray-100 dark:bg-gray-800\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-cloud size-4\" aria-hidden=\"true\"><path d=\"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\"></path></svg></div><span class=\"text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400\">Google Cloud</span></div></div></div><div class=\"relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700\" style=\"opacity:0;transform:scale(0.9)\"><div class=\"relative z-10\"><div class=\"flex items-center justify-between mb-3\"><div class=\"flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600\"><div class=\"size-4 rounded-full border-2 border-gray-300\"></div></div></div><div class=\"flex items-center space-x-2 mb-2\"><div class=\"p-1 rounded bg-gray-100 dark:bg-gray-800\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-database size-4\" aria-hidden=\"true\"><ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"></ellipse><path d=\"M3 5V19A9 3 0 0 0 21 19V5\"></path><path d=\"M3 12A9 3 0 0 0 21 12\"></path></svg></div><span class=\"text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400\">Azure Functions</span></div></div></div><div class=\"relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700\" style=\"opacity:0;transform:scale(0.9)\"><div class=\"relative z-10\"><div class=\"flex items-center justify-between mb-3\"><div class=\"flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600\"><div class=\"size-4 rounded-full border-2 border-gray-300\"></div></div></div><div class=\"flex items-center space-x-2 mb-2\"><div class=\"p-1 rounded bg-gray-100 dark:bg-gray-800\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-shield size-4\" aria-hidden=\"true\"><path d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"></path></svg></div><span class=\"text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400\">Railway</span></div></div></div></div></div></div></div></div></div></div></div></div></div></section><section class=\"flex flex-col items-center justify-center w-full relative px-2 md:px-10\" id=\"bento\"><div class=\"mx-2 md:mx-10 relative\"><div class=\"w-full h-full p-8 md:p-14\"><div class=\"max-w-xl mx-auto flex flex-col items-center justify-center gap-2\"><h2 class=\"text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance pb-1\">Empower Your AI Development</h2><p class=\"text-muted-foreground text-center text-balance font-medium\">Build AI applications with type safety, generate TypeScript types, and validate your schemas.</p></div></div><div class=\"grid grid-cols-1 md:grid-cols-2 overflow-hidden\"><div class=\"flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group\"><div class=\"relative flex size-full items-center justify-center h-full\"><div class=\"jsx-1c4d191002af0141 w-full flex flex-col items-center justify-center gap-6 relative\"><div class=\"w-full max-w-md\" style=\"opacity:0;transform:translateY(30px)\"><div class=\"not-prose flex w-full flex-col overflow-clip border border-border bg-card text-card-foreground rounded-xl mb-2 shadow-lg mt-2\"><div class=\"flex items-center border-b border-border bg-accent text-sm text-foreground\"><div class=\"flex items-center p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file mr-2 size-4\" aria-hidden=\"true\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path></svg>resume.baml</div></div><pre class=\"jsx-1c4d191002af0141 text-[14px] font-mono text-primary leading-relaxed p-4\"><code class=\"jsx-1c4d191002af0141\">class Resume {\n  name string\n  title string\n}\n\nfunction ExtractResume(resume: string) -&gt; Resume</code></pre></div></div><div class=\"w-full max-w-md\" style=\"opacity:0;transform:translateY(30px)\"><div class=\"not-prose flex w-full flex-col overflow-clip border border-border bg-card text-card-foreground rounded-xl mb-2 relative shadow-lg\"><div class=\"flex items-center border-b border-border bg-accent text-sm text-foreground\"><div class=\"flex items-center w-full\"><button class=\"flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border bg-background\" type=\"button\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file mr-2 size-4\" aria-hidden=\"true\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path></svg>main.py</button><button class=\"flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border\" type=\"button\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file mr-2 size-4\" aria-hidden=\"true\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path></svg>main.ts</button><button class=\"flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border\" type=\"button\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file mr-2 size-4\" aria-hidden=\"true\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path></svg>main.rb</button><button class=\"flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border\" type=\"button\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file mr-2 size-4\" aria-hidden=\"true\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path></svg>main.go</button></div></div><div class=\"w-full\"><pre class=\"text-[14px] font-mono text-primary leading-relaxed p-4\"><code><div>resume = b.ExtractResume(resume)</div><div>print(resume<span class=\"error-underline\">.education</span>)</div></code></pre></div></div><div class=\"flex items-center gap-2 mt-2 ml-2 mb-6 text-xs text-destructive font-mono\" style=\"opacity:0;transform:translateY(10px)\"><svg aria-label=\"Error icon\" fill=\"none\" height=\"16\" viewBox=\"0 0 24 24\" width=\"16\"><title>Error icon</title><circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"2\"></circle><path d=\"M12 8v4m0 4h.01\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-width=\"2\"></path></svg>Property &#x27;education&#x27; does not exist on type &#x27;Resume&#x27;.</div></div></div></div><div class=\"flex-1 flex-col gap-2 p-6\"><h3 class=\"text-lg tracking-tighter font-semibold\">Type-Safe AI Interfaces</h3><p class=\"text-muted-foreground\">Define AI interfaces with confidence. Write BAML schemas that generate TypeScript types automatically.</p></div></div><div class=\"flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group\"><div class=\"relative flex size-full items-center justify-center h-full\"><div class=\"w-full h-full p-4 flex flex-col items-center justify-center gap-5\"><div class=\"pointer-events-none absolute bottom-0 left-0 h-20 w-full bg-gradient-to-t from-background to-transparent z-20\"></div><div class=\"max-w-md mx-auto w-full flex flex-col gap-2\"><div class=\"flex items-end justify-end gap-3\"><div class=\"max-w-[280px] bg-secondary text-white p-4 rounded-2xl ml-auto shadow-[0_0_10px_rgba(0,0,0,0.05)]\" style=\"opacity:0;transform:translateX(20px)\"><p class=\"text-sm\">Extract the person&#x27;s name and job title from this resume text...</p></div><div class=\"flex items-center bg-background rounded-full w-fit border border-border flex-shrink-0\"><img alt=\"User Avatar\" class=\"size-8 rounded-full flex-shrink-0\" src=\"https://randomuser.me/api/portraits/men/32.jpg\"/></div></div><div class=\"flex items-start gap-2\"><div class=\"flex items-center bg-background rounded-full size-10 flex-shrink-0 justify-center shadow-[0_0_10px_rgba(0,0,0,0.05)] border border-border\"><img alt=\"Baml\" loading=\"lazy\" width=\"42\" height=\"24\" decoding=\"async\" data-nimg=\"1\" class=\"size-4\" style=\"color:transparent\" srcSet=\"/_next/image?url=%2Flamb.png&amp;w=48&amp;q=75 1x, /_next/image?url=%2Flamb.png&amp;w=96&amp;q=75 2x\" src=\"/_next/image?url=%2Flamb.png&amp;w=96&amp;q=75\"/></div><div class=\"relative\"><div class=\"absolute left-0 top-0 bg-background p-4 rounded-2xl border border-border\" style=\"opacity:0;transform:translateX(-20px)\"><div class=\"flex gap-1\"><div class=\"w-2 h-2 bg-primary/50 rounded-full\"></div><div class=\"w-2 h-2 bg-primary/50 rounded-full\"></div><div class=\"w-2 h-2 bg-primary/50 rounded-full\"></div></div></div></div></div></div></div></div><div class=\"flex-1 flex-col gap-2 p-6\"><h3 class=\"text-lg tracking-tighter font-semibold\">Structured Outputs</h3><p class=\"text-muted-foreground\">Get type-safe, validated responses from any LLM. Support for JSON, XML, YAML, and more output formats.</p></div></div><div class=\"flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group\"><div class=\"relative flex size-full items-center justify-center h-full\"><div class=\"w-full max-w-full h-full font-mono p-4\"><div class=\"relative z-0 h-full max-h-[400px] max-w-lg rounded-xl border border-border bg-background w-full min-h-[250px] font-mono shadow-lg\"><div class=\"terminal-header relative z-10 flex flex-col gap-y-2 border-b border-border px-4 py-2\"><div class=\"flex flex-row gap-x-2 items-center\"><div class=\"h-2 w-2 rounded-full bg-red-500\"></div><div class=\"h-2 w-2 rounded-full bg-yellow-500\"></div><div class=\"h-2 w-2 rounded-full bg-green-500\"></div></div></div><pre class=\"terminal-content relative z-0 py-4 px-6 md:px-4 md:py-4\"><code class=\"grid gap-y-1 overflow-auto\"><span class=\"text-sm font-normal tracking-tight\"></span><div class=\"grid text-sm font-normal tracking-tight\" style=\"opacity:0;transform:translateY(-5px)\"><span class=\"text-muted-foreground font-mono\">✅ Testing ResumeParser...</span></div><div class=\"grid text-sm font-normal tracking-tight\" style=\"opacity:0;transform:translateY(-5px)\"><span class=\"text-muted-foreground font-mono\">✅ Testing SentimentAnalyzer...</span></div><div class=\"grid text-sm font-normal tracking-tight\" style=\"opacity:0;transform:translateY(-5px)\"><span class=\"text-muted-foreground font-mono\">✅ Testing CodeReviewer...</span></div><div class=\"grid text-sm font-normal tracking-tight\" style=\"opacity:0;transform:translateY(-5px)\"><span class=\"text-muted-foreground font-mono\">✅ All Agents tested successfully</span></div></code></pre></div></div></div><div class=\"flex-1 flex-col gap-2 p-6\"><h3 class=\"text-lg tracking-tighter font-semibold\">Test Your Agents in CI/CD</h3><p class=\"text-muted-foreground\">Test your agents in CI/CD pipelines to ensure they are working as expected.</p></div></div><div class=\"flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group\"><div class=\"relative flex size-full items-center justify-center h-full\"><div class=\"w-full h-full flex flex-col relative\"><div class=\"absolute inset-0 flex -z-10 [mask:linear-gradient(180deg,transparent,black_40%,black_40%,transparent)] \"><div class=\" w-1/2 h-full flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div></div><div class=\"w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div></div><div class=\" w-1/2 h-full flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div></div><div class=\"w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent \"></div><div class=\"w-px h-5 bg-primary first:bg-transparent \"></div><div class=\"w-px h-5 bg-primary first:bg-transparent \"></div><div class=\"w-px h-5 bg-primary first:bg-transparent \"></div><div class=\"w-px h-5 bg-primary first:bg-transparent \"></div></div><div class=\" w-1/2 h-full flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div></div><div class=\"w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div></div><div class=\" w-1/2 h-full flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div></div><div class=\"w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between\"><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div><div class=\"w-px h-5 bg-primary first:bg-transparent\"></div></div></div><div class=\"absolute top-4 left-0 right-0 flex justify-between max-w-md mx-auto px-8 text-sm text-gray-500\"><span>10:00</span><span>10:01</span><span>10:02</span><span>10:03</span><span>10:04</span></div><div class=\"absolute top-10 w-[2px] h-[calc(100%-80px)] bg-gradient-to-b from-black dark:from-accent to-transparent z-10\" style=\"opacity:0;transform:translateX(-50%)\"></div><div class=\"absolute top-14 bg-black dark:bg-accent h-6 z-20 flex items-center justify-center text-xs p-2 rounded-md shadow-[0px_2.2px_6.6px_0px_rgba(18,43,105,0.04),0px_1.1px_2.2px_0px_rgba(18,43,105,0.08),0px_0px_0px_1.1px_rgba(18,43,105,0.08),0px_1.1px_0px_0px_rgba(255,255,255,0.20)_inset,0px_4.4px_6.6px_0px_rgba(255,255,255,0.01)_inset]\" style=\"opacity:0;transform:translateX(-50%)\"><span class=\"text-white\">10:00 AM</span></div><div class=\"w-full absolute grid gap-10 top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/3\"></div></div></div><div class=\"flex-1 flex-col gap-2 p-6\"><h3 class=\"text-lg tracking-tighter font-semibold\">Automatic Retry and Fallback</h3><p class=\"text-muted-foreground\">Automatically retry failed requests and provide fallback responses when errors occur.</p></div></div></div></div></section><section class=\"flex flex-col items-center justify-center w-full\" id=\"testimonials\"><div class=\"w-full h-full p-8 md:p-14\"><div class=\"max-w-xl mx-auto flex flex-col items-center justify-center gap-2\"><h2 class=\"text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance\">People love BAML</h2><p class=\"text-muted-foreground text-center text-balance font-medium\">And so do agents</p></div></div><div class=\"h-full\"><div class=\"px-10\"><div class=\"relative max-h-[750px] overflow-hidden\"><div class=\"gap-0 md:columns-2 xl:columns-3\"><div class=\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:10s]\"><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"1\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">It&#x27;s a game changer.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Adam Gitzes\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Adam Gitzes</p><p class=\"text-xs font-normal text-muted-foreground\">Amazon</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"2\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">much faster than langchain</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Jason Fan\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Jason Fan</p><p class=\"text-xs font-normal text-muted-foreground\">Finic.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"3\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>It&#x27;s amazing!! Was able to<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Ray del Vecchio\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Ray del Vecchio</p><p class=\"text-xs font-normal text-muted-foreground\">Cerebral Valley</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"1\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">It&#x27;s a game changer.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Adam Gitzes\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Adam Gitzes</p><p class=\"text-xs font-normal text-muted-foreground\">Amazon</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"2\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">much faster than langchain</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Jason Fan\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Jason Fan</p><p class=\"text-xs font-normal text-muted-foreground\">Finic.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"3\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>It&#x27;s amazing!! Was able to<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Ray del Vecchio\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Ray del Vecchio</p><p class=\"text-xs font-normal text-muted-foreground\">Cerebral Valley</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"1\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">It&#x27;s a game changer.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Adam Gitzes\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Adam Gitzes</p><p class=\"text-xs font-normal text-muted-foreground\">Amazon</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"2\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">much faster than langchain</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Jason Fan\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Jason Fan</p><p class=\"text-xs font-normal text-muted-foreground\">Finic.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"3\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>It&#x27;s amazing!! Was able to<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Ray del Vecchio\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Ray del Vecchio</p><p class=\"text-xs font-normal text-muted-foreground\">Cerebral Valley</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"1\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">It&#x27;s a game changer.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Adam Gitzes\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Adam Gitzes</p><p class=\"text-xs font-normal text-muted-foreground\">Amazon</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"2\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">much faster than langchain</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Jason Fan\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Jason Fan</p><p class=\"text-xs font-normal text-muted-foreground\">Finic.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"3\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>It&#x27;s amazing!! Was able to<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Ray del Vecchio\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Ray del Vecchio</p><p class=\"text-xs font-normal text-muted-foreground\">Cerebral Valley</p></div></div></div></div></div><div class=\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:8s]\"><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"4\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">it just works!!!</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Hankel Bao\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Hankel Bao</p><p class=\"text-xs font-normal text-muted-foreground\">Coldreach.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"5\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Joseph Tutera\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Joseph Tutera</p><p class=\"text-xs font-normal text-muted-foreground\">Docucare AI</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"6\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">the dedicated testing playground is awesome.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Gabe\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Gabe</p><p class=\"text-xs font-normal text-muted-foreground\">Zenfetch</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"4\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">it just works!!!</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Hankel Bao\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Hankel Bao</p><p class=\"text-xs font-normal text-muted-foreground\">Coldreach.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"5\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Joseph Tutera\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Joseph Tutera</p><p class=\"text-xs font-normal text-muted-foreground\">Docucare AI</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"6\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">the dedicated testing playground is awesome.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Gabe\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Gabe</p><p class=\"text-xs font-normal text-muted-foreground\">Zenfetch</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"4\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">it just works!!!</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Hankel Bao\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Hankel Bao</p><p class=\"text-xs font-normal text-muted-foreground\">Coldreach.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"5\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Joseph Tutera\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Joseph Tutera</p><p class=\"text-xs font-normal text-muted-foreground\">Docucare AI</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"6\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">the dedicated testing playground is awesome.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Gabe\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Gabe</p><p class=\"text-xs font-normal text-muted-foreground\">Zenfetch</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"4\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">it just works!!!</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Hankel Bao\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Hankel Bao</p><p class=\"text-xs font-normal text-muted-foreground\">Coldreach.ai</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"5\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Joseph Tutera\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Joseph Tutera</p><p class=\"text-xs font-normal text-muted-foreground\">Docucare AI</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"6\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">the dedicated testing playground is awesome.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Gabe\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Gabe</p><p class=\"text-xs font-normal text-muted-foreground\">Zenfetch</p></div></div></div></div></div><div class=\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:12s]\"><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"7\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">Clean, elegant, beautiful.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Paulo Rossi\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Paulo Rossi</p><p class=\"text-xs font-normal text-muted-foreground\">Magnaplay</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"8\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Eitan Borgnia\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Eitan Borgnia</p><p class=\"text-xs font-normal text-muted-foreground\">Squack</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"7\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">Clean, elegant, beautiful.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Paulo Rossi\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Paulo Rossi</p><p class=\"text-xs font-normal text-muted-foreground\">Magnaplay</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"8\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Eitan Borgnia\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Eitan Borgnia</p><p class=\"text-xs font-normal text-muted-foreground\">Squack</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"7\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">Clean, elegant, beautiful.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Paulo Rossi\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Paulo Rossi</p><p class=\"text-xs font-normal text-muted-foreground\">Magnaplay</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"8\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Eitan Borgnia\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Eitan Borgnia</p><p class=\"text-xs font-normal text-muted-foreground\">Squack</p></div></div></div></div><div class=\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\"><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"7\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class=\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\">Clean, elegant, beautiful.</span></p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Paulo Rossi\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Paulo Rossi</p><p class=\"text-xs font-normal text-muted-foreground\">Magnaplay</p></div></div></div><div class=\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\" id=\"8\"><div class=\"select-none leading-relaxed font-normal text-primary/60\"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class=\"flex w-full select-none items-center justify-start gap-3.5\"><img alt=\"Eitan Borgnia\" loading=\"lazy\" width=\"32\" height=\"32\" decoding=\"async\" data-nimg=\"1\" class=\"size-8 rounded-full\" style=\"color:transparent\" sizes=\"32px\" srcSet=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75\"/><div><p class=\"font-medium text-primary/90\">Eitan Borgnia</p><p class=\"text-xs font-normal text-muted-foreground\">Squack</p></div></div></div></div></div></div><div class=\"pointer-events-none absolute inset-x-0 bottom-0 h-1/6 md:h-1/5 w-full bg-gradient-to-t from-background from-20%\"></div><div class=\"pointer-events-none absolute inset-x-0 top-0 h-1/6 md:h-1/5 w-full bg-gradient-to-b from-background from-20%\"></div></div></div></div><div class=\"mt-8 flex justify-center\"><a href=\"https://github.com/BoundaryML/site/issues/new?template=testimonial.yml\" rel=\"noopener noreferrer\" target=\"_blank\" class=\"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[&gt;svg]:px-4 border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground gap-2\" data-slot=\"button\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-github h-4 w-4\" aria-hidden=\"true\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"></path><path d=\"M9 18c-4.51 2-5-2-7-2\"></path></svg>Share your story</a></div></section><section class=\"flex flex-col items-center justify-center w-full\" id=\"cta\"><div class=\"w-full\"><div class=\"h-[400px] md:h-[400px] overflow-hidden shadow-xl w-full border border-border rounded-xl bg-secondary relative z-20\"><img alt=\"Agent CTA Background\" decoding=\"async\" data-nimg=\"fill\" class=\"absolute inset-0 w-full h-full object-cover object-right md:object-center\" style=\"position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent\" sizes=\"100vw\" srcSet=\"/_next/image?url=%2Fagent-cta-background.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fagent-cta-background.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fagent-cta-background.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fagent-cta-background.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fagent-cta-background.png&amp;w=3840&amp;q=75 3840w\" src=\"/_next/image?url=%2Fagent-cta-background.png&amp;w=3840&amp;q=75\"/><div class=\"absolute inset-0 -top-32 md:-top-40 flex flex-col items-center justify-center\"><h1 class=\"text-white text-4xl md:text-7xl font-medium tracking-tighter max-w-xs md:max-w-xl text-center\">Build AI Applications with Confidence</h1><div class=\"absolute bottom-10 flex flex-col items-center justify-center gap-2\"><a class=\"bg-white text-black font-semibold text-sm h-10 w-fit px-4 rounded-full flex items-center justify-center shadow-md\" href=\"https://calendly.com/boundaryml/meeting-with-founders?back=1&amp;month=2023-12&amp;utm_source=marketing-site&amp;utm_medium=cta-button\">Book a meeting with us</a><span class=\"text-white text-sm\">Start building type-safe AI applications in minutes</span></div></div></div></div></section><footer class=\"w-full pb-0\" id=\"footer\"><div class=\"grid grid-cols-1 md:grid-cols-[minmax(0,320px)_1fr] gap-y-10 md:gap-x-16 p-10 items-start\"><div class=\"flex flex-col items-start gap-y-5 max-w-xs mx-0\"><a class=\"flex items-center gap-2\" href=\"/\"><p class=\"text-xl font-semibold text-primary\">Boundary</p></a><p class=\"tracking-tight text-muted-foreground font-medium\">Open source toolkit for AI development. Build type-safe AI applications with your team - all with confidence and reliability.</p><div class=\"flex items-center gap-2 dark:hidden\"></div><div class=\"dark:flex items-center gap-2 hidden\"></div></div><div class=\"w-full\"><div class=\"grid grid-cols-2 xl:grid-cols-4 gap-y-6 gap-x-8\"><ul class=\"flex flex-col gap-y-2\"><li class=\"mb-2 text-sm font-semibold text-primary\">Company</li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"/who-are-we\">About Us</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://gloochat.notion.site/benefits-of-baml\">Why BAML?</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"/privacy-policy\">Privacy Policy</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"/tos\">Terms of Service</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li></ul><ul class=\"flex flex-col gap-y-2\"><li class=\"mb-2 text-sm font-semibold text-primary\">Resources</li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://docs.boundaryml.com/changelog/changelog\">Changelog</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://docs.boundaryml.com\">Docs</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"/jobs\">Jobs</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li></ul><ul class=\"flex flex-col gap-y-2\"><li class=\"mb-2 text-sm font-semibold text-primary\">Social</li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://github.com/boundaryml\">GitHub</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://twitter.com/boundaryml\">Twitter</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://boundaryml.com/discord\">Discord</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://linkedin.com/company/boundaryml\">LinkedIn</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li><li class=\"group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground\"><a href=\"https://youtube.com/@boundaryml\">YouTube</a><div class=\"flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100\"><svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"size-4\"><path d=\"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\" fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"></path></svg></div></li></ul></div></div></div><div class=\"w-full h-48 md:h-64 relative z-0\"><div class=\"absolute inset-0 bg-gradient-to-t from-transparent to-background z-10 from-40%\"></div><div class=\"absolute inset-0 mx-6\"><div class=\"h-full w-full\"><canvas class=\"pointer-events-none\" style=\"height:0;width:0\"></canvas></div></div></div></footer></main></div><!--$--><!--/$--><!--$!--><template data-dgst=\"BAILOUT_TO_CLIENT_SIDE_RENDERING\"></template><!--/$--><!--$!--><template data-dgst=\"BAILOUT_TO_CLIENT_SIDE_RENDERING\"></template><!--/$--></div><script>$RB=[];$RV=function(b){$RT=performance.now();for(var a=0;a<b.length;a+=2){var c=b[a],e=b[a+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&g._reactRetry()}}b.length=0};\n$RC=function(b,a){if(a=document.getElementById(a))(b=document.getElementById(b))?(b.previousSibling.data=\"$~\",$RB.push(b,a),2===$RB.length&&(b=\"number\"!==typeof $RT?0:$RT,a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:b+300-a))):a.parentNode.removeChild(a)};$RC(\"B:0\",\"S:0\")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,\"1:\\\"$Sreact.fragment\\\"\\n2:\\\"$Sreact.suspense\\\"\\n3:I[35272,[\\\"3470\\\",\\\"static/chunks/3470-e5756a9f299017f6.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"7177\\\",\\\"static/chunks/app/layout-619eeaec3ccb6442.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"AnalyticsProvider\\\"]\\n4:I[36079,[\\\"3470\\\",\\\"static/chunks/3470-e5756a9f299017f6.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"7177\\\",\\\"static/chunks/app/layout-619eeaec3ccb6442.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"ThemeProvider\\\"]\\n5:I[60009,[],\\\"\\\"]\\n6:I[71597,[],\\\"\\\"]\\n8:I[64271,[],\\\"OutletBoundary\\\"]\\na:I[70853,[],\\\"AsyncMetadataOutlet\\\"]\\nc:I[64271,[],\\\"ViewportBoundary\\\"]\\ne:I[64271,[],\\\"MetadataBoundary\\\"]\\n10:I[88763,[],\\\"\\\"]\\n:HL[\\\"/_next/static/media/028c0d39d2e8f589-s.p.woff2\\\",\\\"font\\\",{\\\"crossOrigin\\\":\\\"\\\",\\\"type\\\":\\\"font/woff2\\\"}]\\n:HL[\\\"/_next/static/media/5b01f339abf2f1a5.p.woff2\\\",\\\"font\\\",{\\\"crossOrigin\\\":\\\"\\\",\\\"type\\\":\\\"font/woff2\\\"}]\\n:HL[\\\"/_next/static/css/e5ae0da699f83dc7.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"style\\\"]\\n:HL[\\\"/_next/static/css/a2f7a122f90eae85.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"style\\\"]\\n\"])</script><script>self.__next_f.push([1,\"0:{\\\"P\\\":null,\\\"b\\\":\\\"7F7GqcI15tmbQ71cBpxd9\\\",\\\"p\\\":\\\"\\\",\\\"c\\\":[\\\"\\\",\\\"index\\\"],\\\"i\\\":false,\\\"f\\\":[[[\\\"\\\",{\\\"children\\\":[\\\"__PAGE__\\\",{}]},\\\"$undefined\\\",\\\"$undefined\\\",true],[\\\"\\\",[\\\"$\\\",\\\"$1\\\",\\\"c\\\",{\\\"children\\\":[[[\\\"$\\\",\\\"link\\\",\\\"0\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/css/e5ae0da699f83dc7.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}],[\\\"$\\\",\\\"link\\\",\\\"1\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/css/a2f7a122f90eae85.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"precedence\\\":\\\"next\\\",\\\"crossOrigin\\\":\\\"$undefined\\\",\\\"nonce\\\":\\\"$undefined\\\"}]],[\\\"$\\\",\\\"html\\\",null,{\\\"lang\\\":\\\"en\\\",\\\"suppressHydrationWarning\\\":true,\\\"children\\\":[\\\"$\\\",\\\"body\\\",null,{\\\"className\\\":\\\"bg-background text-foreground relative min-h-screen font-sans antialiased __variable_fb8f2c __variable_f910ec\\\",\\\"children\\\":[\\\"$\\\",\\\"$2\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"$L3\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"$L4\\\",null,{\\\"attribute\\\":\\\"class\\\",\\\"defaultTheme\\\":\\\"light\\\",\\\"enableSystem\\\":false,\\\"children\\\":[\\\"$\\\",\\\"$L5\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"errorScripts\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$L6\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"templateScripts\\\":\\\"$undefined\\\",\\\"notFound\\\":[[[\\\"$\\\",\\\"title\\\",null,{\\\"children\\\":\\\"404: This page could not be found.\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"style\\\":{\\\"fontFamily\\\":\\\"system-ui,\\\\\\\"Segoe UI\\\\\\\",Roboto,Helvetica,Arial,sans-serif,\\\\\\\"Apple Color Emoji\\\\\\\",\\\\\\\"Segoe UI Emoji\\\\\\\"\\\",\\\"height\\\":\\\"100vh\\\",\\\"textAlign\\\":\\\"center\\\",\\\"display\\\":\\\"flex\\\",\\\"flexDirection\\\":\\\"column\\\",\\\"alignItems\\\":\\\"center\\\",\\\"justifyContent\\\":\\\"center\\\"},\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"style\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\\\"}}],[\\\"$\\\",\\\"h1\\\",null,{\\\"className\\\":\\\"next-error-h1\\\",\\\"style\\\":{\\\"display\\\":\\\"inline-block\\\",\\\"margin\\\":\\\"0 20px 0 0\\\",\\\"padding\\\":\\\"0 23px 0 0\\\",\\\"fontSize\\\":24,\\\"fontWeight\\\":500,\\\"verticalAlign\\\":\\\"top\\\",\\\"lineHeight\\\":\\\"49px\\\"},\\\"children\\\":404}],[\\\"$\\\",\\\"div\\\",null,{\\\"style\\\":{\\\"display\\\":\\\"inline-block\\\"},\\\"children\\\":[\\\"$\\\",\\\"h2\\\",null,{\\\"style\\\":{\\\"fontSize\\\":14,\\\"fontWeight\\\":400,\\\"lineHeight\\\":\\\"49px\\\",\\\"margin\\\":0},\\\"children\\\":\\\"This page could not be found.\\\"}]}]]}]}]],[]],\\\"forbidden\\\":\\\"$undefined\\\",\\\"unauthorized\\\":\\\"$undefined\\\"}]}]}]}]}]}]]}],{\\\"children\\\":[\\\"__PAGE__\\\",[\\\"$\\\",\\\"$1\\\",\\\"c\\\",{\\\"children\\\":[\\\"$L7\\\",null,[\\\"$\\\",\\\"$L8\\\",null,{\\\"children\\\":[\\\"$L9\\\",[\\\"$\\\",\\\"$La\\\",null,{\\\"promise\\\":\\\"$@b\\\"}]]}]]}],{},null,false]},null,false],[\\\"$\\\",\\\"$1\\\",\\\"h\\\",{\\\"children\\\":[null,[[\\\"$\\\",\\\"$Lc\\\",null,{\\\"children\\\":\\\"$Ld\\\"}],[\\\"$\\\",\\\"meta\\\",null,{\\\"name\\\":\\\"next-size-adjust\\\",\\\"content\\\":\\\"\\\"}]],[\\\"$\\\",\\\"$Le\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"hidden\\\":true,\\\"children\\\":[\\\"$\\\",\\\"$2\\\",null,{\\\"fallback\\\":null,\\\"children\\\":\\\"$Lf\\\"}]}]}]]}],false]],\\\"m\\\":\\\"$undefined\\\",\\\"G\\\":[\\\"$10\\\",[]],\\\"s\\\":false,\\\"S\\\":true}\\n\"])</script><script>self.__next_f.push([1,\"d:[[\\\"$\\\",\\\"meta\\\",\\\"0\\\",{\\\"charSet\\\":\\\"utf-8\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"1\\\",{\\\"name\\\":\\\"viewport\\\",\\\"content\\\":\\\"width=device-width, initial-scale=1\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"2\\\",{\\\"name\\\":\\\"theme-color\\\",\\\"media\\\":\\\"(prefers-color-scheme: light)\\\",\\\"content\\\":\\\"white\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"3\\\",{\\\"name\\\":\\\"theme-color\\\",\\\"media\\\":\\\"(prefers-color-scheme: dark)\\\",\\\"content\\\":\\\"black\\\"}]]\\n9:null\\n\"])</script><script>self.__next_f.push([1,\"11:I[97501,[],\\\"IconMark\\\"]\\n\"])</script><script>self.__next_f.push([1,\"b:{\\\"metadata\\\":[[\\\"$\\\",\\\"title\\\",\\\"0\\\",{\\\"children\\\":\\\"BAML\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"1\\\",{\\\"name\\\":\\\"description\\\",\\\"content\\\":\\\"BAML is a tool for developers to build AI applications with type safety and reliability\\\"}],[\\\"$\\\",\\\"link\\\",\\\"2\\\",{\\\"rel\\\":\\\"canonical\\\",\\\"href\\\":\\\"https://boundaryml.com\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"3\\\",{\\\"property\\\":\\\"og:title\\\",\\\"content\\\":\\\"BAML\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"4\\\",{\\\"property\\\":\\\"og:description\\\",\\\"content\\\":\\\"BAML is a tool for developers to build AI applications with type safety and reliability\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"5\\\",{\\\"property\\\":\\\"og:url\\\",\\\"content\\\":\\\"https://boundaryml.com\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"6\\\",{\\\"property\\\":\\\"og:site_name\\\",\\\"content\\\":\\\"BAML\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"7\\\",{\\\"property\\\":\\\"og:locale\\\",\\\"content\\\":\\\"en_US\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"8\\\",{\\\"property\\\":\\\"og:image:type\\\",\\\"content\\\":\\\"image/png\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"9\\\",{\\\"property\\\":\\\"og:image\\\",\\\"content\\\":\\\"https://boundaryml.com/opengraph-image?6211fa5edcebd025\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"10\\\",{\\\"property\\\":\\\"og:image:width\\\",\\\"content\\\":\\\"1200\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"11\\\",{\\\"property\\\":\\\"og:image:height\\\",\\\"content\\\":\\\"630\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"12\\\",{\\\"property\\\":\\\"og:type\\\",\\\"content\\\":\\\"website\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"13\\\",{\\\"name\\\":\\\"twitter:card\\\",\\\"content\\\":\\\"summary_large_image\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"14\\\",{\\\"name\\\":\\\"twitter:site\\\",\\\"content\\\":\\\"@boundaryml\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"15\\\",{\\\"name\\\":\\\"twitter:creator\\\",\\\"content\\\":\\\"@boundaryml\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"16\\\",{\\\"name\\\":\\\"twitter:title\\\",\\\"content\\\":\\\"Boundary | The best way to get structured data with LLMs\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"17\\\",{\\\"name\\\":\\\"twitter:description\\\",\\\"content\\\":\\\"Boundary makes it easy to build, test, and develop LLM applications.\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"18\\\",{\\\"name\\\":\\\"twitter:image:type\\\",\\\"content\\\":\\\"image/png\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"19\\\",{\\\"name\\\":\\\"twitter:image\\\",\\\"content\\\":\\\"https://boundaryml.com/twitter-image?6211fa5edcebd025\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"20\\\",{\\\"name\\\":\\\"twitter:image:width\\\",\\\"content\\\":\\\"1200\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"21\\\",{\\\"name\\\":\\\"twitter:image:height\\\",\\\"content\\\":\\\"630\\\"}],[\\\"$\\\",\\\"link\\\",\\\"22\\\",{\\\"rel\\\":\\\"icon\\\",\\\"href\\\":\\\"/favico.ico\\\"}],[\\\"$\\\",\\\"$L11\\\",\\\"23\\\",{}]],\\\"error\\\":null,\\\"digest\\\":\\\"$undefined\\\"}\\n\"])</script><script>self.__next_f.push([1,\"f:\\\"$b:metadata\\\"\\n\"])</script><script>self.__next_f.push([1,\"12:I[54207,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"Navbar\\\",1]\\n13:I[8649,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"default\\\"]\\n14:I[21773,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"Image\\\"]\\n15:I[33647,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=d\"])</script><script>self.__next_f.push([1,\"pl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"Feature\\\"]\\n\"])</script><script>self.__next_f.push([1,\"7:[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"max-w-7xl mx-auto border-x relative\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L12\\\",null,{}],[\\\"$\\\",\\\"main\\\",null,{\\\"className\\\":\\\"flex flex-col items-center justify-center min-h-screen w-full gap-12 sm:gap-20\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L13\\\",null,{\\\"nextEvent\\\":null}],[\\\"$\\\",\\\"section\\\",null,{\\\"className\\\":\\\"flex flex-col items-center justify-center gap-10 pt-20 w-full relative\\\",\\\"id\\\":\\\"company\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full flex-col items-center justify-center gap-x-4 gap-y-8 px-12 pt-0\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"text-xl font-light text-muted-foreground\\\",\\\"children\\\":\\\"Trusted by developers at\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex flex-wrap lg:flex-nowrap justify-center gap-x-3 gap-y-0 opacity-50 grayscale\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"Aer Compliance\\\",{\\\"className\\\":\\\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Aer Compliance\\\",\\\"className\\\":\\\"object-contain\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"(max-width: 768px) 140px, 160px\\\",\\\"src\\\":\\\"/testimonials/aer_compliance_logo.png\\\"}]}],[\\\"$\\\",\\\"div\\\",\\\"PMMI\\\",{\\\"className\\\":\\\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"PMMI\\\",\\\"className\\\":\\\"object-contain\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"(max-width: 768px) 140px, 160px\\\",\\\"src\\\":\\\"/testimonials/logos/pmmi.png\\\"}]}],[\\\"$\\\",\\\"div\\\",\\\"Product Hunt\\\",{\\\"className\\\":\\\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Product Hunt\\\",\\\"className\\\":\\\"object-contain\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"(max-width: 768px) 140px, 160px\\\",\\\"src\\\":\\\"/testimonials/logos/product-hunt.png\\\"}]}],[\\\"$\\\",\\\"div\\\",\\\"SAP\\\",{\\\"className\\\":\\\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"SAP\\\",\\\"className\\\":\\\"object-contain\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"(max-width: 768px) 140px, 160px\\\",\\\"src\\\":\\\"/testimonials/logos/sapLogo.png\\\"}]}],[\\\"$\\\",\\\"div\\\",\\\"AI Tinkerers\\\",{\\\"className\\\":\\\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"AI Tinkerers\\\",\\\"className\\\":\\\"object-contain\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"(max-width: 768px) 140px, 160px\\\",\\\"src\\\":\\\"/testimonials/logos/ai-tinkerers.png\\\"}]}],[\\\"$\\\",\\\"div\\\",\\\"Cerebral Valley\\\",{\\\"className\\\":\\\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Cerebral Valley\\\",\\\"className\\\":\\\"object-contain\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"(max-width: 768px) 140px, 160px\\\",\\\"src\\\":\\\"/testimonials/logos/cerebral.png\\\"}]}],[\\\"$\\\",\\\"div\\\",\\\"Vetrec\\\",{\\\"className\\\":\\\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\\\",\\\"children\\\":[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Vetrec\\\",\\\"className\\\":\\\"object-contain\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"(max-width: 768px) 140px, 160px\\\",\\\"src\\\":\\\"/testimonials/logos/vetrec.png\\\"}]}]]}]]}]}],[\\\"$\\\",\\\"section\\\",null,{\\\"className\\\":\\\"flex flex-col items-center justify-center gap-5 w-full relative\\\",\\\"id\\\":\\\"features\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"w-full h-full p-8 md:p-14\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"max-w-xl mx-auto flex flex-col items-center justify-center gap-2\\\",\\\"children\\\":[[\\\"$\\\",\\\"h2\\\",null,{\\\"className\\\":\\\"text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance\\\",\\\"children\\\":\\\"Complete Development Workflow\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-muted-foreground text-center text-balance font-medium\\\",\\\"children\\\":\\\"Discover how BAML transforms AI development in four easy steps\\\"}]]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"w-full\\\",\\\"children\\\":[\\\"$\\\",\\\"$L15\\\",null,{\\\"featureItems\\\":[{\\\"content\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"text-base lg:text-lg text-muted-foreground leading-relaxed\\\",\\\"children\\\":[\\\"Yes, Cursor, Claude, already know BAML.\\\",[\\\"$\\\",\\\"br\\\",null,{}],\\\"Yes, we made a whole VSCode extension for BAML.\\\"]}],\\\"id\\\":1,\\\"title\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[\\\"Define your\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"line-through text-destructive/80\\\",\\\"children\\\":\\\"prompts\\\"}],\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"text-secondary\\\",\\\"children\\\":\\\"functions\\\"}]]}],\\\"video\\\":\\\"/define-agents.mp4\\\"},{\\\"content\\\":\\\"Do it in VSCode, or the editor of your choice. Or in CI/CD with baml-cli test\\\",\\\"id\\\":2,\\\"title\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[\\\"Test your\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"line-through text-destructive/80\\\",\\\"children\\\":\\\"prompts\\\"}],\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"text-secondary\\\",\\\"children\\\":\\\"functions\\\"}]]}],\\\"video\\\":\\\"/test-agent.mp4\\\"},{\\\"component\\\":\\\"$L16\\\",\\\"content\\\":\\\"$L17\\\",\\\"id\\\":3,\\\"title\\\":\\\"$L18\\\"},{\\\"component\\\":\\\"$L19\\\",\\\"content\\\":\\\"$L1a\\\",\\\"id\\\":4,\\\"title\\\":\\\"$L1b\\\"}]}]}]]}],\\\"$L1c\\\",\\\"$L1d\\\",\\\"$L1e\\\",\\\"$L1f\\\"]}]]}]\\n\"])</script><script>self.__next_f.push([1,\"20:I[490,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"VSCodeMock\\\",1]\\n21:I[33688,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"SyntaxTypingAnimation\\\",1]\\n22:I[22346,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"WordRotate\\\"]\\n23:I[54142,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1\"])</script><script>self.__next_f.push([1,\"115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"DeploymentStatus\\\"]\\n24:I[92369,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"BentoSection\\\",1]\\n2f:I[97132,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"\\\"]\\n30:I[98417,[\\\"4056\\\",\\\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"9258\\\",\\\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3038\\\",\\\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"1842\\\",\\\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"3839\\\",\\\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\",\\\"8974\\\",\\\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\\\"],\\\"FooterSection\\\",1]\\n\"])</script><script>self.__next_f.push([1,\"16:[\\\"$\\\",\\\"$L20\\\",null,{\\\"className\\\":\\\"w-full\\\",\\\"dark\\\":false,\\\"files\\\":[{\\\"code\\\":\\\"from baml_client import b\\\\n\\\\nresult = b.AnalyzeCodebase(\\\\\\\"\\u003chtml\\u003e...\\u003c/html\\u003e\\\\\\\")\\\\n\\\\nprint(result)\\\\n\\\",\\\"filename\\\":\\\"main.py\\\",\\\"language\\\":\\\"Python\\\"},{\\\"code\\\":\\\"import { b } from \\\\\\\"baml_client\\\\\\\"\\\\n\\\\nconst result = b.AnalyzeCodebase(\\\\\\\"\\u003chtml\\u003e...\\u003c/html\\u003e\\\\\\\")\\\\n\\\\nconsole.log(result)\\\\n\\\",\\\"filename\\\":\\\"main.ts\\\",\\\"language\\\":\\\"TypeScript\\\"},{\\\"code\\\":\\\"require \\\\\\\"baml_client\\\\\\\"\\\\n\\\\nresult = b.AnalyzeCodebase(\\\\\\\"\\u003chtml\\u003e...\\u003c/html\\u003e\\\\\\\")\\\\n\\\\nprint(result)\\\\n\\\",\\\"filename\\\":\\\"main.rb\\\",\\\"language\\\":\\\"Ruby\\\"},{\\\"code\\\":\\\"import \\\\\\\"baml_client\\\\\\\"\\\\n\\\\nresult := b.AnalyzeCodebase(\\\\\\\"\\u003chtml\\u003e...\\u003c/html\\u003e\\\\\\\")\\\\n\\\\nfmt.Println(result)\\\\n\\\",\\\"filename\\\":\\\"main.go\\\",\\\"language\\\":\\\"Go\\\"}],\\\"lineNumbers\\\":true,\\\"showSidebar\\\":false,\\\"showStatusBar\\\":false,\\\"showTerminal\\\":true,\\\"terminalContent\\\":[\\\"$\\\",\\\"$L21\\\",null,{\\\"code\\\":\\\"{\\\\n  \\\\\\\"endpoints\\\\\\\": [\\\\n    \\\\\\\"https://api.example.com/auth/login\\\\\\\",\\\\n    \\\\\\\"https://api.example.com/auth/logout\\\\\\\"\\\\n  ]\\\\n}\\\",\\\"delay\\\":1000,\\\"duration\\\":30}],\\\"terminalHeight\\\":200}]\\n\"])</script><script>self.__next_f.push([1,\"17:[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"pre\\\",null,{\\\"children\\\":\\\"baml-cli generate\\\"}],\\\" \\\",[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex flex-row gap-1 items-center\\\",\\\"children\\\":[\\\"converts BAML functions to native functions in\\\",\\\" \\\",[\\\"$\\\",\\\"$L22\\\",null,{\\\"className\\\":\\\"text-secondary\\\",\\\"words\\\":[\\\"Python\\\",\\\"TypeScript\\\",\\\"Ruby\\\",\\\"Go\\\"]}]]}]]}]\\n18:[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[\\\"Call your\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"line-through text-destructive/80\\\",\\\"children\\\":\\\"prompts\\\"}],\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"text-secondary\\\",\\\"children\\\":\\\"functions\\\"}],\\\" from any programming language you love\\\"]}]\\n19:[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex justify-center p-4\\\",\\\"children\\\":[\\\"$\\\",\\\"$L23\\\",null,{\\\"autoStart\\\":true,\\\"className\\\":\\\"w-full max-w-sm\\\"}]}]\\n1a:[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":\\\"Do nothing special for BAML. Since BAML generates native code in your language of choice, you can use it in any way you want.\\\"}]\\n1b:[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[\\\"Deploy your \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"text-secondary\\\",\\\"children\\\":\\\"Agent\\\"}]]}]\\n1c:[\\\"$\\\",\\\"$L24\\\",null,{}]\\n\"])</script><script>self.__next_f.push([1,\"1d:[\\\"$\\\",\\\"section\\\",null,{\\\"className\\\":\\\"flex flex-col items-center justify-center w-full\\\",\\\"id\\\":\\\"testimonials\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"w-full h-full p-8 md:p-14\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"max-w-xl mx-auto flex flex-col items-center justify-center gap-2\\\",\\\"children\\\":[[\\\"$\\\",\\\"h2\\\",null,{\\\"className\\\":\\\"text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance\\\",\\\"children\\\":\\\"People love BAML\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-muted-foreground text-center text-balance font-medium\\\",\\\"children\\\":\\\"And so do agents\\\"}]]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"h-full\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"px-10\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"relative max-h-[750px] overflow-hidden\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"gap-0 md:columns-2 xl:columns-3\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"0\\\",{\\\"className\\\":\\\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:10s]\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"0\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"1\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"1\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"BAML is amazing. I've used it in Python and Typescript.\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\\\",\\\"children\\\":\\\"It's a game changer.\\\"}]]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Adam Gitzes\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/user1.png\\\",\\\"width\\\":32}],[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Adam Gitzes\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Amazon\\\"}]]}]]}]]}],[\\\"$\\\",\\\"div\\\",\\\"2\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"2\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"Just set up baml for my project, 10/10 experience and\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\\\",\\\"children\\\":\\\"much faster than langchain\\\"}],\\\".\\\"]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Jason Fan\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/jason.png\\\",\\\"width\\\":32}],[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Jason Fan\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Finic.ai\\\"}]]}]]}]]}],[\\\"$\\\",\\\"div\\\",\\\"3\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"3\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":\\\"$L25\\\"}],\\\"$L26\\\"]}]]}],\\\"$L27\\\",\\\"$L28\\\",\\\"$L29\\\"]}],\\\"$L2a\\\",\\\"$L2b\\\"]}],\\\"$L2c\\\",\\\"$L2d\\\"]}]}]}],\\\"$L2e\\\"]}]\\n\"])</script><script>self.__next_f.push([1,\"1e:[\\\"$\\\",\\\"section\\\",null,{\\\"className\\\":\\\"flex flex-col items-center justify-center w-full\\\",\\\"id\\\":\\\"cta\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"w-full\\\",\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"h-[400px] md:h-[400px] overflow-hidden shadow-xl w-full border border-border rounded-xl bg-secondary relative z-20\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Agent CTA Background\\\",\\\"className\\\":\\\"absolute inset-0 w-full h-full object-cover object-right md:object-center\\\",\\\"fill\\\":true,\\\"priority\\\":true,\\\"sizes\\\":\\\"100vw\\\",\\\"src\\\":\\\"/agent-cta-background.png\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"absolute inset-0 -top-32 md:-top-40 flex flex-col items-center justify-center\\\",\\\"children\\\":[[\\\"$\\\",\\\"h1\\\",null,{\\\"className\\\":\\\"text-white text-4xl md:text-7xl font-medium tracking-tighter max-w-xs md:max-w-xl text-center\\\",\\\"children\\\":\\\"Build AI Applications with Confidence\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"absolute bottom-10 flex flex-col items-center justify-center gap-2\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L2f\\\",null,{\\\"className\\\":\\\"bg-white text-black font-semibold text-sm h-10 w-fit px-4 rounded-full flex items-center justify-center shadow-md\\\",\\\"href\\\":\\\"https://calendly.com/boundaryml/meeting-with-founders?back=1\\u0026month=2023-12\\u0026utm_source=marketing-site\\u0026utm_medium=cta-button\\\",\\\"children\\\":\\\"Book a meeting with us\\\"}],[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"text-white text-sm\\\",\\\"children\\\":\\\"Start building type-safe AI applications in minutes\\\"}]]}]]}]]}]}]}]\\n\"])</script><script>self.__next_f.push([1,\"1f:[\\\"$\\\",\\\"$L30\\\",null,{}]\\n\"])</script><script>self.__next_f.push([1,\"25:[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"It's amazing!! Was able to\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\\\",\\\"children\\\":\\\"cut down my tokens and time-to-first-token significantly without compromising results\\\"}],\\\".\\\"]}]\\n26:[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Ray del Vecchio\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/ray.png\\\",\\\"width\\\":32}],[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Ray del Vecchio\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Cerebral Valley\\\"}]]}]]}]\\n27:[\\\"$\\\",\\\"div\\\",\\\"1\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$1d:props:children:1:props:children:props:children:props:children:0:props:children:0:props:children:0:props:children\\\"}]\\n28:[\\\"$\\\",\\\"div\\\",\\\"2\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$1d:props:children:1:props:children:props:children:props:children:0:props:children:0:props:children:0:props:children\\\"}]\\n29:[\\\"$\\\",\\\"div\\\",\\\"3\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$1d:props:children:1:props:children:props:children:props:children:0:props:children:0:props:children:0:props:children\\\"}]\\n\"])</script><script>self.__next_f.push([1,\"2a:[\\\"$\\\",\\\"div\\\",\\\"1\\\",{\\\"className\\\":\\\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:8s]\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"0\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"4\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"4\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\\\",\\\"children\\\":\\\"it just works!!!\\\"}]]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Hankel Bao\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/hankel.png\\\",\\\"width\\\":32}],[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Hankel Bao\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Coldreach.ai\\\"}]]}]]}]]}],[\\\"$\\\",\\\"div\\\",\\\"5\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"5\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"The test case and playground is quite literally the BEST feature. It has\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\\\",\\\"children\\\":\\\"improved the iteration speed and quality by an order of magnitude\\\"}],\\\".\\\"]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Joseph Tutera\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/joseph.png\\\",\\\"width\\\":32}],[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Joseph Tutera\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Docucare AI\\\"}]]}]]}]]}],[\\\"$\\\",\\\"div\\\",\\\"6\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"6\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"I really really like what Baml offers [...] I think it's a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.\\\",[\\\"$\\\",\\\"br\\\",null,{}],\\\"I also think\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\\\",\\\"children\\\":\\\"the dedicated testing playground is awesome.\\\"}]]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[\\\"$L31\\\",\\\"$L32\\\"]}]]}]]}],\\\"$L33\\\",\\\"$L34\\\",\\\"$L35\\\"]}]\\n\"])</script><script>self.__next_f.push([1,\"2b:[\\\"$\\\",\\\"div\\\",\\\"2\\\",{\\\"className\\\":\\\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:12s]\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"0\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",\\\"7\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"7\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.\\\",\\\" \\\",[\\\"$\\\",\\\"span\\\",null,{\\\"className\\\":\\\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\\\",\\\"children\\\":\\\"Clean, elegant, beautiful.\\\"}]]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Paulo Rossi\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/paulo.png\\\",\\\"width\\\":32}],[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Paulo Rossi\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Magnaplay\\\"}]]}]]}]]}],[\\\"$\\\",\\\"div\\\",\\\"8\\\",{\\\"className\\\":\\\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\\\",\\\"id\\\":\\\"8\\\",\\\"children\\\":[[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"select-none leading-relaxed font-normal text-primary/60\\\",\\\"children\\\":[\\\"$\\\",\\\"p\\\",null,{\\\"children\\\":[\\\"Just got the categorizer to work first try.\\\",[\\\"$\\\",\\\"br\\\",null,{}],\\\"Felt like landing a kickflip\\\"]}]}],[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"flex w-full select-none items-center justify-start gap-3.5\\\",\\\"children\\\":[[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Eitan Borgnia\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/eitan.png\\\",\\\"width\\\":32}],[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Eitan Borgnia\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Squack\\\"}]]}]]}]]}]]}],[\\\"$\\\",\\\"div\\\",\\\"1\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$2b:props:children:0:props:children\\\"}],[\\\"$\\\",\\\"div\\\",\\\"2\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$2b:props:children:0:props:children\\\"}],[\\\"$\\\",\\\"div\\\",\\\"3\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$2b:props:children:0:props:children\\\"}]]}]\\n\"])</script><script>self.__next_f.push([1,\"2c:[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"pointer-events-none absolute inset-x-0 bottom-0 h-1/6 md:h-1/5 w-full bg-gradient-to-t from-background from-20%\\\"}]\\n2d:[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"pointer-events-none absolute inset-x-0 top-0 h-1/6 md:h-1/5 w-full bg-gradient-to-b from-background from-20%\\\"}]\\n\"])</script><script>self.__next_f.push([1,\"2e:[\\\"$\\\",\\\"div\\\",null,{\\\"className\\\":\\\"mt-8 flex justify-center\\\",\\\"children\\\":[\\\"$\\\",\\\"a\\\",null,{\\\"href\\\":\\\"https://github.com/BoundaryML/site/issues/new?template=testimonial.yml\\\",\\\"rel\\\":\\\"noopener noreferrer\\\",\\\"target\\\":\\\"_blank\\\",\\\"children\\\":[[\\\"$\\\",\\\"svg\\\",null,{\\\"ref\\\":\\\"$undefined\\\",\\\"xmlns\\\":\\\"http://www.w3.org/2000/svg\\\",\\\"width\\\":24,\\\"height\\\":24,\\\"viewBox\\\":\\\"0 0 24 24\\\",\\\"fill\\\":\\\"none\\\",\\\"stroke\\\":\\\"currentColor\\\",\\\"strokeWidth\\\":2,\\\"strokeLinecap\\\":\\\"round\\\",\\\"strokeLinejoin\\\":\\\"round\\\",\\\"className\\\":\\\"lucide lucide-github h-4 w-4\\\",\\\"aria-hidden\\\":\\\"true\\\",\\\"children\\\":[[\\\"$\\\",\\\"path\\\",\\\"tonef\\\",{\\\"d\\\":\\\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\\\"}],[\\\"$\\\",\\\"path\\\",\\\"9comsn\\\",{\\\"d\\\":\\\"M9 18c-4.51 2-5-2-7-2\\\"}],\\\"$undefined\\\"]}],\\\"Share your story\\\"],\\\"className\\\":\\\"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [\\u0026_svg]:pointer-events-none [\\u0026_svg:not([class*='size-'])]:size-4 shrink-0 [\\u0026_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[\\u003esvg]:px-4 border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground gap-2\\\",\\\"data-slot\\\":\\\"button\\\",\\\"ref\\\":null}]}]\\n\"])</script><script>self.__next_f.push([1,\"31:[\\\"$\\\",\\\"$L14\\\",null,{\\\"alt\\\":\\\"Gabe\\\",\\\"className\\\":\\\"size-8 rounded-full\\\",\\\"height\\\":32,\\\"sizes\\\":\\\"32px\\\",\\\"src\\\":\\\"/testimonials/people/gabe.png\\\",\\\"width\\\":32}]\\n32:[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"font-medium text-primary/90\\\",\\\"children\\\":\\\"Gabe\\\"}],[\\\"$\\\",\\\"p\\\",null,{\\\"className\\\":\\\"text-xs font-normal text-muted-foreground\\\",\\\"children\\\":\\\"Zenfetch\\\"}]]}]\\n33:[\\\"$\\\",\\\"div\\\",\\\"1\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$2a:props:children:0:props:children\\\"}]\\n34:[\\\"$\\\",\\\"div\\\",\\\"2\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$2a:props:children:0:props:children\\\"}]\\n35:[\\\"$\\\",\\\"div\\\",\\\"3\\\",{\\\"className\\\":\\\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\\\",\\\"children\\\":\\\"$2a:props:children:0:props:children\\\"}]\\n\"])</script></body></html>"
  },
  {
    "path": "website/settings.yml",
    "content": "# Landscape2 settings\n#\n# This settings file allows customizing some aspects of the landscape.\n#\n# Reference documentation: https://github.com/cncf/landscape2/blob/main/docs/config/settings.yml\n\nfoundation: Awesome-LLMOps\n\nurl: http://127.0.0.1:8000\n\ncolors:\n  color1: \"rgba(0, 107, 204, 1)\"\n  color2: \"rgba(255, 0, 170, 1)\"\n  color3: \"rgba(96, 149, 214, 1)\"\n  color4: \"rgba(0, 42, 81, 0.7)\"\n  color5: \"rgba(1, 107, 204, 0.7)\"\n  color6: \"rgba(0, 42, 81, 0.7)\"\n  color7: \"rgba(180, 219, 255, 1)\"\n\n# featured_items:\n#   - field: maturity\n#     options:\n#       - value: graduated\n#         order: 1\n#         label: Graduated\n\nfooter:\n  links:\n    github: \"https://github.com/InftyAI/Awesome-LLMOps\"\n    homepage: \"https://github.com/InftyAI/Awesome-LLMOps\"\n  logo: \"https://raw.githubusercontent.com/InftyAI/Awesome-LLMOps/refs/heads/main/website/logos/awesome-llmops-dark.svg\"\n\ngrid_items_size: large\n\ngroups:\n  - name: ALL PROJECTS\n    categories:\n      - GPU\n      - Inference\n      - Orchestration\n      - Runtime\n      - Training\n  - name: GPU\n    categories:\n      - Management\n      - Scheduling\n  - name: Inference\n    categories:\n      - Inference Engine\n      - Inference Platform\n      - AI Gateway\n      - LLM Router\n      - Benchmark\n      - Output\n      - Simulator\n  - name: Orchestration\n    categories:\n      - Workflow\n      - Agent\n      - Tools\n  - name: Runtime\n    categories:\n      - Chatbot\n      - Code Assistant\n      - Database\n      - Development Environment\n      - Evaluation\n      - Observation\n  - name: Training\n    categories:\n      - Framework\n      - FineTune\n      - RLHF\n      - Agentic RL\n      - Benchmark\n      - Workflow\n\nheader:\n  links:\n    github: \"https://github.com/InftyAI/Awesome-LLMOps\"\n  logo: \"https://raw.githubusercontent.com/InftyAI/Awesome-LLMOps/refs/heads/main/website/logos/awesome-llmops-light.svg\"\n\nscreenshot_width: 1500\n"
  }
]