beamlit 0.0.34rc63__py3-none-any.whl → 0.0.34rc64__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.
beamlit/agents/chat.py CHANGED
@@ -6,6 +6,7 @@ from langchain_core.language_models import BaseChatModel
6
6
  from beamlit.authentication import get_authentication_headers, new_client
7
7
  from beamlit.common.settings import get_settings
8
8
  from beamlit.models import Model
9
+ from beamlit.api.models import get_model
9
10
 
10
11
  logger = getLogger(__name__)
11
12
 
@@ -46,6 +47,12 @@ def get_chat_model(name: str, agent_model: Union[Model, None] = None) -> Tuple[B
46
47
  settings = get_settings()
47
48
  client = new_client()
48
49
 
50
+ if agent_model is None:
51
+ try:
52
+ agent_model = get_model.sync(name, client=client, environment=settings.environment)
53
+ except Exception as e:
54
+ logger.warning(f"Model {name} not found, defaulting to gpt-4o-mini")
55
+
49
56
  environment = (agent_model and agent_model.metadata and agent_model.metadata.environment) or settings.environment
50
57
  headers = get_authentication_headers(settings)
51
58
  headers["X-Beamlit-Environment"] = environment
@@ -1,5 +1,6 @@
1
1
  # Import necessary modules
2
2
  import functools
3
+ import inspect
3
4
  from logging import getLogger
4
5
 
5
6
  from langgraph.checkpoint.memory import MemorySaver
@@ -34,15 +35,27 @@ def agent(
34
35
  settings = init()
35
36
 
36
37
  def wrapper(func):
38
+ agent_kwargs = any(
39
+ param.name == "agent"
40
+ for param in inspect.signature(func).parameters.values()
41
+ )
42
+ model_kwargs = any(
43
+ param.name == "model"
44
+ for param in inspect.signature(func).parameters.values()
45
+ )
46
+ functions_kwargs = any(
47
+ param.name == "functions"
48
+ for param in inspect.signature(func).parameters.values()
49
+ )
37
50
  @functools.wraps(func)
38
51
  def wrapped(*args, **kwargs):
39
- return func(
40
- settings.agent.agent,
41
- settings.agent.chat_model,
42
- settings.agent.functions,
43
- *args,
44
- **kwargs,
45
- )
52
+ if agent_kwargs:
53
+ kwargs["agent"] = settings.agent.agent
54
+ if model_kwargs:
55
+ kwargs["model"] = settings.agent.chat_model
56
+ if functions_kwargs:
57
+ kwargs["functions"] = settings.agent.functions
58
+ return func(*args, **kwargs)
46
59
 
47
60
  return wrapped
48
61
 
@@ -85,7 +98,7 @@ def agent(
85
98
  remote_functions_empty=not remote_functions,
86
99
  )
87
100
  settings.agent.functions = functions
88
-
101
+
89
102
  if override_agent is None and len(functions) == 0:
90
103
  raise ValueError(
91
104
  "You must define at least one function, you can define this function in directory "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beamlit
3
- Version: 0.0.34rc63
3
+ Version: 0.0.34rc64
4
4
  Summary: Add your description here
5
5
  Author-email: cploujoux <ch.ploujoux@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -6,8 +6,8 @@ beamlit/run.py,sha256=HtDYDjD7oVfQ8r3T5_t4qN5UDJOJfsQILi45Z21ArAg,1446
6
6
  beamlit/types.py,sha256=E1hhDh_zXfsSQ0NCt9-uw90_Mr5iIlsdfnfvxv5HarU,1005
7
7
  beamlit/agents/__init__.py,sha256=nf1iwQwGtCG6nDqyVhxfWoqR6dv6X3bvSpCeqkTCFaM,101
8
8
  beamlit/agents/chain.py,sha256=vfCjiFHuu02uTTGicxMlFzjyICQkIjpXrBGs-7uJEsg,2826
9
- beamlit/agents/chat.py,sha256=4-MDbQ5Csrj0fjgdJo0EMf0tujkOWUYBHCEjyBqaeYc,3766
10
- beamlit/agents/decorator.py,sha256=YU8FHrn9bYfgKuGtt42iPzOqiVvWC9GzbFLmhTacIsU,4183
9
+ beamlit/agents/chat.py,sha256=b7-ZkRqgS7nxFLbh_fOf9riAoPYnlb9_vHxaf2xYuvI,4057
10
+ beamlit/agents/decorator.py,sha256=JWz74ugL-walNXMths2517CE-LBDoeSf_wQeM8mCPa4,4768
11
11
  beamlit/api/__init__.py,sha256=zTSiG_ujSjAqWPyc435YXaX9XTlpMjiJWBbV-f-YtdA,45
12
12
  beamlit/api/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  beamlit/api/agents/create_agent.py,sha256=t5Pr62My2EhQlcIY71MrI73-0_q5Djr3a_Ybt9MIiQQ,3587
@@ -262,6 +262,6 @@ beamlit/serve/app.py,sha256=_aG2UVQ3Y85rUW3ehu9TlzLnowkfh54IIz558ftqOMw,3638
262
262
  beamlit/serve/middlewares/__init__.py,sha256=1dVmnOmhAQWvWktqHkKSIX-YoF6fmMU8xkUQuhg_rJU,148
263
263
  beamlit/serve/middlewares/accesslog.py,sha256=Mu4T4_9OvHybjA0ApzZFpgi2C8f3X1NbUk-76v634XM,631
264
264
  beamlit/serve/middlewares/processtime.py,sha256=lDAaIasZ4bwvN-HKHvZpaD9r-yrkVNZYx4abvbjbrCg,411
265
- beamlit-0.0.34rc63.dist-info/METADATA,sha256=5yT2O9_PcJv8YSEgI8j46uT5f40N1oCx-I0fhj9zPdg,2412
266
- beamlit-0.0.34rc63.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
267
- beamlit-0.0.34rc63.dist-info/RECORD,,
265
+ beamlit-0.0.34rc64.dist-info/METADATA,sha256=Nc9HziVd7JjcSU0GAaVxtvrcmNvJo42lpVAqtjSlXY0,2412
266
+ beamlit-0.0.34rc64.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
267
+ beamlit-0.0.34rc64.dist-info/RECORD,,