Browse Source

fix: fixed hash cache logic error in ReferenceLoader (#1057)

Xudong Huang 9 months ago
parent
commit
7c10e1f381
1 changed files with 4 additions and 2 deletions
  1. 4 2
      fish_speech/inference_engine/reference_loader.py

+ 4 - 2
fish_speech/inference_engine/reference_loader.py

@@ -95,11 +95,13 @@ class ReferenceLoader:
                     )
                 )
                 prompt_texts.append(ref.text)
-                self.ref_by_hash[audio_hashes[i]] = (prompt_tokens, prompt_texts)
+                self.ref_by_hash[audio_hashes[i]] = (prompt_tokens[-1], ref.text)
 
             else:
                 # Reuse already encoded references
-                prompt_tokens, prompt_texts = self.ref_by_hash[audio_hashes[i]]
+                cached_token, cached_text = self.ref_by_hash[audio_hashes[i]]
+                prompt_tokens.append(cached_token)
+                prompt_texts.append(cached_text)
                 cache_used = True
 
         if cache_used: