跳转到内容

快速开始

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

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

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

下面是一个使用 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() {
// set up the OpenAI provider
provider := openai.NewChatProvider(
openai.WithChatOptions(
option.WithAPIKey("YOUR_API_KEY"),
option.WithBaseURL("YOUR_BASE_URL"),
),
)
// create agent
agent, err := blades.NewAgent(
"Blades Agent",
blades.WithModel("YOUR_MODEL"), // or gpt-5, qwen3-max, etc.
blades.WithProvider(provider),
blades.WithInstructions("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),统一调用接口