Use vLLM audio URL payloads
This commit is contained in:
@@ -120,14 +120,13 @@ type audioLLMChatMessage struct {
|
||||
}
|
||||
|
||||
type audioLLMContentPart struct {
|
||||
Type string `json:"type"`
|
||||
Text string `json:"text,omitempty"`
|
||||
InputAudio *audioLLMAudio `json:"input_audio,omitempty"`
|
||||
Type string `json:"type"`
|
||||
Text string `json:"text,omitempty"`
|
||||
AudioURL *audioLLMURLRef `json:"audio_url,omitempty"`
|
||||
}
|
||||
|
||||
type audioLLMAudio struct {
|
||||
Data string `json:"data"`
|
||||
Format string `json:"format,omitempty"`
|
||||
type audioLLMURLRef struct {
|
||||
URL string `json:"url"`
|
||||
}
|
||||
|
||||
type audioLLMChatResponse struct {
|
||||
@@ -567,11 +566,8 @@ func (c *Client) transcribeAudioLLM(ctx context.Context, provider ProviderConfig
|
||||
Content: []audioLLMContentPart{
|
||||
{Type: "text", Text: prompt},
|
||||
{
|
||||
Type: "input_audio",
|
||||
InputAudio: &audioLLMAudio{
|
||||
Data: base64.StdEncoding.EncodeToString(audio),
|
||||
Format: audioFormat(filename),
|
||||
},
|
||||
Type: "audio_url",
|
||||
AudioURL: &audioLLMURLRef{URL: audioDataURL(audio, filename)},
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -634,6 +630,10 @@ func audioFormat(filename string) string {
|
||||
}
|
||||
}
|
||||
|
||||
func audioDataURL(audio []byte, filename string) string {
|
||||
return "data:audio/" + audioFormat(filename) + ";base64," + base64.StdEncoding.EncodeToString(audio)
|
||||
}
|
||||
|
||||
func firstNonEmpty(values ...string) string {
|
||||
for _, value := range values {
|
||||
if strings.TrimSpace(value) != "" {
|
||||
|
||||
Reference in New Issue
Block a user