liumaolin commited on
Commit
2baeba2
·
1 Parent(s): b319d19

简化LLM模型路径管理。

Browse files
src/voice_dialogue/config/llm_config.py CHANGED
@@ -3,8 +3,17 @@
3
  from typing import Dict, Any
4
 
5
  from voice_dialogue.utils.apple_silicon import get_optimal_llama_cpp_config, get_apple_silicon_info
 
 
 
 
 
 
 
 
 
6
 
7
- __all__ = ('get_llm_model_params', 'get_apple_silicon_summary', 'CHINESE_SYSTEM_PROMPT', 'ENGLISH_SYSTEM_PROMPT')
8
 
9
  CHINESE_SYSTEM_PROMPT = (
10
  "你是AI助手。请以自然流畅的中文口语化表达直接回答问题,避免冗余的思考过程。"
 
3
  from typing import Dict, Any
4
 
5
  from voice_dialogue.utils.apple_silicon import get_optimal_llama_cpp_config, get_apple_silicon_info
6
+ from .paths import LLM_MODELS_PATH
7
+
8
+ __all__ = (
9
+ 'get_llm_model_params',
10
+ 'get_apple_silicon_summary',
11
+ 'CHINESE_SYSTEM_PROMPT',
12
+ 'ENGLISH_SYSTEM_PROMPT',
13
+ 'BUILTIN_LLM_MODEL_PATH',
14
+ )
15
 
16
+ BUILTIN_LLM_MODEL_PATH = LLM_MODELS_PATH / 'qwen' / 'Qwen3-8B-Q6_K.gguf'
17
 
18
  CHINESE_SYSTEM_PROMPT = (
19
  "你是AI助手。请以自然流畅的中文口语化表达直接回答问题,避免冗余的思考过程。"
src/voice_dialogue/services/text/generator.py CHANGED
@@ -6,8 +6,7 @@ from queue import Queue, Empty
6
  from langchain.memory import ConversationBufferWindowMemory
7
  from langchain_core.chat_history import InMemoryChatMessageHistory
8
 
9
- from voice_dialogue.config import paths
10
- from voice_dialogue.config.llm_config import get_llm_model_params, get_apple_silicon_summary
11
  from voice_dialogue.config.user_config import get_prompt
12
  from voice_dialogue.core.base import BaseThread
13
  from voice_dialogue.core.constants import chat_history_cache
@@ -203,7 +202,6 @@ class LLMResponseGenerator(BaseThread, TaskStatusMixin):
203
  self._send_sentence_to_queue(voice_task, sentence, answer_index)
204
 
205
  def run(self):
206
- model_path = paths.LLM_MODELS_PATH / 'qwen' / 'Qwen3-8B-Q6_K.gguf'
207
 
208
  model_params = get_llm_model_params()
209
 
@@ -216,7 +214,7 @@ class LLMResponseGenerator(BaseThread, TaskStatusMixin):
216
  logger.info(f"配置说明: {chip_summary['config_note']}")
217
 
218
  self.model_instance = create_langchain_chat_llamacpp_instance(
219
- local_model_path=model_path, model_params=model_params
220
  )
221
  # 使用默认中文 prompt 进行 warmup
222
  prompt = get_prompt("zh")
 
6
  from langchain.memory import ConversationBufferWindowMemory
7
  from langchain_core.chat_history import InMemoryChatMessageHistory
8
 
9
+ from voice_dialogue.config.llm_config import get_llm_model_params, get_apple_silicon_summary, BUILTIN_LLM_MODEL_PATH
 
10
  from voice_dialogue.config.user_config import get_prompt
11
  from voice_dialogue.core.base import BaseThread
12
  from voice_dialogue.core.constants import chat_history_cache
 
202
  self._send_sentence_to_queue(voice_task, sentence, answer_index)
203
 
204
  def run(self):
 
205
 
206
  model_params = get_llm_model_params()
207
 
 
214
  logger.info(f"配置说明: {chip_summary['config_note']}")
215
 
216
  self.model_instance = create_langchain_chat_llamacpp_instance(
217
+ local_model_path=BUILTIN_LLM_MODEL_PATH, model_params=model_params
218
  )
219
  # 使用默认中文 prompt 进行 warmup
220
  prompt = get_prompt("zh")
tests/test_llm_dialogue.py CHANGED
@@ -12,8 +12,7 @@ lib_path = HERE / "src"
12
  if lib_path.exists() and lib_path.as_posix() not in sys.path:
13
  sys.path.insert(0, lib_path.as_posix())
14
 
15
- from voice_dialogue.config import paths
16
- from voice_dialogue.config.llm_config import get_llm_model_params
17
  from voice_dialogue.services.text.processor import create_langchain_pipeline
18
 
19
  CHINESE_SYSTEM_PROMPT = (
@@ -44,8 +43,7 @@ class TestLLMDialogue(unittest.TestCase):
44
  model_params = get_llm_model_params()
45
  self.history_store = {}
46
 
47
- model_path = paths.LLM_MODELS_PATH / 'qwen' / 'Qwen3-8B-Q6_K.gguf'
48
- self.langchain_instance = ChatLlamaCpp(model_path=model_path.as_posix(), **model_params)
49
 
50
  pipeline = create_langchain_pipeline(
51
  self.langchain_instance,
 
12
  if lib_path.exists() and lib_path.as_posix() not in sys.path:
13
  sys.path.insert(0, lib_path.as_posix())
14
 
15
+ from voice_dialogue.config.llm_config import get_llm_model_params, BUILTIN_LLM_MODEL_PATH
 
16
  from voice_dialogue.services.text.processor import create_langchain_pipeline
17
 
18
  CHINESE_SYSTEM_PROMPT = (
 
43
  model_params = get_llm_model_params()
44
  self.history_store = {}
45
 
46
+ self.langchain_instance = ChatLlamaCpp(model_path=BUILTIN_LLM_MODEL_PATH.as_posix(), **model_params)
 
47
 
48
  pipeline = create_langchain_pipeline(
49
  self.langchain_instance,