ling-baseling-base

Agent 框架

生产级 AI Agent 框架,Agent/Runner/Tool/Session/Memory/RAG/FlowCraft

在线 Playground

在浏览器中直接体验本页相关 API,无需本地安装 Go 环境。

Agent 框架 (agentkit)

agentkit 是 ling-base 的 AI Agent 运行时框架(基于 trpc-agent-go 扩展),集成 relay 40+ LLM provider、工具调用、会话持久化、长期记忆、RAG 知识库、状态图执行与 FlowCraft 声明式运行时。

go get github.com/LingByte/ling-base/agentkit

架构

                    ┌─────────────┐
                    │   server    │  OpenAI / A2A / AG-UI HTTP API
                    └──────┬──────┘

                    ┌──────▼──────┐
                    │   runner    │  会话 + 插件编排
                    └──────┬──────┘

         ┌─────────────────┼─────────────────┐
         │                 │                 │
  ┌──────▼──────┐   ┌──────▼──────┐  ┌──────▼──────┐
  │    agent    │   │    graph    │  │  flowcraft  │
  │ llm/chain/  │   │ StateGraph  │  │  YAML 运行时 │
  │ parallel... │   │             │  │             │
  └──────┬──────┘   └──────┬──────┘  └──────┬──────┘
         │                 │                 │
  ┌──────▼─────────────────▼─────────────────▼──────┐
  │ tool │ session │ memory │ knowledge │ skill    │
  │ codeexecutor │ artifact │ plugin │ team        │
  └──────────────────────┬──────────────────────────┘

                  ┌──────▼──────┐
                  │ relaymodel  │ → relay (40+ LLM)
                  └─────────────┘

三条技术栈

适用场景
trpc-agent-goagent + runner + tool + graph通用 LLM Agent、工具调用、多 Agent 协作
FlowCraftflowcraft/core + flowcraft/driver声明式 YAML 部署、多模型路由、沙箱执行
go-agent / UTCPgoagent + adk编程 Agent、子 Agent 目录、UTCP 工具协议

核心接口

接口职责
agent.AgentagentRun(ctx, invocation) <-chan *event.Event
runner.Runnerrunner会话感知执行、插件链、取消/steer
tool.TooltoolAgent 可调用工具
session.Servicesession会话持久化与摘要
memory.Servicememory长期记忆(fact/episode)
knowledge.KnowledgeknowledgeRAG 语义检索
graph.StateGraphgraphLangGraph 风格状态图
compat.Modelrelaymodel对接 ling-base/relay

快速开始

package main

import (
    "context"
    "fmt"

    "github.com/LingByte/ling-base/agentkit/agent/llmagent"
    "github.com/LingByte/ling-base/agentkit/runner"
    "github.com/LingByte/ling-base/agentkit/relaymodel"
    "github.com/LingByte/ling-base/agentkit/session/inmemory"
    compat "github.com/LingByte/ling-base/relay/compat"
)

func main() {
    model := relaymodel.New("gpt-4o",
        relaymodel.WithChannel(relaymodel.ChannelOpenAI),
        relaymodel.WithAPIKey("sk-xxx"),
    )

    ag, _ := llmagent.New("assistant",
        llmagent.WithModel(model),
        llmagent.WithInstruction("你是一个有帮助的助手。"),
    )

    sess := inmemory.NewSessionService()
    r := runner.NewRunner("myapp", ag, runner.WithSessionService(sess))

    events, err := r.Run(context.Background(), "user-1", "session-1",
        compat.NewUserMessage("北京今天天气怎么样?"))
    if err != nil {
        panic(err)
    }
    for ev := range events {
        fmt.Println(ev)
    }
}

模块导航

其他子包

文档
storage底层 DB/向量/S3 客户端(knowledge/memory 后端使用)
prompt模板渲染 + Langfuse 远程 prompt

与 ling-agent 的关系

独立仓库 ling-agent 基于 agentkit 构建开箱即用的 Agent 应用;agentkit 本身是可嵌入的框架库

On this page