fmtr.tools 1.0.53__py3-none-any.whl → 1.0.54__py3-none-any.whl

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.

Potentially problematic release.


This version of fmtr.tools might be problematic. Click here for more details.

@@ -1,7 +1,7 @@
1
1
  import pydantic_ai
2
- from pydantic_ai import RunContext, ModelRetry
3
- from pydantic_ai.agent import AgentRunResult
4
- from pydantic_ai.messages import ModelRequest, SystemPromptPart, ToolCallPart, RetryPromptPart, ModelResponse, ToolReturnPart, UserPromptPart
2
+ from pydantic_ai import RunContext
3
+ from pydantic_ai.agent import AgentRunResult, Agent
4
+ from pydantic_ai.messages import ModelRequest, RetryPromptPart
5
5
  from pydantic_ai.models.openai import OpenAIModel
6
6
  from pydantic_ai.providers.openai import OpenAIProvider
7
7
 
@@ -10,16 +10,6 @@ from fmtr.tools.config import ToolsConfig
10
10
 
11
11
  pydantic_ai.Agent.instrument_all()
12
12
 
13
- class Agent(pydantic_ai.Agent):
14
- """
15
-
16
- Agent stub
17
-
18
- TODO base class is marked `@final`, so is it safe to subclass?
19
-
20
- """
21
-
22
-
23
13
  class Task:
24
14
  """
25
15
 
@@ -28,10 +18,15 @@ class Task:
28
18
  """
29
19
 
30
20
  PROVIDER = OpenAIProvider(api_key=env.get(ToolsConfig.FMTR_OPENAI_API_KEY_KEY))
21
+
22
+ API_HOST_FMTR = env.get(ToolsConfig.FMTR_AI_HOST_KEY, ToolsConfig.FMTR_AI_HOST_DEFAULT)
23
+ API_URL_FMTR = f'https://{API_HOST_FMTR}/v1'
24
+ PROVIDER_FMTR = OpenAIProvider(base_url=API_URL_FMTR)
25
+
31
26
  MODEL_ID = 'gpt-4o'
32
27
  SYSTEM_PROMPT = None
33
- DEPS_TYPE = type(None)
34
- RESULT_TYPE = type(None)
28
+ DEPS_TYPE = str
29
+ RESULT_TYPE = str
35
30
  RESULT_RETRIES = 5
36
31
 
37
32
  def __init__(self, *args, **kwargs):
