跳转到内容

快速开始

Blades 是一个基于 Go 语言的多模态 AI Agent 框架,支持自定义模型、工具、记忆、中间件等,适用于多轮对话、链式推理和结构化输出场景。

确保你已安装 Go 1.24+,然后通过以下命令初始化你的项目并引入 Blades:

Terminal window
cd your-project-name
go mod init your-project-name
go get github.com/go-kratos/blades

前置条件

运行前需要配置模型侧的环境变量(不同 ModelProvider 变量名可能不同,关键是确保 API Key 与 Base URL 可用):

  • OPENAI_BASE_URL
  • OPENAI_API_KEY
  • OPENAI_MODEL

下面是一个使用 OpenAI 模型构建简单聊天 Agent 的完整示例:

package main
import (
"context"
"log"
"github.com/go-kratos/blades"
"github.com/go-kratos/blades/contrib/openai"
"github.com/openai/openai-go/v2/option"
)
func main() {
// Configure OpenAI API key and base URL using environment variables:
model := openai.NewModel(os.Getenv("OPENAI_MODEL"), openai.Config{
APIKey: os.Getenv("OPENAI_API_KEY"),
})
agent, err := blades.NewAgent(
"Blades Agent",
blades.WithModel(model),
blades.WithInstruction("You are a helpful assistant that provides detailed and accurate information."),
)
if err != nil {
log.Fatal(err)
}
// Create a new input message
input := blades.UserMessage("What is the capital of France?") // Create a new input message
// Run the agent
runner := blades.NewRunner(agent)
result, err := runner.Run(context.Background(), input)
if err != nil {
log.Fatal(err)
}
log.Println(result.Text())
}

如果你要更换其他提供商的API,则需要设置环境变量,例如:

export OPENAI_BASE_URL=https://api.deepseek.com

需要设置环境变量 OPENAI_API_KEY,例如:

export OPENAI_API_KEY=your-api-key
提供商模型兼容
OpenAIChatGPT, gpt-5, gpt-4, etc…qwen3-mqx、deepseek-chat
ClaudeClaude 3.7 Sonnet-
GeminiGemini 2.5 Pro-
组件说明
Agent智能体接口,用于整合与协调模型、工具和记忆等多种功能智能体
Tool外部能力插件(如调用 API、查数据库)
Memory会话记忆管理,支持多轮上下文
Middleware中间件机制,用于日志、限流、鉴权等横切关注点
ModelProvider模型适配器(如 OpenAI、DeepSeek),统一调用接口