zrb 1.8.12__py3-none-any.whl → 1.8.13__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.
@@ -8,6 +8,7 @@ conversation flow via XCom.
8
8
  import asyncio
9
9
 
10
10
  from zrb.context.any_context import AnyContext
11
+ from zrb.llm_config import llm_config
11
12
  from zrb.util.cli.style import stylize_bold_yellow, stylize_faint
12
13
 
13
14
 
@@ -113,11 +114,14 @@ def get_llm_ask_input_mapping(callback_ctx: AnyContext):
113
114
  A dictionary containing the input mapping for the LLM ask task.
114
115
  """
115
116
  data = callback_ctx.xcom.ask_trigger.pop()
117
+ system_prompt = callback_ctx.input.system_prompt
118
+ if system_prompt is None or system_prompt.strip() == "":
119
+ system_prompt = llm_config.default_interactive_system_prompt
116
120
  return {
117
121
  "model": callback_ctx.input.model,
118
122
  "base-url": callback_ctx.input.base_url,
119
123
  "api-key": callback_ctx.input.api_key,
120
- "system-prompt": callback_ctx.input.system_prompt,
124
+ "system-prompt": system_prompt,
121
125
  "start-new": data.get("start_new"),
122
126
  "previous-session": data.get("previous_session_name"),
123
127
  "message": data.get("message"),
zrb/config.py CHANGED
@@ -225,6 +225,10 @@ class Config:
225
225
  def LLM_SYSTEM_PROMPT(self) -> str | None:
226
226
  return os.getenv("ZRB_LLM_SYSTEM_PROMPT", None)
227
227
 
228
+ @property
229
+ def LLM_INTERACTIVE_SYSTEM_PROMPT(self) -> str | None:
230
+ return os.getenv("ZRB_LLM_INTERACTIVE_SYSTEM_PROMPT", None)
231
+
228
232
  @property
229
233
  def LLM_PERSONA(self) -> str | None:
230
234
  return os.getenv("ZRB_LLM_PERSONA", None)
zrb/llm_config.py CHANGED
@@ -17,7 +17,7 @@ DEFAULT_PERSONA = (
17
17
  "straight to the point."
18
18
  ).strip()
19
19
 
20
- DEFAULT_SYSTEM_PROMPT = (
20
+ DEFAULT_INTERACTIVE_SYSTEM_PROMPT = (
21
21
  "You have access to tools and two forms of memory:\n"
22
22
  "1. A structured summary of the immediate task (including a payload) AND "
23
23
  "the raw text of the last few turns.\n"
@@ -50,6 +50,13 @@ DEFAULT_SYSTEM_PROMPT = (
50
50
  "guess."
51
51
  ).strip()
52
52
 
53
+ DEFAULT_SYSTEM_PROMPT = (
54
+ "You are a helpful and precise expert assistant. Your goal is to "
55
+ "follow instructions carefully to provide an accurate and efficient answer. "
56
+ "Fulfill the user's request directly. Use your tools if necessary. "
57
+ "Get straight to the point."
58
+ ).strip()
59
+
53
60
  DEFAULT_SPECIAL_INSTRUCTION_PROMPT = (
54
61
  "## Technical Task Protocol\n"
55
62
  "When performing technical tasks, strictly follow this protocol.\n\n"
@@ -202,6 +209,7 @@ class LLMConfig:
202
209
  default_api_key: str | None = None,
203
210
  default_persona: str | None = None,
204
211
  default_system_prompt: str | None = None,
212
+ default_interactive_system_prompt: str | None = None,
205
213
  default_special_instruction_prompt: str | None = None,
206
214
  default_summarization_prompt: str | None = None,
207
215
  default_context_enrichment_prompt: str | None = None,
@@ -218,6 +226,7 @@ class LLMConfig:
218
226
  self._default_model_api_key = default_api_key
219
227
  self._default_persona = default_persona
220
228
  self._default_system_prompt = default_system_prompt
229
+ self._default_interactive_system_prompt = default_interactive_system_prompt
221
230
  self._default_special_instruction_prompt = default_special_instruction_prompt
222
231
  self._default_summarization_prompt = default_summarization_prompt
223
232
  self._default_context_enrichment_prompt = default_context_enrichment_prompt
@@ -282,6 +291,14 @@ class LLMConfig:
282
291
  return CFG.LLM_SYSTEM_PROMPT
283
292
  return DEFAULT_SYSTEM_PROMPT
284
293
 
294
+ @property
295
+ def default_interactive_system_prompt(self) -> str:
296
+ if self._default_interactive_system_prompt is not None:
297
+ return self._default_interactive_system_prompt
298
+ if CFG.LLM_INTERACTIVE_SYSTEM_PROMPT is not None:
299
+ return CFG.LLM_INTERACTIVE_SYSTEM_PROMPT
300
+ return DEFAULT_INTERACTIVE_SYSTEM_PROMPT
301
+
285
302
  @property
286
303
  def default_persona(self) -> str:
287
304
  if self._default_persona is not None:
@@ -358,6 +375,9 @@ class LLMConfig:
358
375
  def set_default_system_prompt(self, system_prompt: str):
359
376
  self._default_system_prompt = system_prompt
360
377
 
378
+ def set_default_interactive_system_prompt(self, interactive_system_prompt: str):
379
+ self._default_interactive_system_prompt = interactive_system_prompt
380
+
361
381
  def set_default_special_instruction_prompt(self, special_instruction_prompt: str):
362
382
  self._default_special_instruction_prompt = special_instruction_prompt
363
383
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zrb
3
- Version: 1.8.12
3
+ Version: 1.8.13
4
4
  Summary: Your Automation Powerhouse
5
5
  Home-page: https://github.com/state-alchemists/zrb
6
6
  License: AGPL-3.0-or-later
@@ -9,7 +9,7 @@ zrb/builtin/git_subtree.py,sha256=7BKwOkVTWDrR0DXXQ4iJyHqeR6sV5VYRt8y_rEB0EHg,35
9
9
  zrb/builtin/group.py,sha256=t008xLM4_fgbjfZrPoi_fQAnSHIo6MOiQSCHBO4GDYU,2379
10
10
  zrb/builtin/http.py,sha256=sLqEczuSxGYXWzyJR6frGOHkPTviu4BeyroUr3-ZuAI,4322
11
11
  zrb/builtin/jwt.py,sha256=3M5uaQhJZbKQLjTUft1OwPz_JxtmK-xtkjxWjciOQho,2859
12
- zrb/builtin/llm/chat_session.py,sha256=ot2ss6yA4qIINg0nl3KJYnLag8H0eB9ggAgRGEUkZdE,6639
12
+ zrb/builtin/llm/chat_session.py,sha256=Nfn_HXAKjKeIKWQt4nfS9k0VWmrg0JhexlJKVw58WLQ,6841
13
13
  zrb/builtin/llm/history.py,sha256=cnkOyO43uiMQ9cEvmqk-pPoCk1zCAH_fwAqSgBtsjzY,3079
14
14
  zrb/builtin/llm/input.py,sha256=Nw-26uTWp2QhUgKJcP_IMHmtk-b542CCSQ_vCOjhvhM,877
15
15
  zrb/builtin/llm/llm_ask.py,sha256=QUV29gOAFKiMfJlAKbY9YfGPoxYv-4RPv6p7cWogK4U,4438
@@ -217,7 +217,7 @@ zrb/callback/callback.py,sha256=PFhCqzfxdk6IAthmXcZ13DokT62xtBzJr_ciLw6I8Zg,4030
217
217
  zrb/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
218
  zrb/cmd/cmd_result.py,sha256=L8bQJzWCpcYexIxHBNsXj2pT3BtLmWex0iJSMkvimOA,597
219
219
  zrb/cmd/cmd_val.py,sha256=7Doowyg6BK3ISSGBLt-PmlhzaEkBjWWm51cED6fAUOQ,1014
220
- zrb/config.py,sha256=qFtVVme30fMyi5x_mgvvULczNbORqK8ZEN8agXokXO4,10222
220
+ zrb/config.py,sha256=L4nrdO8uK1MNOJiTgywkjlYn5kX1dOsq48b5mPZ2004,10364
221
221
  zrb/content_transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
222
  zrb/content_transformer/any_content_transformer.py,sha256=v8ZUbcix1GGeDQwB6OKX_1TjpY__ksxWVeqibwa_iZA,850
223
223
  zrb/content_transformer/content_transformer.py,sha256=STl77wW-I69QaGzCXjvkppngYFLufow8ybPLSyAvlHs,2404
@@ -246,7 +246,7 @@ zrb/input/option_input.py,sha256=TQB82ko5odgzkULEizBZi0e9TIHEbIgvdP0AR3RhA74,213
246
246
  zrb/input/password_input.py,sha256=szBojWxSP9QJecgsgA87OIYwQrY2AQ3USIKdDZY6snU,1465
247
247
  zrb/input/str_input.py,sha256=NevZHX9rf1g8eMatPyy-kUX3DglrVAQpzvVpKAzf7bA,81
248
248
  zrb/input/text_input.py,sha256=6T3MngWdUs0u0ZVs5Dl11w5KS7nN1RkgrIR_zKumzPM,3695
249
- zrb/llm_config.py,sha256=pXWHp-7WcAF3s5Gec8IBqoC_l3aRvU3aGt2Yr96SxGo,16607
249
+ zrb/llm_config.py,sha256=PaOsd9i5rwq_Ry68T6tpgQ2sWdjq-SeCuw7XMaHxw7Q,17577
250
250
  zrb/llm_rate_limitter.py,sha256=uM9zmSgV10fQq1dlaDGLDrv72uLj6ldBxMoGjO2Az14,4429
251
251
  zrb/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
252
  zrb/runner/cli.py,sha256=AbLTNqFy5FuyGQOWOjHZGaBC8e2yuE_Dx1sBdnisR18,6984
@@ -390,7 +390,7 @@ zrb/util/string/name.py,sha256=SXEfxJ1-tDOzHqmSV8kvepRVyMqs2XdV_vyoh_9XUu0,1584
390
390
  zrb/util/todo.py,sha256=VGISej2KQZERpornK-8X7bysp4JydMrMUTnG8B0-liI,20708
391
391
  zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
392
  zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
393
- zrb-1.8.12.dist-info/METADATA,sha256=W42D3Cq0i9W2m7C2i0c0eY0JFXViJP3FNhdAt2gsrNw,9274
394
- zrb-1.8.12.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
395
- zrb-1.8.12.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
396
- zrb-1.8.12.dist-info/RECORD,,
393
+ zrb-1.8.13.dist-info/METADATA,sha256=oqzBj3hnl1XlXUSSib6obfP_75DGHvZnJCIjZIx7tJ4,9274
394
+ zrb-1.8.13.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
395
+ zrb-1.8.13.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
396
+ zrb-1.8.13.dist-info/RECORD,,
File without changes