go : add SetInitialPrompt method to bindings (#1753)

pull/1763/head
Boris Bliznioukov 2024-01-12 14:44:50 +03:00 committed by GitHub
parent fbcb52d3cd
commit 5cb345f5e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 11 deletions

View File

@ -123,6 +123,11 @@ func (p *Params) SetAudioCtx(n int) {
p.audio_ctx = C.int(n) p.audio_ctx = C.int(n)
} }
// Set initial prompt
func (p *Params) SetInitialPrompt(prompt string) {
p.initial_prompt = C.CString(prompt)
}
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// PRIVATE METHODS // PRIVATE METHODS
@ -147,6 +152,7 @@ func (p *Params) String() string {
str += fmt.Sprintf(" offset_ms=%d", p.offset_ms) str += fmt.Sprintf(" offset_ms=%d", p.offset_ms)
str += fmt.Sprintf(" duration_ms=%d", p.duration_ms) str += fmt.Sprintf(" duration_ms=%d", p.duration_ms)
str += fmt.Sprintf(" audio_ctx=%d", p.audio_ctx) str += fmt.Sprintf(" audio_ctx=%d", p.audio_ctx)
str += fmt.Sprintf(" initial_prompt=%s", C.GoString(p.initial_prompt))
if p.translate { if p.translate {
str += " translate" str += " translate"
} }

View File

@ -130,6 +130,11 @@ func (context *context) SetAudioCtx(n uint) {
context.params.SetAudioCtx(int(n)) context.params.SetAudioCtx(int(n))
} }
// Set initial prompt
func (context *context) SetInitialPrompt(prompt string) {
context.params.SetInitialPrompt(prompt)
}
// ResetTimings resets the mode timings. Should be called before processing // ResetTimings resets the mode timings. Should be called before processing
func (context *context) ResetTimings() { func (context *context) ResetTimings() {
context.model.ctx.Whisper_reset_timings() context.model.ctx.Whisper_reset_timings()

View File

@ -49,6 +49,7 @@ type Context interface {
SetTokenTimestamps(bool) // Set token timestamps flag SetTokenTimestamps(bool) // Set token timestamps flag
SetMaxTokensPerSegment(uint) // Set max tokens per segment (0 = no limit) SetMaxTokensPerSegment(uint) // Set max tokens per segment (0 = no limit)
SetAudioCtx(uint) // Set audio encoder context SetAudioCtx(uint) // Set audio encoder context
SetInitialPrompt(prompt string) // Set initial prompt
// Process mono audio data and return any errors. // Process mono audio data and return any errors.
// If defined, newly generated segments are passed to the // If defined, newly generated segments are passed to the