Package: @effect/ai
Module: LanguageModel
The service interface for language model operations.
Defines the contract that all language model implementations must fulfill, providing text generation, structured output, and streaming capabilities.
Signature
export interface Service {
/**
* Generate text using the language model.
*/
readonly generateText: <
Options extends NoExcessProperties<GenerateTextOptions<any>, Options>,
Tools extends Record<string, Tool.Any> = {}
>(options: Options & GenerateTextOptions<Tools>) => Effect.Effect<
GenerateTextResponse<Tools>,
ExtractError<Options>,
ExtractContext<Options>
>
/**
* Generate a structured object from a schema using the language model.
*/
readonly generateObject: <
A,
I extends Record<string, unknown>,
R,
Options extends NoExcessProperties<GenerateObjectOptions<any, A, I, R>, Options>,
Tools extends Record<string, Tool.Any> = {}
>(options: Options & GenerateObjectOptions<Tools, A, I, R>) => Effect.Effect<
GenerateObjectResponse<Tools, A>,
ExtractError<Options>,
R | ExtractContext<Options>
>
/**
* Generate text using the language model with streaming output.
*/
readonly streamText: <
Options extends NoExcessProperties<GenerateTextOptions<any>, Options>,
Tools extends Record<string, Tool.Any> = {}
>(options: Options & GenerateTextOptions<Tools>) => Stream.Stream<
Response.StreamPart<Tools>,
ExtractError<Options>,
ExtractContext<Options>
>
}
Since v1.0.0