AlsuGibadullina commited on
Commit
4f920cc
·
verified ·
1 Parent(s): 71139d5

Update src/agents.py

Browse files
Files changed (1) hide show
  1. src/agents.py +13 -8
src/agents.py CHANGED
@@ -1,22 +1,22 @@
1
  import time
2
  from dataclasses import dataclass
3
- from typing import Dict, Any, Optional, Callable
4
 
5
  from .backends import LLMBackend, make_backend
6
  from .config import ModelSpec
7
- from .tasks import TaskContext
8
 
9
 
10
  @dataclass
11
  class AgentResult:
12
  role: str
 
13
  model_id: str
14
- backend: str
15
  prompt: str
16
  system: Optional[str]
17
  output: str
18
  elapsed_s: float
19
  params: Dict[str, Any]
 
20
 
21
 
22
  class BaseAgent:
@@ -24,27 +24,32 @@ class BaseAgent:
24
 
25
  def __init__(self, spec: ModelSpec):
26
  self.spec = spec
27
- self.backend: LLMBackend = make_backend(spec.backend, spec.model_id)
28
 
29
- def run(self, prompt: str) -> AgentResult:
30
  t0 = time.time()
31
  params = {
32
  "temperature": self.spec.temperature,
33
  "max_new_tokens": self.spec.max_new_tokens,
34
  "top_p": self.spec.top_p,
35
- "repetition_penalty": self.spec.repetition_penalty,
36
  **(self.spec.extra or {}),
37
  }
38
- out = self.backend.generate(prompt, system=self.spec.system_prompt, params=params)
 
 
 
 
 
39
  return AgentResult(
40
  role=self.role,
 
41
  model_id=self.spec.model_id,
42
- backend=self.spec.backend,
43
  prompt=prompt,
44
  system=self.spec.system_prompt,
45
  output=out,
46
  elapsed_s=time.time() - t0,
47
  params=params,
 
48
  )
49
 
50
 
 
1
  import time
2
  from dataclasses import dataclass
3
+ from typing import Dict, Any, Optional
4
 
5
  from .backends import LLMBackend, make_backend
6
  from .config import ModelSpec
 
7
 
8
 
9
  @dataclass
10
  class AgentResult:
11
  role: str
12
+ provider: str
13
  model_id: str
 
14
  prompt: str
15
  system: Optional[str]
16
  output: str
17
  elapsed_s: float
18
  params: Dict[str, Any]
19
+ used_image: bool
20
 
21
 
22
  class BaseAgent:
 
24
 
25
  def __init__(self, spec: ModelSpec):
26
  self.spec = spec
27
+ self.backend: LLMBackend = make_backend(spec.provider, spec.model_id)
28
 
29
+ def run(self, prompt: str, image_path: Optional[str] = None) -> AgentResult:
30
  t0 = time.time()
31
  params = {
32
  "temperature": self.spec.temperature,
33
  "max_new_tokens": self.spec.max_new_tokens,
34
  "top_p": self.spec.top_p,
 
35
  **(self.spec.extra or {}),
36
  }
37
+ out = self.backend.generate(
38
+ prompt,
39
+ system=self.spec.system_prompt,
40
+ params=params,
41
+ image_path=image_path,
42
+ )
43
  return AgentResult(
44
  role=self.role,
45
+ provider=self.spec.provider,
46
  model_id=self.spec.model_id,
 
47
  prompt=prompt,
48
  system=self.spec.system_prompt,
49
  output=out,
50
  elapsed_s=time.time() - t0,
51
  params=params,
52
+ used_image=bool(image_path),
53
  )
54
 
55