BAML logo

BAML

認領

BAML 是一款供開發者打造 AI 應用的工具,強調型別安全與可靠性。它協助團隊定義結構化 AI 輸出、測試提示詞,並產生 Python、TypeScript、Ruby、Go 等語言的原生程式碼。

BAML preview

具有型別化結構與產生程式碼的 AI 開發工具

BAML 是一款供開發者打造 AI 應用的工具,強調型別安全與可靠性。它以 schema-first 語言來定義 AI 提示詞與結構化輸出,然後為 Python、TypeScript、Ruby 和 Go 等應用程式語言產生原生程式碼。

網站將 BAML 定位為一套完整的 AI 開發工作流程:定義提示詞與函式、在編輯器或 CI/CD 管線中測試它們、根據相同定義產生程式碼,並將結果以一般應用程式碼的形式部署。此產品也包含可在瀏覽器中編輯與執行 BAML 程式的 playground,以及供個人開發者、團隊與企業使用的分級方案。

核心能力

基於 Schema 的 AI 介面

在 BAML schemas 中定義 AI 提示詞與結構化輸出,然後在目標語言中產生原生程式碼。網站展示了 TypeScript 型別產生,以及可編譯為 Python、TypeScript、Ruby 和 Go 的範例。

測試與驗證工作流程

在部署前驗證輸出並測試提示詞。首頁強調 schema 驗證、CI/CD 測試、自動重試,以及針對失敗請求的備援回應。

互動式 playground

使用瀏覽器 playground 或以編輯器為基礎的工作流程來編輯與執行 BAML 程式。playground 頁面展示了工作區、檔案總管、提示詞編輯器與測試案例執行器。

多供應商 LLM 支援

將 BAML 連接到不同的 LLM 供應商與用戶端設定。playground 範例包含 OpenAI 與 Anthropic 用戶端,而首頁則表示 BAML 可與任何 LLM 供應商搭配使用。

開發者工具

在開發工作流程中使用 CLI 與編輯器擴充功能。定價頁明確將 CLI 與編輯器擴充功能存取納入付費方案,而首頁則提到 VS Code 與 `baml-cli` 指令。

原生部署相容性

可在一般應用程式環境中部署產生的程式碼,不需要 BAML 的特殊執行階段需求。首頁表示 BAML 會產生可用於多雲部署目標的原生程式碼,例如 AWS Lambda、Vercel、Google Cloud、Azure Functions 和 Railway。

常見使用情境

  • 型別化輸出產生

    當你想定義結構化 AI 輸出,並從相同來源產生型別時,可使用 BAML,讓下游程式碼能依賴可預測的結構,而不是解析臨時文字。

  • 提示詞迭代與測試

    使用瀏覽器 playground 來迭代提示詞、檢視 BAML 檔案,並在將相同定義移入其餘程式碼庫之前先執行測試案例。

  • 自動化回歸檢查

    在 CI/CD 管線中使用 BAML,以驗證提示詞與 agent 輸出在變更後是否仍如預期運作。

  • 應用程式整合

    在需要與 Python、TypeScript、Ruby 或 Go 直接整合的應用程式堆疊中,使用產生的特定語言程式碼。

  • 團隊 AI 開發

    當你的團隊需要共享的開發、協作與私有 schemas 工作流程,而不是各自獨立的提示詞腳本時,可使用 BAML。

Pros and Cons

Pros

  • 將提示詞定義、schema 驗證、測試與程式碼產生整合在單一工作流程中。
  • 在多種程式語言中產生原生函式,而不需要額外的執行階段抽象層。
  • 顯示對不同使用情境的支援,包括本地編輯、瀏覽器型 playground 作業,以及 CI/CD 測試。
  • 提供免費方案、付費團隊方案與企業方案,讓產品在承諾前容易評估。
  • 提供保守的可靠性功能,例如驗證、重試與備援回應。

Cons

  • 公開頁面未提供逐步的設定說明,因為連結的入門文件頁面回傳 404。
  • 某些整合細節僅出現在範例中,因此可支援的供應商與環境在呈現上比文件中的實作細節更廣泛。
  • 企業與支援功能列於定價頁,但公開來源未深入說明技術限制或部署前提。

FAQ

BAML 提供哪些定價方案?

BAML 提供個人開發者的免費方案、開發團隊的 Team 方案,以及適用於有客製需求大型組織的 Enterprise 方案。定價頁也顯示付費方案有 14 天免費試用。

團隊在實務上如何使用 BAML?

網站展示了在瀏覽器型 playground 中執行 BAML,並在付費方案中描述 CLI 與編輯器擴充功能的存取。首頁也提到可用於 VS Code 與 CI/CD 工作流程。

BAML 支援哪些語言與模型供應商?

BAML 設計用來根據 BAML schemas 與 functions 產生 Python、TypeScript、Ruby 和 Go 等語言的原生函式。首頁也表示它可與任何 LLM 供應商搭配使用。

典型的 BAML 工作流程是什麼樣子?

playground 頁面展示了在單一 BAML 檔案中定義 LLM 用戶端、結構化輸出型別、函式提示詞與測試案例。首頁也強調在部署前進行 schema 驗證與測試提示詞或函式。

BAML 有團隊與企業支援選項嗎?

定價頁列出可升級或降級方案、創業與教育折扣,以及企業支援選項,例如客製合約與帳戶管理。來源頁面未提供上線導入的具體實作細節。

Quick Facts

類別
開發者工具
產品類型
AI 應用程式開發工具
主要使用者
打造 AI 應用的開發者
來源網域
boundaryml.com
定價模式
免費方案、Team 方案、Enterprise 方案
工作流程
定義 schemas、測試提示詞、產生原生程式碼、正常部署