jeuko commited on
Commit
afe6ab0
·
verified ·
1 Parent(s): cc034ee

Sync from GitHub (main)

Browse files
Files changed (1) hide show
  1. src/sentinel/llm_service.py +14 -4
src/sentinel/llm_service.py CHANGED
@@ -38,12 +38,20 @@ def extract_thinking(text: str) -> tuple[str | None, str]:
38
  return None, text
39
 
40
 
41
- def get_llm(provider: str, model: str | None = None, **kwargs):
 
 
 
 
 
 
42
  """Return a chat model for the given provider.
43
 
44
  Args:
45
  provider: Provider key, e.g. "openai", "google", or "local".
46
  model: Optional model name.
 
 
47
  **kwargs: Additional model-specific keyword arguments.
48
 
49
  Returns:
@@ -53,15 +61,17 @@ def get_llm(provider: str, model: str | None = None, **kwargs):
53
  ValueError: If a required API key is missing, or provider is unknown.
54
  """
55
  if provider == "local":
56
- return ChatOllama(model=model, **kwargs)
57
  if provider == "google":
58
  if not os.getenv("GOOGLE_API_KEY"):
59
  raise ValueError("GOOGLE_API_KEY environment variable not set")
60
- return ChatGoogleGenerativeAI(model=model, **kwargs)
 
 
61
  if provider == "openai":
62
  if not os.getenv("OPENAI_API_KEY"):
63
  raise ValueError("OPENAI_API_KEY environment variable not set")
64
- return ChatOpenAI(model=model, **kwargs)
65
  raise ValueError(f"Unknown provider: {provider}")
66
 
67
 
 
38
  return None, text
39
 
40
 
41
+ def get_llm(
42
+ provider: str,
43
+ model: str | None = None,
44
+ temperature: float = 0.0,
45
+ top_p: float = 0.2,
46
+ **kwargs,
47
+ ) -> ChatGoogleGenerativeAI | ChatOllama | ChatOpenAI:
48
  """Return a chat model for the given provider.
49
 
50
  Args:
51
  provider: Provider key, e.g. "openai", "google", or "local".
52
  model: Optional model name.
53
+ temperature: Temperature for the model.
54
+ top_p: Top p for the model.
55
  **kwargs: Additional model-specific keyword arguments.
56
 
57
  Returns:
 
61
  ValueError: If a required API key is missing, or provider is unknown.
62
  """
63
  if provider == "local":
64
+ return ChatOllama(model=model, temperature=temperature, top_p=top_p, **kwargs)
65
  if provider == "google":
66
  if not os.getenv("GOOGLE_API_KEY"):
67
  raise ValueError("GOOGLE_API_KEY environment variable not set")
68
+ return ChatGoogleGenerativeAI(
69
+ model=model, temperature=temperature, top_p=top_p, **kwargs
70
+ )
71
  if provider == "openai":
72
  if not os.getenv("OPENAI_API_KEY"):
73
  raise ValueError("OPENAI_API_KEY environment variable not set")
74
+ return ChatOpenAI(model=model, temperature=temperature, top_p=top_p, **kwargs)
75
  raise ValueError(f"Unknown provider: {provider}")
76
 
77