Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ASR ¶
type ASR interface {
// Transcribe sends audio bytes to the ASR model and returns the transcribed text and segments.
Transcribe(ctx context.Context, audioBytes []byte, fileName string) (*TranscriptionResult, error)
GetModelName() string
GetModelID() string
}
ASR defines the interface for Automatic Speech Recognition model operations.
type Config ¶
type Config struct {
Source types.ModelSource
BaseURL string
ModelName string
APIKey string
ModelID string
// Provider is the vendor id stored on the row; empty detects it from
// BaseURL.
Provider string
Spec *types.ModelSpecOverride `json:"spec,omitempty"`
ExtraConfig map[string]string
// CustomHeaders 允许在调用远程 API 时附加自定义 HTTP 请求头(类似 OpenAI Python SDK 的 extra_headers)。
CustomHeaders map[string]string
}
Config holds the configuration needed to create an ASR instance.
func ConfigFromModel ¶
ConfigFromModel 根据 types.Model 构造 asr.Config。 生产路径(从 DB 拉起)和测试连接路径(临时表单)共享这份映射。 当前 ASR 不涉及 WeKnoraCloud 凭证,所以签名不含 appID/appSecret。
type Segment ¶
type Segment struct {
Start float64 `json:"start"`
End float64 `json:"end"`
Text string `json:"text"`
}
Segment represents a transcribed segment with timestamps.
type TranscriptionResult ¶
type TranscriptionResult struct {
Text string `json:"text"`
Segments []Segment `json:"segments,omitempty"`
// Duration is the audio length in seconds when the vendor reports it,
// which several do without segments; 0 when unknown.
Duration float64 `json:"duration,omitempty"`
}
TranscriptionResult holds the full text and its segments.
Click to show internal directories.
Click to hide internal directories.