Skip to content

Commit c2aa409

Browse files
docs(eino): sync docs from feishu 2026-03-09 (#1518)
1 parent e4884cf commit c2aa409

File tree

76 files changed

+296
-309
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+296
-309
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Description: ""
33
date: "2026-03-02"
44
lastmod: ""
55
tags: []
6-
title: 'Eino: Cookbook'
6+
title: Cookbook
77
weight: 3
88
---
99

content/en/docs/eino/FAQ.md

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -142,15 +142,12 @@ According to the previous community announcement plan [Migration from OpenAPI 3.
142142

143143
For errors like undefined: schema.NewParamsOneOfByOpenAPIV3 in some eino-ext modules, upgrade the error-reporting eino-ext module to the latest version.
144144

145-
If schema transformation is complex, you can use the tool methods in the [JSONSchema Conversion Methods](https://bytedance.larkoffice.com/wiki/ZMaawoQC4iIjNykzahwc6YOknXf) document to assist with conversion.
145+
If schema transformation is complex, you can use existing OpenAPI 3.0 → JSONSchema conversion tools to assist with conversion.
146146

147147
# Q: Which models provided by Eino-ext ChatModel support Response API format calls?
148148

149149
- Currently in Eino-Ext, only ARK's Chat Model can create ResponsesAPI ChatModel through **NewResponsesAPIChatModel**. Other models currently do not support ResponsesAPI creation and usage.
150-
- In Eino-byted-ext, only bytedgpt supports creating Response API through **NewResponsesAPIChatModel**. Other chatmodels have not implemented Response API Client.
151-
- Version components/model/gemini/v0.1.16 already supports thought_signature passback. Check if the gemini version meets requirements. If using bytedgemini (code.byted.org/flow/eino-byted-ext/components/model/bytedgemini) chatmodel implementation, check if its dependent components/model/gemini is the latest version, or directly use go get to upgrade gemini.
152-
- Replace the currently used bytedgpt package with the implementation from [code.byted.org/flow/eino-byted-ext/components/model/bytedgemini](http://code.byted.org/flow/eino-byted-ext/components/model/bytedgemini) and upgrade to the latest version. Refer to example code to confirm how to pass BaseURL.
153-
- If you encounter this error, confirm whether the base url filled in when generating chat model is the chat completion URL or the ResponseAPI URL. In most cases, the Response API Base URL was incorrectly passed.
150+
- If you encounter this error, confirm whether the base URL you used to create the chat model is the Chat Completions URL or the Responses API URL. In most cases, an incorrect Responses API base URL was passed.
154151

155152
# Q: How to troubleshoot ChatModel call errors? For example, [NodeRunError] failed to create chat completion: error, status code: 400, status: 400 Bad Request.
156153

@@ -175,35 +172,3 @@ Use the `GraphCompileCallback` mechanism to export the topology structure during
175172
- For obtaining intermediate structures in Flow/React Agent scenarios, refer to the document [Eino: ReAct Agent Manual](/docs/eino/core_modules/flow_integration_components/react_agent_manual)
176173

177174
# Q: Gemini model error missing a `thought_signature`
178-
179-
Gemini model protocol is not openai-compatible. Use the gemini wrapper [https://github.com/cloudwego/eino-ext/tree/main/components/model/gemini](https://github.com/cloudwego/eino-ext/tree/main/components/model/gemini). If using ModelHub platform models, use the internal gemini wrapper [https://code.byted.org/flow/eino-byted-ext/tree/master/components/model/bytedgemini](https://code.byted.org/flow/eino-byted-ext/tree/master/components/model/bytedgemini). Initialization reference code:
180-
181-
```
182-
cm, err := bytedgemini.NewChatModel(ctx, &bytedgemini.Config{
183-
ClientConfig: genai.ClientConfig{
184-
APIKey: apiKey,
185-
Backend: genai.BackendGeminiAPI,
186-
// uncomment if you want to print the actual request in CURL format
187-
// HTTPClient: &http.Client{Transport: NewCurlLogger(http.DefaultTransport, log.Printf)},
188-
HTTPOptions: genai.HTTPOptions{
189-
// this is base URL for cn, other regions:
190-
// - sg: gpt-i18n.byteintl.net
191-
// - sg from office network: genai-sg-og.tiktok-row.org
192-
// - va: search-va.byteintl.net
193-
// - va from office network: genai-va-og.tiktok-row.org
194-
// - Non-TT: gpt-i18n.bd.byteintl.net
195-
// - US-TTP: gpt.tiktokd.net
196-
// - EU-TTP, GCP: gpt.tiktoke.org
197-
// - JP: gpt-jp.byteintl.net
198-
// see also: https://bytedance.larkoffice.com/wiki/wikcnUPXCY2idGyg2AXKPvay4pd
199-
BaseURL: "https://search.bytedance.net/gpt/openapi/online/multimodal/crawl/google/",
200-
APIVersion: "v1",
201-
},
202-
},
203-
Model: modelName,
204-
ThinkingConfig: &genai.ThinkingConfig{
205-
IncludeThoughts: true,
206-
ThinkingBudget: nil,
207-
},
208-
})
209-
```

content/en/docs/eino/core_modules/components/chat_model_guide.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,9 +336,9 @@ result, err := runnable.Invoke(ctx, messages, compose.WithCallbacks(helper))
336336

337337
## **Existing Implementations**
338338

339-
1. OpenAI ChatModel: Using OpenAI's GPT series models [ChatModel - OpenAI](https://bytedance.larkoffice.com/wiki/NguEw85n6iJjShkVtdQcHpydnld)
340-
2. Ollama ChatModel: Using Ollama local models [ChatModel - Ollama](https://bytedance.larkoffice.com/wiki/WWngw1XMViwgyYkNuZgcjZnxnke)
341-
3. ARK ChatModel: Using ARK platform model services [ChatModel - ARK](https://bytedance.larkoffice.com/wiki/WUzzwaX8ricGwZk1i1mcJHHNnEl)
339+
1. OpenAI ChatModel: Using OpenAI's GPT series models [ChatModel - OpenAI](https://github.com/cloudwego/eino-ext/blob/main/components/model/openai/README.md)
340+
2. Ollama ChatModel: Using Ollama local models [ChatModel - Ollama](https://github.com/cloudwego/eino-ext/blob/main/components/model/ollama/README.md)
341+
3. ARK ChatModel: Using ARK platform model services [ChatModel - ARK](https://github.com/cloudwego/eino-ext/blob/main/components/model/ark/README.md)
342342
4. More: [Eino ChatModel](https://www.cloudwego.io/docs/eino/ecosystem_integration/chat_model/)
343343

344344
## Implementation Reference

content/en/docs/eino/ecosystem_integration/_index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ weight: 6
1111

1212
### ChatModel
1313

14-
- openai: [ChatModel - OpenAI](https://bytedance.larkoffice.com/wiki/NguEw85n6iJjShkVtdQcHpydnld)
15-
- ark: [ChatModel - ARK](https://bytedance.larkoffice.com/wiki/WUzzwaX8ricGwZk1i1mcJHHNnEl)
16-
- ollama: [ChatModel - Ollama](https://bytedance.larkoffice.com/wiki/WWngw1XMViwgyYkNuZgcjZnxnke)
14+
- openai: [ChatModel - OpenAI](https://github.com/cloudwego/eino-ext/blob/main/components/model/openai/README.md)
15+
- ark: [ChatModel - ARK](https://github.com/cloudwego/eino-ext/blob/main/components/model/ark/README.md)
16+
- ollama: [ChatModel - Ollama](https://github.com/cloudwego/eino-ext/blob/main/components/model/ollama/README.md)
1717

1818
### Document
1919

content/en/docs/eino/overview/_index.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -344,13 +344,6 @@ The Eino framework consists of several parts:
344344
- [Eino](https://github.com/cloudwego/eino): Contains type definitions, stream data processing mechanisms, component abstraction definitions, orchestration functionality, callback mechanisms, etc.
345345
- [EinoExt](https://github.com/cloudwego/eino-ext): Component implementations, callback handler implementations, component usage examples, and various tools such as evaluators, prompt optimizers, etc.
346346

347-
> 💡
348-
> For components used internally at ByteDance, there are corresponding internal code repositories:
349-
>
350-
> EinoBytedExt: [https://code.byted.org/flow/eino-byted-ext](https://code.byted.org/flow/eino-byted-ext)
351-
>
352-
> Contains component implementations currently positioned for internal use, such as llmgateway, bytedgpt, fornax tracing, bytees, etc.
353-
354347
- [Eino Devops](https://github.com/cloudwego/eino-ext/tree/main/devops): Visual development, visual debugging, etc.
355348
- [EinoExamples](https://github.com/cloudwego/eino-examples): A code repository containing example applications and best practices.
356349

content/en/docs/eino/quick_start/simple_llm_application.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ chatModel, err := openai.NewChatModel(ctx, &openai.ChatModelConfig{
120120
})
121121
```
122122

123-
> For detailed information about OpenAI ChatModel, see: [ChatModel - OpenAI](https://bytedance.larkoffice.com/wiki/NguEw85n6iJjShkVtdQcHpydnld)
123+
> For detailed information about OpenAI ChatModel, see: [ChatModel - OpenAI](https://github.com/cloudwego/eino-ext/blob/main/components/model/openai/README.md)
124124
125125
#### **Ollama (choose either this or OpenAI above)**
126126

@@ -140,7 +140,7 @@ chatModel, err := ollama.NewChatModel(ctx, &ollama.ChatModelConfig{
140140
})
141141
```
142142

143-
> For Ollama related information, see: [ChatModel - Ollama](https://bytedance.larkoffice.com/wiki/WWngw1XMViwgyYkNuZgcjZnxnke)
143+
> For detailed information about Ollama ChatModel, see: [ChatModel - Ollama](https://github.com/cloudwego/eino-ext/blob/main/components/model/ollama/README.md)
144144
145145
Eino provides a unified ChatModel abstraction for large models and offers ready-to-use implementations of various LLMs. Therefore, business code can focus on writing business logic without worrying about model implementation details. When model implementations are updated, they won't affect core business logic, meaning developers can easily switch between different models without modifying large amounts of code.
146146

content/en/docs/eino/release_notes_and_migration/Eino_v0.8._-adk_middlewares/Eino_v0.8_Breaking_Changes.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
---
22
Description: ""
3-
date: "2026-03-02"
3+
date: "2026-03-10"
44
lastmod: ""
55
tags: []
66
title: Eino v0.8 Breaking Changes
77
weight: 1
88
---
99

10-
> This document records all breaking changes in the `v0.8.0.Beta` branch compared to the `main` branch.
11-
1210
## 1. API Breaking Changes
1311

1412
### 1.1 filesystem Shell Interface Renamed
1513

16-
**Location**: `adk/filesystem/backend.go` **Change Description**: Shell-related interfaces have been renamed and no longer embed the `Backend` interface. **Before (main)**:
14+
**Location**: `adk/filesystem/backend.go` **Change Description**: Shell-related interfaces have been renamed and no longer embed the `Backend` interface. **Before (v0.7.x)**:
1715

1816
```go
1917
type ShellBackend interface {
@@ -27,7 +25,7 @@ type StreamingShellBackend interface {
2725
}
2826
```
2927

30-
**After (v0.8.0.Beta)**:
28+
**After (v0.8.0)**:
3129

3230
```go
3331
type Shell interface {
@@ -64,11 +62,11 @@ func (s *MyShell) Execute(...) {...}
6462

6563
### 2.1 AgentEvent Sending Mechanism Change
6664

67-
**Location**: `adk/chatmodel.go` **Change Description**: `ChatModelAgent`'s `AgentEvent` sending mechanism changed from eino callback mechanism to Middleware mechanism. **Before (main)**:
65+
**Location**: `adk/chatmodel.go` **Change Description**: `ChatModelAgent`'s `AgentEvent` sending mechanism changed from eino callback mechanism to Middleware mechanism. **Before (v0.7.x)**:
6866

6967
- `AgentEvent` was sent through eino's callback mechanism
7068
- If users customized ChatModel or Tool Decorator/Wrapper, and the original ChatModel/Tool had embedded Callback points, `AgentEvent` would be sent **inside** the Decorator/Wrapper
71-
- This applied to all ChatModels implemented in eino-ext, but may not apply to most user-implemented Tools and Tools provided by eino **After (v0.8.0.Beta)**:
69+
- This applied to all ChatModels implemented in eino-ext, but may not apply to most user-implemented Tools and Tools provided by eino **After (v0.8.0)**:
7270
- `AgentEvent` is sent through Middleware mechanism
7371
- `AgentEvent` is sent **outside** user-customized Decorator/Wrapper **Impact**:
7472
- Under normal circumstances, users won't notice this change
@@ -99,7 +97,7 @@ func (m *MyMiddleware) WrapModel(ctx context.Context, chatModel model.BaseChatMo
9997

10098
### 2.2 filesystem.ReadRequest.Offset Semantic Change
10199

102-
**Location**: `adk/filesystem/backend.go` **Change Description**: `Offset` field changed from 0-based to 1-based. **Before (main)**:
100+
**Location**: `adk/filesystem/backend.go` **Change Description**: `Offset` field changed from 0-based to 1-based. **Before (v0.7.x)**:
103101

104102
```go
105103
type ReadRequest struct {
@@ -110,7 +108,7 @@ type ReadRequest struct {
110108
}
111109
```
112110

113-
**After (v0.8.0.Beta)**:
111+
**After (v0.8.0)**:
114112

115113
```go
116114
type ReadRequest struct {
@@ -140,7 +138,7 @@ req := &ReadRequest{Offset: 1, Limit: 100}
140138

141139
### 2.3 filesystem.FileInfo.Path Semantic Change
142140

143-
**Location**: `adk/filesystem/backend.go` **Change Description**: `FileInfo.Path` field is no longer guaranteed to be an absolute path. **Before (main)**:
141+
**Location**: `adk/filesystem/backend.go` **Change Description**: `FileInfo.Path` field is no longer guaranteed to be an absolute path. **Before (v0.7.x)**:
144142

145143
```go
146144
type FileInfo struct {
@@ -149,7 +147,7 @@ type FileInfo struct {
149147
}
150148
```
151149

152-
**After (v0.8.0.Beta)**:
150+
**After (v0.8.0)**:
153151

154152
```go
155153
type FileInfo struct {
@@ -169,14 +167,14 @@ type FileInfo struct {
169167

170168
### 2.4 filesystem.WriteRequest Behavior Change
171169

172-
**Location**: `adk/filesystem/backend.go` **Change Description**: `WriteRequest` write behavior changed from "error if file exists" to "overwrite if file exists". **Before (main)**:
170+
**Location**: `adk/filesystem/backend.go` **Change Description**: `WriteRequest` write behavior changed from "error if file exists" to "overwrite if file exists". **Before (v0.7.x)**:
173171

174172
```go
175173
// WriteRequest comment:
176174
// The file will be created if it does not exist, or error if file exists.
177175
```
178176

179-
**After (v0.8.0.Beta)**:
177+
**After (v0.8.0)**:
180178

181179
```go
182180
// WriteRequest comment:
@@ -193,14 +191,14 @@ type FileInfo struct {
193191

194192
### 2.5 GrepRequest.Pattern Semantic Change
195193

196-
**Location**: `adk/filesystem/backend.go` **Change Description**: `GrepRequest.Pattern` changed from literal matching to regular expression matching. **Before (main)**:
194+
**Location**: `adk/filesystem/backend.go` **Change Description**: `GrepRequest.Pattern` changed from literal matching to regular expression matching. **Before (v0.7.x)**:
197195

198196
```go
199197
// Pattern is the literal string to search for. This is not a regular expression.
200198
// The search performs an exact substring match within the file's content.
201199
```
202200

203-
**After (v0.8.0.Beta)**:
201+
**After (v0.8.0)**:
204202

205203
```go
206204
// Pattern is the search pattern, supports full regular expression syntax.

content/en/docs/eino/release_notes_and_migration/v02_second_release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ weight: 2
7474
7575
### BugFix
7676

77-
- Fixed the SSTI vulnerability in the Jinja chat template [langchaingo has gonja template injection vulnerability](https://bytedance.larkoffice.com/docx/UvqxdlFfSoTIr1xtsQ5cIZTVn2b)
77+
- Fixed the SSTI vulnerability in the Jinja chat templatelangchaingo gonja template injection
7878

7979
## v0.2.0
8080

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Description: ""
33
date: "2026-03-02"
44
lastmod: ""
55
tags: []
6-
title: 'Eino: Cookbook'
6+
title: Cookbook
77
weight: 3
88
---
99

content/zh/docs/eino/FAQ.md

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,12 @@ eino-ext 支持的多模态输入输出场景,可以查阅 [https://www.cloudw
142142

143143
eino-ext 部分 module 报错 undefined: schema.NewParamsOneOfByOpenAPIV3 等问题,升级报错的 eino-ext module 到最新版本即可。
144144

145-
如果 schema 改造比较复杂,可以使用 [JSONSchema 转换方法](https://bytedance.larkoffice.com/wiki/ZMaawoQC4iIjNykzahwc6YOknXf)文档中的工具方法辅助转换
145+
如果 schema 改造比较复杂,可以使用现有的 OpenAPI 3.0 → JSONSchema 转换工具方法辅助转换
146146

147147
# Q: Eino-ext 提供的 ChatModel 有哪些模型是支持 Response API 形式调用嘛?
148148

149149
- Eino-Ext 中目前只有 ARK 的 Chat Model 可通过 **NewResponsesAPIChatModel **创建 ResponsesAPI ChatModel,其他模型目前不支持 ResponsesAPI 的创建与使用,
150-
- Eino-byted-ext 中 只有 bytedgpt 支持创建 Response API 通过 **NewResponsesAPIChatModel 创建, **其他 chatmodel 没有实现 Response API Client
151-
- 版本 components/model/gemini/v0.1.16 已经支持 thought_signature 回传,检查 gemini 版本是否符合,如果使用的是 bytedgemini (code.byted.org/flow/eino-byted-ext/components/model/bytedgemini) 的 chatmodel 实现,请检查其依赖的 components/model/gemini 是否为最新版本,或者直接 go get 升级 gemini - 将目前使用的 bytedgpt 的包换成使用 [code.byted.org/flow/eino-byted-ext/components/model/bytedgemini](http://code.byted.org/flow/eino-byted-ext/components/model/bytedgemini) 这个包的实现,并升级到最新版本,查看示例代码 确认 BaseURL 如何传递 。 - 遇到这个报错请确认咱们生成 chat model 是填写的 base url 是 chat completion 的 URL 还是 ResponseAPI 的 URL,绝大多数场景是错误传递了 Response API 的 Base URL
150+
- 遇到这个报错请确认咱们生成 chat model 是填写的 base url 是 chat completion 的 URL 还是 ResponseAPI 的 URL,绝大多数场景是错误传递了 Response API 的 Base URL
152151

153152
# Q: 如何排查 ChatModel 调用报错?比如[NodeRunError] failed to create chat completion: error, status code: 400, status: 400 Bad Request。
154153

@@ -173,35 +172,3 @@ ChatModel 产生的 Tool Call 中,Argument 字段是 string。Eino 框架在
173172
- Flow/React Agent 场景下获取中间结构参考文档 [Eino: ReAct Agent 使用手册](/zh/docs/eino/core_modules/flow_integration_components/react_agent_manual)
174173

175174
# Q: Gemini 模型报错 missing a `thought_signature`
176-
177-
Gemini 模型协议不是 openai-compatible,应使用 gemini 封装 [https://github.com/cloudwego/eino-ext/tree/main/components/model/gemini](https://github.com/cloudwego/eino-ext/tree/main/components/model/gemini), 如果使用 ModelHub 平台的模型,使用内场 gemini 封装 [https://code.byted.org/flow/eino-byted-ext/tree/master/components/model/bytedgemini](https://code.byted.org/flow/eino-byted-ext/tree/master/components/model/bytedgemini),初始化参考代码:
178-
179-
```
180-
cm, err := bytedgemini.NewChatModel(ctx, &bytedgemini.Config{
181-
ClientConfig: genai.ClientConfig{
182-
APIKey: apiKey,
183-
Backend: genai.BackendGeminiAPI,
184-
// uncomment if you want to print the actual request in CURL format
185-
// HTTPClient: &http.Client{Transport: NewCurlLogger(http.DefaultTransport, log.Printf)},
186-
HTTPOptions: genai.HTTPOptions{
187-
// this is base URL for cn, other regions:
188-
// - sg: gpt-i18n.byteintl.net
189-
// - sg from office network: genai-sg-og.tiktok-row.org
190-
// - va: search-va.byteintl.net
191-
// - va from office network: genai-va-og.tiktok-row.org
192-
// - Non-TT: gpt-i18n.bd.byteintl.net
193-
// - US-TTP: gpt.tiktokd.net
194-
// - EU-TTP, GCP: gpt.tiktoke.org
195-
// - JP: gpt-jp.byteintl.net
196-
// see also: https://bytedance.larkoffice.com/wiki/wikcnUPXCY2idGyg2AXKPvay4pd
197-
BaseURL: "https://search.bytedance.net/gpt/openapi/online/multimodal/crawl/google/",
198-
APIVersion: "v1",
199-
},
200-
},
201-
Model: modelName,
202-
ThinkingConfig: &genai.ThinkingConfig{
203-
IncludeThoughts: true,
204-
ThinkingBudget: nil,
205-
},
206-
})
207-
```

0 commit comments

Comments
 (0)