Skip to content

Commit 100bd50

Browse files
committed
deploy: 9c61ecb
1 parent 0b5e5d0 commit 100bd50

File tree

9 files changed

+49
-34
lines changed

9 files changed

+49
-34
lines changed

_modules/llamator/client/chat_client.html

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -372,11 +372,15 @@ <h1>Source code for llamator.client.chat_client</h1><div class="highlight"><pre>
372372
<span class="sd"> history : List[Dict[str, str]]</span>
373373
<span class="sd"> The conversation history, containing both user and assistant messages.</span>
374374

375-
<span class="sd"> use_history : Optional[bool]</span>
375+
<span class="sd"> use_history : bool</span>
376376
<span class="sd"> Determines whether to use the existing conversation history.</span>
377377
<span class="sd"> If False, only the system prompts and the current user prompt are used.</span>
378378
<span class="sd"> Defaults to True.</span>
379379

380+
<span class="sd"> strip_client_responses : bool</span>
381+
<span class="sd"> Determines whether to strip space, tab, new line, [, ], &lt;, &gt;, \&quot;, &#39; from the start and end of the Client response.</span>
382+
<span class="sd"> Defaults to True.</span>
383+
380384
<span class="sd"> Methods</span>
381385
<span class="sd"> -------</span>
382386
<span class="sd"> say(user_prompt: str, use_history: bool = True) -&gt; str</span>
@@ -387,7 +391,11 @@ <h1>Source code for llamator.client.chat_client</h1><div class="highlight"><pre>
387391
<span class="sd"> &quot;&quot;&quot;</span>
388392

389393
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span>
390-
<span class="bp">self</span><span class="p">,</span> <span class="n">client</span><span class="p">:</span> <span class="n">ClientBase</span><span class="p">,</span> <span class="n">system_prompts</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">use_history</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
394+
<span class="bp">self</span><span class="p">,</span>
395+
<span class="n">client</span><span class="p">:</span> <span class="n">ClientBase</span><span class="p">,</span>
396+
<span class="n">system_prompts</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
397+
<span class="n">use_history</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
398+
<span class="n">strip_client_responses</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
391399
<span class="p">):</span>
392400
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
393401
<span class="sd"> Initializes the ChatSession with a client and optional system prompts.</span>
@@ -397,13 +405,17 @@ <h1>Source code for llamator.client.chat_client</h1><div class="highlight"><pre>
397405
<span class="sd"> client : ClientBase</span>
398406
<span class="sd"> The client that handles interaction with the LLM.</span>
399407

400-
<span class="sd"> system_prompts : Optional[List[str]]</span>
408+
<span class="sd"> system_prompts : List[str], optional</span>
401409
<span class="sd"> A list of system prompts to guide the conversation from the start.</span>
402410

403-
<span class="sd"> use_history : Optional[bool]</span>
411+
<span class="sd"> use_history : bool, optional</span>
404412
<span class="sd"> Determines whether to use the existing conversation history.</span>
405413
<span class="sd"> If False, only the system prompts and the current user prompt are used.</span>
406414
<span class="sd"> Defaults to True.</span>
415+
416+
<span class="sd"> strip_client_responses : bool, optional</span>
417+
<span class="sd"> Determines whether to strip space, tab, new line, [, ], &lt;, &gt;, \&quot;, &#39; from the start and end of the Client response.</span>
418+
<span class="sd"> Defaults to True.</span>
407419
<span class="sd"> &quot;&quot;&quot;</span>
408420
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
409421
<span class="bp">self</span><span class="o">.</span><span class="n">use_history</span> <span class="o">=</span> <span class="n">use_history</span>
@@ -415,6 +427,7 @@ <h1>Source code for llamator.client.chat_client</h1><div class="highlight"><pre>
415427
<span class="bp">self</span><span class="o">.</span><span class="n">system_prompts</span> <span class="o">=</span> <span class="p">[]</span>
416428
<span class="c1"># Initialize history with system prompts</span>
417429
<span class="bp">self</span><span class="o">.</span><span class="n">history</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">system_prompts</span><span class="p">)</span>
430+
<span class="bp">self</span><span class="o">.</span><span class="n">strip_client_responses</span> <span class="o">=</span> <span class="n">strip_client_responses</span>
418431

