Package org.apache.flink.model.openai
Class AbstractOpenAIModelFunction
- java.lang.Object
-
- org.apache.flink.table.functions.UserDefinedFunction
-
- org.apache.flink.table.functions.AsyncTableFunction<org.apache.flink.table.data.RowData>
-
- org.apache.flink.table.functions.AsyncPredictFunction
-
- org.apache.flink.model.openai.AbstractOpenAIModelFunction
-
- All Implemented Interfaces:
Serializable,org.apache.flink.table.functions.FunctionDefinition
- Direct Known Subclasses:
OpenAIChatModelFunction,OpenAIEmbeddingModelFunction
public abstract class AbstractOpenAIModelFunction extends org.apache.flink.table.functions.AsyncPredictFunctionAbstract parent class forAsyncPredictFunctions for OpenAI API.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractOpenAIModelFunction.ErrorHandlingStrategyStrategy for handling errors during model requests.protected static classAbstractOpenAIModelFunction.ErrorMessageMetadataMetadata that can be read from the output row about error messages.static classAbstractOpenAIModelFunction.RetryFallbackStrategyThe fallback strategy for when retry attempts are exhausted.
-
Field Summary
Fields Modifier and Type Field Description protected com.openai.client.OpenAIClientAsyncclientprotected List<String>outputColumnNames
-
Constructor Summary
Constructors Constructor Description AbstractOpenAIModelFunction(org.apache.flink.table.factories.ModelProviderFactory.Context factoryContext, org.apache.flink.configuration.ReadableConfig config)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description CompletableFuture<Collection<org.apache.flink.table.data.RowData>>asyncPredict(org.apache.flink.table.data.RowData rowData)protected abstract CompletableFuture<Collection<org.apache.flink.table.data.RowData>>asyncPredictInternal(String input)voidclose()protected abstract StringgetEndpointSuffix()protected Collection<org.apache.flink.table.data.RowData>handleErrorsAndRespond(Throwable t)voidopen(org.apache.flink.table.functions.FunctionContext context)protected voidvalidateSingleColumnSchema(org.apache.flink.table.catalog.ResolvedSchema schema, org.apache.flink.table.types.logical.LogicalType expectedType, String inputOrOutput)-
Methods inherited from class org.apache.flink.table.functions.AsyncTableFunction
getKind, getTypeInference
-
Methods inherited from class org.apache.flink.table.functions.UserDefinedFunction
functionIdentifier, toString
-
-
-
-
Method Detail
-
open
public void open(org.apache.flink.table.functions.FunctionContext context) throws Exception- Overrides:
openin classorg.apache.flink.table.functions.UserDefinedFunction- Throws:
Exception
-
asyncPredict
public CompletableFuture<Collection<org.apache.flink.table.data.RowData>> asyncPredict(org.apache.flink.table.data.RowData rowData)
- Specified by:
asyncPredictin classorg.apache.flink.table.functions.AsyncPredictFunction
-
close
public void close() throws Exception- Overrides:
closein classorg.apache.flink.table.functions.UserDefinedFunction- Throws:
Exception
-
getEndpointSuffix
protected abstract String getEndpointSuffix()
-
asyncPredictInternal
protected abstract CompletableFuture<Collection<org.apache.flink.table.data.RowData>> asyncPredictInternal(String input)
-
validateSingleColumnSchema
protected void validateSingleColumnSchema(org.apache.flink.table.catalog.ResolvedSchema schema, org.apache.flink.table.types.logical.LogicalType expectedType, String inputOrOutput)
-
handleErrorsAndRespond
protected Collection<org.apache.flink.table.data.RowData> handleErrorsAndRespond(Throwable t)
-
-