@@ -45,7 +40,7 @@ class Task:
45
40
  self.agent = Agent(
46
41
  *args,
47
42
  model=self.model,
48
- system_prompt=self.SYSTEM_PROMPT,
43
+ system_prompt=self.SYSTEM_PROMPT or [],
49
44
  deps_type=self.DEPS_TYPE,
50
45
  result_type=self.RESULT_TYPE,
51
46
  result_retries=self.RESULT_RETRIES,
@@ -90,3 +85,16 @@ class Task:
90
85
 
91
86
  """
92
87
  return output
88
+
89
+
90
+ class TaskTest(Task):
91
+ PROVIDER = Task.PROVIDER_FMTR
92
+ MODEL_ID = 'mixtral:8x7b'
93
+
94
+
95
+ if __name__ == '__main__':
96
+ import asyncio
97
+
98
+ task = TaskTest()
99
+ result = asyncio.run(task.run('Hello! What is your name?'))
100
+ result
fmtr/tools/config.py CHANGED
@@ -26,3 +26,6 @@ class ToolsConfig(ConfigClass):
26
26
  FMTR_REMOTE_DEBUG_ENABLED_KEY = 'FMTR_REMOTE_DEBUG_ENABLED'
27
27
 
28
28
  FMTR_OPENAI_API_KEY_KEY = 'FMTR_OPENAI_API_KEY'
29
+
30
+ FMTR_AI_HOST_KEY = 'FMTR_URL_HOST'
31
+ FMTR_AI_HOST_DEFAULT = 'ai.gex.fmtr.dev'
fmtr/tools/version CHANGED
@@ -1 +1 @@
1
- 1.0.53
1
+ 1.0.54
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fmtr.tools
3
- Version: 1.0.53
3
+ Version: 1.0.54
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Home-page: https://github.com/fmtr/fmtr.tools
6
6
  Author: Frontmatter
@@ -3,7 +3,7 @@ fmtr/tools/api_tools.py,sha256=u5YEdKyKto8MKY8legULLU7xeJ7lY2Bgyaep_xa8iZg,2089
3
3
  fmtr/tools/async_tools.py,sha256=ewz757WcveQJd-G5SVr2JDOQVbdLGecCgl-tsBGVZz4,284
4
4
  fmtr/tools/augmentation_tools.py,sha256=-6ESbO4CDlKqVOV1J1V6qBeoBMzbFIinkDHRHnCBej0,55
5
5
  fmtr/tools/caching_tools.py,sha256=UOCYUNvLQ-NofR_dhqBmZF96-HRPf4At5MmxVk3gAIk,2943
6
- fmtr/tools/config.py,sha256=1KcYvxLgjza8wHXbf7f9KO48v6SHCHi-b-3PvCAYQ4s,972
6
+ fmtr/tools/config.py,sha256=3jHO3KhRlzJUCdQmJ_j1DFzep00MSD5qTJHfK6i3FZA,1057
7
7
  fmtr/tools/config_tools.py,sha256=27PbPYj90ClIW4QcRoUoiFM3SbWeMIIZsZR32IPU4V8,805
8
8
  fmtr/tools/console_script_tools.py,sha256=Jcmm4WPhCQdPZfd468xD0epkt29sgcPROwKu79V_ehg,203
9
9
  fmtr/tools/data_modelling_tools.py,sha256=0BFm-F_cYzVTxftWQwORkPd0FM2BTLVh9-s0-rTTFoo,1744
@@ -43,11 +43,11 @@ fmtr/tools/tabular_tools.py,sha256=tpIpZzYku1HcJrHZJL6BC39LmN3WUWVhFbK2N7nDVmE,1
43
43
  fmtr/tools/tokenization_tools.py,sha256=9FP5vgPufWv0XA961eVKObFll0d_2mM0W3ut3rtZyeo,4329
44
44
  fmtr/tools/tools.py,sha256=xnfUrOnrT4OxFYez6vV5tAhydzCICJFiGVnviiZDEQo,796
45
45
  fmtr/tools/unicode_tools.py,sha256=yS_9wpu8ogNoiIL7s1G_8bETFFO_YQlo4LNPv1NLDeY,52
46
- fmtr/tools/version,sha256=DTZzMapstdQgNnaNf2y1vK3ZPVo-9SQw2Eo79N9wvg4,6
46
+ fmtr/tools/version,sha256=sOToo55hxhnwyn90ru8LQoJIOtiDp6Wvn8_KEB9wC0w,6
47
47
  fmtr/tools/version_tools.py,sha256=axzzHBS9V1n6YuSacsDKG3VfAvRqR8qr6aENCibR8vs,1248
48
48
  fmtr/tools/yaml_tools.py,sha256=Ol43ZwbnSXGnn1K98Uxx61KPGSqfC4axE-X2q1LKMwk,349
49
49
  fmtr/tools/ai_tools/__init__.py,sha256=JZrLuOFNV1A3wvJgonxOgz_4WS-7MfCuowGWA5uYCjs,372
50
- fmtr/tools/ai_tools/agentic_tools.py,sha256=yhcyeCFNudr16bw8t5NE3I83LFk32vCDKUpE8yjnx4Q,2552
50
+ fmtr/tools/ai_tools/agentic_tools.py,sha256=Y4MhkGqQ9wL1gFXAsaaO8BIYS1mncVcUPsH-iZ0-UY8,2760
51
51
  fmtr/tools/ai_tools/inference_tools.py,sha256=yF8Oxph0L8W2CnK_o-MVztBhWVwBpgOEkx9_m3uqQww,11840
52
52
  fmtr/tools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
53
  fmtr/tools/tests/conftest.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -57,9 +57,9 @@ fmtr/tools/tests/test_environment.py,sha256=iHaiMQfECYZPkPKwfuIZV9uHuWe3aE-p_dN_
57
57
  fmtr/tools/tests/test_json.py,sha256=IeSP4ziPvRcmS8kq7k9tHonC9rN5YYq9GSNT2ul6Msk,287
58
58
  fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g,2188
59
59
  fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
60
- fmtr.tools-1.0.53.dist-info/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
61
- fmtr.tools-1.0.53.dist-info/METADATA,sha256=31l50dJyQyQLlfFOaPoM_EmW0EVq_XBt7tUbQVYwyQU,13978
62
- fmtr.tools-1.0.53.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
63
- fmtr.tools-1.0.53.dist-info/entry_points.txt,sha256=Zmeyls-zo5S99SlKUmsy9ULUNmk-4B9WQCEjuPIH0Yw,142
64
- fmtr.tools-1.0.53.dist-info/top_level.txt,sha256=t5341a8ii3n4RFizwTeXGmcq_pf4GqL1h9ylE5LIWRk,12
65
- fmtr.tools-1.0.53.dist-info/RECORD,,
60
+ fmtr.tools-1.0.54.dist-info/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
61
+ fmtr.tools-1.0.54.dist-info/METADATA,sha256=ZDGuHZCut80jtW-g5xM65BhSvakwjiW8NEkhjWmGZsg,13978
62
+ fmtr.tools-1.0.54.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
63
+ fmtr.tools-1.0.54.dist-info/entry_points.txt,sha256=Zmeyls-zo5S99SlKUmsy9ULUNmk-4B9WQCEjuPIH0Yw,142
64
+ fmtr.tools-1.0.54.dist-info/top_level.txt,sha256=t5341a8ii3n4RFizwTeXGmcq_pf4GqL1h9ylE5LIWRk,12
65
+ fmtr.tools-1.0.54.dist-info/RECORD,,