字节跳动开源基于 Golang 的大模型应用开发框架 Eino
5 min read
字节跳动今日宣布,经过半年多的内部使用和迭代,基于 Golang 的大模型应用综合开发框架 —— Eino
,已在 CloudWeGo 正式开源。
快速认识 Eino
Eino 基于明确的组件定义,提供强大的流程编排能力,覆盖开发全流程,旨在帮助开发者以最快的速度实现最有深度的大模型应用。
你是否曾有这种感受:想要为自己的应用添加大模型的能力,但面对这个较新的领域,不知如何入手;想持续的站在研究的最前沿,应用最新的业界成果,但使用的应用开发框架却已经数月没有更新;想看懂项目里的用 Python 写的代码,想确定一个变量或者参数的类型,需要反复查看上下文。
Eino 的独特优势
基于大语言模型的软件应用正处于快速发展阶段,新技术、新思路、新实践不断涌现。一个优秀的大模型应用开发框架,既需要封装领域内”不变”的通用核心要素,又需要基于最新进展敏捷的横向和纵向扩展。
目前较为主流的框架如 LangChain
,LlamaIndex
等,都基于 Python,虽然能借助 Python 较为丰富的生态快速实现多样的功能,但是同时也继承了 Python 作为动态语言所带来的”弱类型检验”和”长期维护成本高”等问题。在大模型应用快速进入大规模线上运行阶段的当下,基于 Golang 这一强类型语言而实现的高可靠性和高可维护性,逐渐具有更大的价值。
基于大模型的应用开发是相对较新的领域,有时需要摸着石头过河,靠实践来检验认知。依托字节跳动高频应用豆包、抖音等的多样场景、快速迭代和海量反馈,Eino 在实践驱动设计方面有独特的优势。
内核稳定
- 提供稳定的组件定义:每类组件作为一个 interface,有完善、稳定的定义
- 支持通用基座能力:包括流式编程能力、Callback 能力、option 扩展能力
- 提供固定的数据流转和流程编排范式:Chain(链式有向无环图)、Graph(有向图或有向无环图)、Workflow(有字段映射能力的有向无环图)
敏捷扩展
- 支持组件横向扩展:如 ChatModel 可扩展支持 OpenAI、Gemini、Claude 等实现
- 支持 Lambda 类型:可将自定义 function 声明为 Lambda 类型参与编排
- 提供特定编排范式:如 ReAct Agent、Host Multi-Agent 等最佳实践封装
高可靠易维护
- 强类型系统:充分利用 Golang 的强类型特性进行类型检查
- 模块化设计:核心库和组件实现是单独的 go module,依赖最小化
- 清晰的分层设计:每层职责明确、功能内聚
工具生态
- 提供链路追踪、调试、可视化三大辅助工具
- 内置 tracing callback,集成 Langfuse 平台
- 支持 IDE 插件和 UI 拖拽式开发
项目开源地址:
更多文章
一文读懂 DeepSeek R1:强化学习如何重塑大语言模型推理能力?
Let's Encrypt 将在2025年推出6天有效期证书和IP地址证书支持
主流开源AI Agent框架对比与选型(langgraph, AutoGen, MetaGPT, ChatDev, Swarm, uagents)
Microsoft TRELLIS 教程 - 开源文生3D、图生3D模型部署指南
VLC 自动字幕和翻译(基于本地离线开源AI模型)|CES 2025
STAR: 基于文本到视频模型的实际场景视频超分辨率技术
CES 2025 | 英伟达(NVIDIA) RTX 5090 震撼曝光 32GB GDDR7 显存开启显卡新纪元
CES 2024 回顾:重温2024科技盛典精彩时刻
LangChain Open Canvas:OpenAI Canvas 的自托管替代方案