跳到主要内容

EdgeInference API 参考

EdgeInference 包含主要模型 engine 和共享推理类型。

LLMEngine

@MainActor
public final class LLMEngine: ObservableObject

LLMEngine 加载文本生成模型并流式生成文本。

属性

属性类型描述
stateEngineState当前 engine 状态。
loadedConfigModelConfig?可用时记录的已注册模型 元数据。
downloadProgressDouble01 的下载或加载进度。
lastPolicyInferencePolicy.Resolved?上一次高层策略摘要。
lastMetricsInferenceMetrics?上一次完成生成的指标。
memoryPolicyKVCacheMemoryPolicy?自动 KV cache 管理策略。
promptCachePromptCacheManager对话缓存管理器。

方法

方法描述
init()创建 engine。
load(config:onProgress:)预览元数据 hook。原生默认构建不在这里下载远程模型;请用 EdgeModelKit 准备本地目录,再调用 loadLocal(directory:)
loadLocal(directory:onProgress:)加载本地模型目录。
loadLocal(directory:options:onProgress:)使用 runtime options 加载本地模型目录,例如 memoryIntent
generate(messages:tools:onToolCall:parameters:bypassPolicy:)流式返回 GenerateChunk 值。
generateStream(messages:parameters:)generate(messages:parameters:) 的便捷 stream wrapper。
generateOnce(messages:parameters:)返回累积后的单个字符串。
clearPromptCache()清理对话缓存。
unload()释放已加载模型。

VLMEngine

@MainActor
public final class VLMEngine: ObservableObject

VLMEngine 加载视觉语言模型,并从图像加文本输入流式生成文本。

属性

属性类型描述
stateEngineState当前 engine 状态。
downloadProgressDouble下载或加载进度。
lastPolicyInferencePolicy.Resolved?上一次高层策略摘要。
lastMetricsInferenceMetrics?上一次完成生成的指标。
memoryPolicyKVCacheMemoryPolicy?自动 KV cache 管理策略。
promptCachePromptCacheManager对话缓存管理器。
visionOffloadedBool预览运行时是否正在使用节省内存的视觉路径。

方法

方法描述
init()创建 engine。
loadLocal(directory:onProgress:)加载本地 VLM 目录。
load(config:onProgress:)预览元数据 hook。原生默认构建不在这里下载远程 VLM;请先准备本地目录,再调用 loadLocal(directory:)
generate(messages:images:tools:onToolCall:parameters:)从 URL 图像流式生成文本。
generate(messages:ciImages:tools:onToolCall:parameters:)从内存中的 CIImage 值流式生成文本。
generateStream(messages:images:parameters:)对 URL-image generation 的便捷 stream wrapper。
unload()释放已加载模型。

TTSEngine

@MainActor
public final class TTSEngine: ObservableObject

TTSEngine 加载文字转语音模型并返回 PCM 音频。

属性

属性类型描述
stateEngineState当前 engine 状态。
downloadProgressDouble加载进度。
availableSpeakers[String]已加载模型暴露的说话人。
ttsModelTypeString模型类型字符串。
sampleRateInt输出采样率。

方法

方法描述
init()创建 engine。
loadLocal(directory:onProgress:)加载本地 TTS 模型。
speak(_:voice:)生成单个 AudioResult
generate(text:speaker:instruct:language:temperature:topK:maxTokens:)使用显式参数生成。
speakStream(_:voice:instruct:streamingInterval:)流式返回 TTSEvent 值。
unload()取消活跃流并释放模型。
unloadAsync()等待活跃流清理完成后释放模型。

STTEngine

@MainActor
public final class STTEngine

当启用语音运行时时,STTEngine 是原生语音转文字预览 engine。

方法描述
loadLocal(directory:)加载本地 ASR 模型。
transcribe(audioURL:language:maxTokens:temperature:)转写音频文件。
transcribe(samples:sampleRate:language:)转写 PCM 采样。
transcribeStream(audioURL:language:)流式返回 STTStreamEvent 值。

EdgeRuntime

@MainActor
public final class EdgeRuntime

EdgeRuntime 检测本地模型类别,并返回 AnyEngine wrapper。

方法描述
loadLocal(directory:)检测模型类型并加载匹配的 engine。
loadRecommendedModel()为当前设备加载推荐 LLM。
load(_:)按 model ID 加载已注册 LLM。

AnyEngine

public struct AnyEngine
属性类型描述
categoryModelCategory检测到的模型类别。
llmLLMEngine?category == .llm 时的 LLM engine。
vlmVLMEngine?category == .vlm 时的 VLM engine。
ttsTTSEngine?category == .tts 时的 TTS engine。
sttSTTEngine?category == .stt 时的 STT engine。

支持类型

类型描述
EngineState.idle.loading.ready.generating
GenerateChunktext 的流式文本分片。
ChatMessage角色和内容对,带 .system.user.assistant.tool helper。
EdgeGenerateParameters生成参数,例如 temperature、top-p 和 max tokens。
ModelConfig已注册模型元数据和查找 helper。
ModelCategory.llm.vlm.tts.stt
EdgeMemoryIntent产品级 memory intent:.balanced.longSession.exactRecall.batteryFriendly
NativeRuntimeLoadOptions原生 runtime 低层 options。除非在做实测实验,通常只设置 memoryIntent
InferenceMetricsTTFT、decode TPS、token 数、内存变化和缓存摘要。
AudioResultPCM 采样和采样率。
AudioChunkResult流式音频分片。
TTSEvent.progress.audioChunk.audio
TranscriptionResult语音转文字输出和指标。