freeplay 0.3.14__tar.gz → 0.3.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {freeplay-0.3.14 → freeplay-0.3.15}/PKG-INFO +1 -1
- {freeplay-0.3.14 → freeplay-0.3.15}/pyproject.toml +1 -1
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/__init__.py +2 -1
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/resources/recordings.py +20 -2
- {freeplay-0.3.14 → freeplay-0.3.15}/LICENSE +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/README.md +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/api_support.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/errors.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/freeplay.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/freeplay_cli.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/llm_parameters.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/model.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/py.typed +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/resources/__init__.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/resources/customer_feedback.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/resources/prompts.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/resources/sessions.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/resources/test_cases.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/resources/test_runs.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/support.py +0 -0
- {freeplay-0.3.14 → freeplay-0.3.15}/src/freeplay/utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
from .freeplay import Freeplay
|
2
2
|
from .resources.prompts import PromptInfo
|
3
|
-
from .resources.recordings import CallInfo, ResponseInfo, RecordPayload, TestRunInfo
|
3
|
+
from .resources.recordings import CallInfo, ResponseInfo, RecordPayload, TestRunInfo, UsageTokens
|
4
4
|
from .resources.sessions import SessionInfo, TraceInfo
|
5
5
|
|
6
6
|
__all__ = [
|
@@ -12,4 +12,5 @@ __all__ = [
|
|
12
12
|
'SessionInfo',
|
13
13
|
'TestRunInfo',
|
14
14
|
'TraceInfo',
|
15
|
+
'UsageTokens',
|
15
16
|
]
|
@@ -17,6 +17,12 @@ from freeplay.support import CallSupport
|
|
17
17
|
logger = logging.getLogger(__name__)
|
18
18
|
|
19
19
|
|
20
|
+
@dataclass
|
21
|
+
class UsageTokens:
|
22
|
+
prompt_tokens: int
|
23
|
+
completion_tokens: int
|
24
|
+
|
25
|
+
|
20
26
|
@dataclass
|
21
27
|
class CallInfo:
|
22
28
|
provider: str
|
@@ -25,9 +31,15 @@ class CallInfo:
|
|
25
31
|
end_time: float
|
26
32
|
model_parameters: LLMParameters
|
27
33
|
provider_info: Optional[Dict[str, Any]] = None
|
34
|
+
usage: Optional[UsageTokens] = None
|
28
35
|
|
29
36
|
@staticmethod
|
30
|
-
def from_prompt_info(
|
37
|
+
def from_prompt_info(
|
38
|
+
prompt_info: PromptInfo,
|
39
|
+
start_time: float,
|
40
|
+
end_time: float,
|
41
|
+
usage: Optional[UsageTokens] = None
|
42
|
+
) -> 'CallInfo':
|
31
43
|
return CallInfo(
|
32
44
|
provider=prompt_info.provider,
|
33
45
|
model=prompt_info.model,
|
@@ -35,6 +47,7 @@ class CallInfo:
|
|
35
47
|
end_time=end_time,
|
36
48
|
model_parameters=prompt_info.model_parameters,
|
37
49
|
provider_info=prompt_info.provider_info,
|
50
|
+
usage=usage
|
38
51
|
)
|
39
52
|
|
40
53
|
|
@@ -138,6 +151,12 @@ class Recordings:
|
|
138
151
|
"trace_id": record_payload.trace_info.trace_id
|
139
152
|
}
|
140
153
|
|
154
|
+
if record_payload.call_info.usage is not None:
|
155
|
+
record_api_payload['call_info']['usage'] = {
|
156
|
+
"prompt_tokens": record_payload.call_info.usage.prompt_tokens,
|
157
|
+
"completion_tokens": record_payload.call_info.usage.completion_tokens,
|
158
|
+
}
|
159
|
+
|
141
160
|
try:
|
142
161
|
recorded_response = api_support.post_raw(
|
143
162
|
api_key=self.call_support.freeplay_api_key,
|
@@ -163,7 +182,6 @@ class Recordings:
|
|
163
182
|
|
164
183
|
raise FreeplayError(message) from e
|
165
184
|
|
166
|
-
|
167
185
|
def update(self, record_update_payload: RecordUpdatePayload) -> RecordResponse: # type: ignore
|
168
186
|
record_update_api_payload: Dict[str, Any] = {
|
169
187
|
"new_messages": record_update_payload.new_messages,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|