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.
- zrb/builtin/llm/chat_session.py +5 -1
- zrb/config.py +4 -0
- zrb/llm_config.py +21 -1
- {zrb-1.8.12.dist-info → zrb-1.8.13.dist-info}/METADATA +1 -1
- {zrb-1.8.12.dist-info → zrb-1.8.13.dist-info}/RECORD +7 -7
- {zrb-1.8.12.dist-info → zrb-1.8.13.dist-info}/WHEEL +0 -0
- {zrb-1.8.12.dist-info → zrb-1.8.13.dist-info}/entry_points.txt +0 -0
zrb/builtin/llm/chat_session.py
CHANGED
@@ -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":
|
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
|
-
|
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
|
|
@@ -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=
|
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=
|
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=
|
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.
|
394
|
-
zrb-1.8.
|
395
|
-
zrb-1.8.
|
396
|
-
zrb-1.8.
|
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
|
File without changes
|