419432
<span class="k">def</span><span class="w"> </span><span class="nf">say</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">user_prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
420433
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
@@ -439,6 +452,8 @@ <h1>Source code for llamator.client.chat_client</h1><div class="highlight"><pre>
439452
<span class="n">history</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">history</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">use_history</span> <span class="k">else</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">system_prompts</span><span class="p">),</span>
440453
<span class="n">messages</span><span class="o">=</span><span class="p">[{</span><span class="s2">&quot;role&quot;</span><span class="p">:</span> <span class="s2">&quot;user&quot;</span><span class="p">,</span> <span class="s2">&quot;content&quot;</span><span class="p">:</span> <span class="n">user_prompt</span><span class="p">}],</span>
441454
<span class="p">)</span>
455+
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">strip_client_responses</span><span class="p">:</span>
456+
<span class="n">result</span><span class="p">[</span><span class="s2">&quot;content&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">result</span><span class="p">[</span><span class="s2">&quot;content&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s2">&quot; </span><span class="se">\t\n</span><span class="s2">[]&lt;&gt;</span><span class="se">\&quot;</span><span class="s2">&#39;&quot;</span><span class="p">)</span>
442457
<span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;say: result=</span><span class="si">{</span><span class="n">result</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
443458

444459
<span class="bp">self</span><span class="o">.</span><span class="n">history</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s2">&quot;role&quot;</span><span class="p">:</span> <span class="s2">&quot;user&quot;</span><span class="p">,</span> <span class="s2">&quot;content&quot;</span><span class="p">:</span> <span class="n">user_prompt</span><span class="p">})</span>
@@ -465,7 +480,7 @@ <h1>Source code for llamator.client.chat_client</h1><div class="highlight"><pre>
465480
<span class="sd"> The session for the tested client.</span>
466481
<span class="sd"> stop_criterion : Callable[[List[Dict[str, str]]], bool], optional</span>
467482
<span class="sd"> A function that determines whether to stop the conversation based on the tested client&#39;s responses.</span>
468-
<span class="sd"> history_limit : int</span>
483+
<span class="sd"> history_limit : int, optional</span>
469484
<span class="sd"> The maximum allowed history length for the attacker.</span>
470485
<span class="sd"> tested_client_response_handler : Callable[..., str], optional</span>
471486
<span class="sd"> A function that handles the tested client&#39;s response before passing it to the attacker.</span>
@@ -599,7 +614,7 @@ <h1>Source code for llamator.client.chat_client</h1><div class="highlight"><pre>
599614

600615
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
601616
<span class="c1"># Send attacker&#39;s response to the tested client and receive tested client&#39;s response</span>
602-
<span class="n">tested_client_response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tested_client_session</span><span class="o">.</span><span class="n">say</span><span class="p">(</span><span class="n">attacker_response</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s2">&quot; </span><span class="se">\t\n</span><span class="s2">[]&lt;&gt;</span><span class="se">\&quot;</span><span class="s2">&#39;&quot;</span><span class="p">))</span>
617+
<span class="n">tested_client_response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">tested_client_session</span><span class="o">.</span><span class="n">say</span><span class="p">(</span><span class="n">attacker_response</span><span class="p">)</span>
603618
<span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Step </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">current_step</span><span class="si">}</span><span class="s2">: Tested client response: </span><span class="si">{</span><span class="n">tested_client_response</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
604619

605620
<span class="c1"># Check stopping criterion by history</span>

_sources/howtos.md.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
## Installation Guide
1212

1313
```bash
14-
pip install llamator==2.0.0
14+
pip install llamator==2.0.1
1515
```
1616

1717
## Usage Guide (using LM Studio)

0 commit comments

Comments
 (0)