Skip to content

Commit d377599

Browse files
[FLINK-38581][model] Model Function supports error handling strategy
1 parent 874b837 commit d377599

File tree

10 files changed

+955
-176
lines changed

10 files changed

+955
-176
lines changed

docs/content.zh/docs/connectors/models/openai.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,57 @@ FROM ML_PREDICT(
157157
</ul>
158158
</td>
159159
</tr>
160+
<tr>
161+
<td>
162+
<h5>error-handling-strategy</h5>
163+
</td>
164+
<td>可选</td>
165+
<td style="word-wrap: break-word;">retry</td>
166+
<td>Enum</td>
167+
<td>处理模型请求期间错误的策略。支持的策略:
168+
<ul>
169+
<li><code>retry</code>: 重试发送请求。重试行为受 retry-num、retry-fallback-strategy、retry-backoff-strategy 和 retry-backoff-base-interval 限制。</li>
170+
<li><code>failover</code>: 抛出异常并使 Flink 作业失败。</li>
171+
<li><code>ignore</code>: 忽略导致错误的输入并继续。错误本身将记录在日志中。</li>
172+
</ul>
173+
</td>
174+
</tr>
175+
<tr>
176+
<td>
177+
<h5>retry-num</h5>
178+
</td>
179+
<td>可选</td>
180+
<td style="word-wrap: break-word;">100</td>
181+
<td>Integer</td>
182+
<td>OpenAI 客户端请求的重试次数。</td>
183+
</tr>
184+
<tr>
185+
<td>
186+
<h5>retry-fallback-strategy</h5>
187+
</td>
188+
<td>可选</td>
189+
<td style="word-wrap: break-word;">failover</td>
190+
<td>Enum</td>
191+
<td>如果重试次数用尽,则采用的回退策略。当 error-handling-strategy 设置为 retry 时应用此策略。</td>
192+
</tr>
193+
<tr>
194+
<td>
195+
<h5>retry-backoff-strategy</h5>
196+
</td>
197+
<td>可选</td>
198+
<td style="word-wrap: break-word;">fixed</td>
199+
<td>String</td>
200+
<td>用于计算下一次重试间隔的策略。支持的策略有:<code>fixed</code>、<code>exponential</code>。</td>
201+
</tr>
202+
<tr>
203+
<td>
204+
<h5>retry-backoff-base-interval</h5>
205+
</td>
206+
<td>可选</td>
207+
<td style="word-wrap: break-word;">1s</td>
208+
<td>Duration</td>
209+
<td>重试退避的基础时间间隔。该值用作第一次重试前的初始延迟,以及计算后续重试延迟的基础值。</td>
210+
</tr>
160211
</tbody>
161212
</table>
162213

docs/content/docs/connectors/models/openai.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,57 @@ FROM ML_PREDICT(
157157
</ul>
158158
</td>
159159
</tr>
160+
<tr>
161+
<td>
162+
<h5>error-handling-strategy</h5>
163+
</td>
164+
<td>optional</td>
165+
<td style="word-wrap: break-word;">retry</td>
166+
<td>Enum</td>
167+
<td>Strategy for handling errors during model requests. Supported strategies:
168+
<ul>
169+
<li><code>retry</code>: Retry sending the request. The retrying behavior is limited by retry-num, retry-fallback-strategy, retry-backoff-strategy and retry-backoff-base-interval.</li>
170+
<li><code>failover</code>: Throw exceptions and fail the Flink job.</li>
171+
<li><code>ignore</code>: Ignore the input that caused the error and continue. The error itself would be recorded in log.</li>
172+
</ul>
173+
</td>
174+
</tr>
175+
<tr>
176+
<td>
177+
<h5>retry-num</h5>
178+
</td>
179+
<td>optional</td>
180+
<td style="word-wrap: break-word;">100</td>
181+
<td>Integer</td>
182+
<td>Number of retry for OpenAI client requests.</td>
183+
</tr>
184+
<tr>
185+
<td>
186+
<h5>retry-fallback-strategy</h5>
187+
</td>
188+
<td>optional</td>
189+
<td style="word-wrap: break-word;">failover</td>
190+
<td>Enum</td>
191+
<td>Fallback strategy to employ if the retry attempts are exhausted. This strategy is applied when error-handling-strategy is set to retry.</td>
192+
</tr>
193+
<tr>
194+
<td>
195+
<h5>retry-backoff-strategy</h5>
196+
</td>
197+
<td>optional</td>
198+
<td style="word-wrap: break-word;">fixed</td>
199+
<td>String</td>
200+
<td>The strategy to use for retry backoff. Supported strategies are: <code>fixed</code>, <code>exponential</code>.</td>
201+
</tr>
202+
<tr>
203+
<td>
204+
<h5>retry-backoff-base-interval</h5>
205+
</td>
206+
<td>optional</td>
207+
<td style="word-wrap: break-word;">1s</td>
208+
<td>Duration</td>
209+
<td>The base interval for retry backoff. This value is used as the initial delay before the first retry and as the base for calculating subsequent retry delays.</td>
210+
</tr>
160211
</tbody>
161212
</table>
162213

flink-models/flink-model-openai/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,12 @@ under the License.
127127
<version>${project.version}</version>
128128
<scope>test</scope>
129129
</dependency>
130+
<dependency>
131+
<groupId>org.apache.flink</groupId>
132+
<artifactId>flink-test-utils-junit</artifactId>
133+
<version>${project.version}</version>
134+
<scope>test</scope>
135+
</dependency>
130136
</dependencies>
131137

132138
<repositories>

0 commit comments

Comments
 (0)