Schema Idea
All checks were successful
Build and push Docker image at git tag / build (push) Successful in 44s

This commit is contained in:
2024-10-30 21:07:54 +01:00
parent 786a230e78
commit f2f9819d27
10 changed files with 1452 additions and 674 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -114,10 +114,10 @@
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="c1"># source code released under the terms of GNU Public License Version 3</span>
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="c1"># https://www.gnu.org/licenses/gpl-3.0.txt</span>
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a>
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Callable</span>
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Callable</span><span class="p">,</span> <span class="n">List</span>
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="kn">from</span> <span class="nn">ums.agent</span> <span class="kn">import</span> <span class="n">ExtractAudioAgent</span><span class="p">,</span> <span class="n">ExtractImageAgent</span><span class="p">,</span> <span class="n">ExtractTextAgent</span><span class="p">,</span> <span class="n">SolveAgent</span><span class="p">,</span> <span class="n">GatekeeperAgent</span>
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a>
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="kn">from</span> <span class="nn">ums.utils.types</span> <span class="kn">import</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">RiddleData</span><span class="p">,</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">RiddleStatus</span>
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="kn">from</span> <span class="nn">ums.utils</span> <span class="kn">import</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">RiddleData</span><span class="p">,</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">RiddleStatus</span><span class="p">,</span> <span class="n">ExtractedData</span>
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a>
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> Examples for simple agents.</span>
@ -137,44 +137,50 @@
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a>
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Image Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="k">return</span> <span class="n">data</span>
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a>
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a><span class="k">class</span> <span class="nc">MyExtractTextAgent</span><span class="p">(</span><span class="n">ExtractTextAgent</span><span class="p">):</span>
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="k">def</span> <span class="nf">before_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">:</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">send_it</span><span class="p">:</span> <span class="n">Callable</span><span class="p">[[],</span> <span class="kc">None</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;The response will be:&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a>
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Text Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="n">data</span>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a>
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a><span class="k">class</span> <span class="nc">MySolveAgent</span><span class="p">(</span><span class="n">SolveAgent</span><span class="p">):</span>
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a>
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="n">extracted</span> <span class="o">=</span> <span class="n">ExtractedData</span><span class="p">(</span><span class="n">other</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;info&quot;</span><span class="p">:</span><span class="s2">&quot;just a test&quot;</span><span class="p">})</span>
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="n">data</span><span class="o">.</span><span class="n">file_extracted</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">store_extracted</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">extracted</span><span class="p">)</span>
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="k">return</span> <span class="n">data</span>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a><span class="k">class</span> <span class="nc">MyExtractTextAgent</span><span class="p">(</span><span class="n">ExtractTextAgent</span><span class="p">):</span>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a> <span class="k">def</span> <span class="nf">before_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">:</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">send_it</span><span class="p">:</span> <span class="n">Callable</span><span class="p">[[],</span> <span class="kc">None</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;The response will be:&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Text Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a> <span class="k">return</span> <span class="n">data</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">()</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="s2">&quot;test&quot;</span><span class="p">:</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="n">status</span> <span class="o">=</span> <span class="n">RiddleStatus</span><span class="p">()</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="n">status</span><span class="o">.</span><span class="n">extract</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sub_riddle</span><span class="p">(</span><span class="n">riddle</span><span class="o">=</span><span class="n">Riddle</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="s2">&quot;Haha&quot;</span><span class="p">,</span> <span class="n">question</span><span class="o">=</span><span class="s2">&quot;Blubber&quot;</span><span class="p">),</span> <span class="n">status</span><span class="o">=</span><span class="n">status</span><span class="p">)</span>
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a>
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="k">return</span> <span class="n">RiddleSolution</span><span class="p">(</span><span class="n">solution</span><span class="o">=</span><span class="s2">&quot;Huii&quot;</span><span class="p">,</span> <span class="n">explanation</span><span class="o">=</span><span class="s2">&quot;Blubb&quot;</span><span class="p">)</span>
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a>
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a>
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a><span class="k">class</span> <span class="nc">MyGatekeeperAgent</span><span class="p">(</span><span class="n">GatekeeperAgent</span><span class="p">):</span>
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a>
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">review</span> <span class="o">=</span> <span class="s2">&quot;Ok&quot;</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a>
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a> <span class="k">return</span> <span class="n">solution</span>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="k">class</span> <span class="nc">MySolveAgent</span><span class="p">(</span><span class="n">SolveAgent</span><span class="p">):</span>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">RiddleData</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a>
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="nb">print</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_extracted</span><span class="p">(</span><span class="n">d</span><span class="p">))</span>
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a>
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">()</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="s2">&quot;test&quot;</span><span class="p">:</span>
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="n">status</span> <span class="o">=</span> <span class="n">RiddleStatus</span><span class="p">()</span>
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="n">status</span><span class="o">.</span><span class="n">extract</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sub_riddle</span><span class="p">(</span><span class="n">riddle</span><span class="o">=</span><span class="n">Riddle</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="s2">&quot;Haha&quot;</span><span class="p">,</span> <span class="n">question</span><span class="o">=</span><span class="s2">&quot;Blubber&quot;</span><span class="p">),</span> <span class="n">status</span><span class="o">=</span><span class="n">status</span><span class="p">)</span>
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a>
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="k">return</span> <span class="n">RiddleSolution</span><span class="p">(</span><span class="n">solution</span><span class="o">=</span><span class="s2">&quot;Huii&quot;</span><span class="p">,</span> <span class="n">explanation</span><span class="o">=</span><span class="s2">&quot;Blubb&quot;</span><span class="p">)</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a>
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a>
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a><span class="k">class</span> <span class="nc">MyGatekeeperAgent</span><span class="p">(</span><span class="n">GatekeeperAgent</span><span class="p">):</span>
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a>
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a><span class="n">AGENT_CLASSES</span> <span class="o">=</span> <span class="p">[</span>
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="n">MyExtractAudioAgent</span><span class="p">,</span> <span class="n">MyExtractImageAgent</span><span class="p">,</span> <span class="n">MyExtractTextAgent</span><span class="p">,</span>
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="n">MySolveAgent</span><span class="p">,</span>
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="n">MyGatekeeperAgent</span>
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a><span class="p">]</span>
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">review</span> <span class="o">=</span> <span class="s2">&quot;Ok&quot;</span>
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a>
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="k">return</span> <span class="n">solution</span>
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a>
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a><span class="n">AGENT_CLASSES</span> <span class="o">=</span> <span class="p">[</span>
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="n">MyExtractAudioAgent</span><span class="p">,</span> <span class="n">MyExtractImageAgent</span><span class="p">,</span> <span class="n">MyExtractTextAgent</span><span class="p">,</span>
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="n">MySolveAgent</span><span class="p">,</span>
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="n">MyGatekeeperAgent</span>
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a><span class="p">]</span>
</span></pre></div>
@ -232,6 +238,7 @@
<dd id="MyExtractAudioAgent.before_response" class="function"><a href="../agent/agent.html#BasicAgent.before_response">before_response</a></dd>
<dd id="MyExtractAudioAgent.message" class="function"><a href="../agent/agent.html#BasicAgent.message">message</a></dd>
<dd id="MyExtractAudioAgent.sub_riddle" class="function"><a href="../agent/agent.html#BasicAgent.sub_riddle">sub_riddle</a></dd>
<dd id="MyExtractAudioAgent.get_extracted" class="function"><a href="../agent/agent.html#BasicAgent.get_extracted">get_extracted</a></dd>
</div>
<div><dt><a href="../agent/agent.html#ExtractAudioAgent">ums.agent.agent.ExtractAudioAgent</a></dt>
@ -240,6 +247,7 @@
</div>
<div><dt><a href="../agent/agent.html#ExtractAgent">ums.agent.agent.ExtractAgent</a></dt>
<dd id="MyExtractAudioAgent.agent_capability" class="function"><a href="../agent/agent.html#ExtractAgent.agent_capability">agent_capability</a></dd>
<dd id="MyExtractAudioAgent.store_extracted" class="function"><a href="../agent/agent.html#ExtractAgent.store_extracted">store_extracted</a></dd>
</div>
</dl>
@ -260,7 +268,10 @@
</span><span id="MyExtractImageAgent-32"><a href="#MyExtractImageAgent-32"><span class="linenos">32</span></a>
</span><span id="MyExtractImageAgent-33"><a href="#MyExtractImageAgent-33"><span class="linenos">33</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="MyExtractImageAgent-34"><a href="#MyExtractImageAgent-34"><span class="linenos">34</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Image Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="MyExtractImageAgent-35"><a href="#MyExtractImageAgent-35"><span class="linenos">35</span></a> <span class="k">return</span> <span class="n">data</span>
</span><span id="MyExtractImageAgent-35"><a href="#MyExtractImageAgent-35"><span class="linenos">35</span></a>
</span><span id="MyExtractImageAgent-36"><a href="#MyExtractImageAgent-36"><span class="linenos">36</span></a> <span class="n">extracted</span> <span class="o">=</span> <span class="n">ExtractedData</span><span class="p">(</span><span class="n">other</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;info&quot;</span><span class="p">:</span><span class="s2">&quot;just a test&quot;</span><span class="p">})</span>
</span><span id="MyExtractImageAgent-37"><a href="#MyExtractImageAgent-37"><span class="linenos">37</span></a> <span class="n">data</span><span class="o">.</span><span class="n">file_extracted</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">store_extracted</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">extracted</span><span class="p">)</span>
</span><span id="MyExtractImageAgent-38"><a href="#MyExtractImageAgent-38"><span class="linenos">38</span></a> <span class="k">return</span> <span class="n">data</span>
</span></pre></div>
@ -281,7 +292,10 @@
<a class="headerlink" href="#MyExtractImageAgent.handle"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyExtractImageAgent.handle-33"><a href="#MyExtractImageAgent.handle-33"><span class="linenos">33</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="MyExtractImageAgent.handle-34"><a href="#MyExtractImageAgent.handle-34"><span class="linenos">34</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Image Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="MyExtractImageAgent.handle-35"><a href="#MyExtractImageAgent.handle-35"><span class="linenos">35</span></a> <span class="k">return</span> <span class="n">data</span>
</span><span id="MyExtractImageAgent.handle-35"><a href="#MyExtractImageAgent.handle-35"><span class="linenos">35</span></a>
</span><span id="MyExtractImageAgent.handle-36"><a href="#MyExtractImageAgent.handle-36"><span class="linenos">36</span></a> <span class="n">extracted</span> <span class="o">=</span> <span class="n">ExtractedData</span><span class="p">(</span><span class="n">other</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;info&quot;</span><span class="p">:</span><span class="s2">&quot;just a test&quot;</span><span class="p">})</span>
</span><span id="MyExtractImageAgent.handle-37"><a href="#MyExtractImageAgent.handle-37"><span class="linenos">37</span></a> <span class="n">data</span><span class="o">.</span><span class="n">file_extracted</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">store_extracted</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">extracted</span><span class="p">)</span>
</span><span id="MyExtractImageAgent.handle-38"><a href="#MyExtractImageAgent.handle-38"><span class="linenos">38</span></a> <span class="k">return</span> <span class="n">data</span>
</span></pre></div>
@ -298,6 +312,7 @@
<dd id="MyExtractImageAgent.before_response" class="function"><a href="../agent/agent.html#BasicAgent.before_response">before_response</a></dd>
<dd id="MyExtractImageAgent.message" class="function"><a href="../agent/agent.html#BasicAgent.message">message</a></dd>
<dd id="MyExtractImageAgent.sub_riddle" class="function"><a href="../agent/agent.html#BasicAgent.sub_riddle">sub_riddle</a></dd>
<dd id="MyExtractImageAgent.get_extracted" class="function"><a href="../agent/agent.html#BasicAgent.get_extracted">get_extracted</a></dd>
</div>
<div><dt><a href="../agent/agent.html#ExtractImageAgent">ums.agent.agent.ExtractImageAgent</a></dt>
@ -306,6 +321,7 @@
</div>
<div><dt><a href="../agent/agent.html#ExtractAgent">ums.agent.agent.ExtractAgent</a></dt>
<dd id="MyExtractImageAgent.agent_capability" class="function"><a href="../agent/agent.html#ExtractAgent.agent_capability">agent_capability</a></dd>
<dd id="MyExtractImageAgent.store_extracted" class="function"><a href="../agent/agent.html#ExtractAgent.store_extracted">store_extracted</a></dd>
</div>
</dl>
@ -322,15 +338,15 @@
</div>
<a class="headerlink" href="#MyExtractTextAgent"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyExtractTextAgent-37"><a href="#MyExtractTextAgent-37"><span class="linenos">37</span></a><span class="k">class</span> <span class="nc">MyExtractTextAgent</span><span class="p">(</span><span class="n">ExtractTextAgent</span><span class="p">):</span>
</span><span id="MyExtractTextAgent-38"><a href="#MyExtractTextAgent-38"><span class="linenos">38</span></a>
</span><span id="MyExtractTextAgent-39"><a href="#MyExtractTextAgent-39"><span class="linenos">39</span></a> <span class="k">def</span> <span class="nf">before_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">:</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">send_it</span><span class="p">:</span> <span class="n">Callable</span><span class="p">[[],</span> <span class="kc">None</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
</span><span id="MyExtractTextAgent-40"><a href="#MyExtractTextAgent-40"><span class="linenos">40</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;The response will be:&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
</span><span id="MyExtractTextAgent-41"><a href="#MyExtractTextAgent-41"><span class="linenos">41</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="MyExtractTextAgent-42"><a href="#MyExtractTextAgent-42"><span class="linenos">42</span></a>
</span><span id="MyExtractTextAgent-43"><a href="#MyExtractTextAgent-43"><span class="linenos">43</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="MyExtractTextAgent-44"><a href="#MyExtractTextAgent-44"><span class="linenos">44</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Text Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="MyExtractTextAgent-45"><a href="#MyExtractTextAgent-45"><span class="linenos">45</span></a> <span class="k">return</span> <span class="n">data</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyExtractTextAgent-40"><a href="#MyExtractTextAgent-40"><span class="linenos">40</span></a><span class="k">class</span> <span class="nc">MyExtractTextAgent</span><span class="p">(</span><span class="n">ExtractTextAgent</span><span class="p">):</span>
</span><span id="MyExtractTextAgent-41"><a href="#MyExtractTextAgent-41"><span class="linenos">41</span></a>
</span><span id="MyExtractTextAgent-42"><a href="#MyExtractTextAgent-42"><span class="linenos">42</span></a> <span class="k">def</span> <span class="nf">before_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">:</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">send_it</span><span class="p">:</span> <span class="n">Callable</span><span class="p">[[],</span> <span class="kc">None</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
</span><span id="MyExtractTextAgent-43"><a href="#MyExtractTextAgent-43"><span class="linenos">43</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;The response will be:&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
</span><span id="MyExtractTextAgent-44"><a href="#MyExtractTextAgent-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="kc">True</span>
</span><span id="MyExtractTextAgent-45"><a href="#MyExtractTextAgent-45"><span class="linenos">45</span></a>
</span><span id="MyExtractTextAgent-46"><a href="#MyExtractTextAgent-46"><span class="linenos">46</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="MyExtractTextAgent-47"><a href="#MyExtractTextAgent-47"><span class="linenos">47</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Text Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="MyExtractTextAgent-48"><a href="#MyExtractTextAgent-48"><span class="linenos">48</span></a> <span class="k">return</span> <span class="n">data</span>
</span></pre></div>
@ -349,9 +365,9 @@
</div>
<a class="headerlink" href="#MyExtractTextAgent.before_response"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyExtractTextAgent.before_response-39"><a href="#MyExtractTextAgent.before_response-39"><span class="linenos">39</span></a> <span class="k">def</span> <span class="nf">before_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">:</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">send_it</span><span class="p">:</span> <span class="n">Callable</span><span class="p">[[],</span> <span class="kc">None</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
</span><span id="MyExtractTextAgent.before_response-40"><a href="#MyExtractTextAgent.before_response-40"><span class="linenos">40</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;The response will be:&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
</span><span id="MyExtractTextAgent.before_response-41"><a href="#MyExtractTextAgent.before_response-41"><span class="linenos">41</span></a> <span class="k">return</span> <span class="kc">True</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyExtractTextAgent.before_response-42"><a href="#MyExtractTextAgent.before_response-42"><span class="linenos">42</span></a> <span class="k">def</span> <span class="nf">before_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">:</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">send_it</span><span class="p">:</span> <span class="n">Callable</span><span class="p">[[],</span> <span class="kc">None</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
</span><span id="MyExtractTextAgent.before_response-43"><a href="#MyExtractTextAgent.before_response-43"><span class="linenos">43</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;The response will be:&quot;</span><span class="p">,</span> <span class="n">response</span><span class="p">)</span>
</span><span id="MyExtractTextAgent.before_response-44"><a href="#MyExtractTextAgent.before_response-44"><span class="linenos">44</span></a> <span class="k">return</span> <span class="kc">True</span>
</span></pre></div>
@ -376,9 +392,9 @@ Thus, by overwriting this method, a response can be prevented.</p>
</div>
<a class="headerlink" href="#MyExtractTextAgent.handle"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyExtractTextAgent.handle-43"><a href="#MyExtractTextAgent.handle-43"><span class="linenos">43</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="MyExtractTextAgent.handle-44"><a href="#MyExtractTextAgent.handle-44"><span class="linenos">44</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Text Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="MyExtractTextAgent.handle-45"><a href="#MyExtractTextAgent.handle-45"><span class="linenos">45</span></a> <span class="k">return</span> <span class="n">data</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyExtractTextAgent.handle-46"><a href="#MyExtractTextAgent.handle-46"><span class="linenos">46</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleData</span><span class="p">:</span>
</span><span id="MyExtractTextAgent.handle-47"><a href="#MyExtractTextAgent.handle-47"><span class="linenos">47</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Text Process:&quot;</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">file_plain</span><span class="p">)</span>
</span><span id="MyExtractTextAgent.handle-48"><a href="#MyExtractTextAgent.handle-48"><span class="linenos">48</span></a> <span class="k">return</span> <span class="n">data</span>
</span></pre></div>
@ -394,6 +410,7 @@ Thus, by overwriting this method, a response can be prevented.</p>
<dd id="MyExtractTextAgent.__init__" class="function"><a href="../agent/agent.html#BasicAgent.__init__">BasicAgent</a></dd>
<dd id="MyExtractTextAgent.message" class="function"><a href="../agent/agent.html#BasicAgent.message">message</a></dd>
<dd id="MyExtractTextAgent.sub_riddle" class="function"><a href="../agent/agent.html#BasicAgent.sub_riddle">sub_riddle</a></dd>
<dd id="MyExtractTextAgent.get_extracted" class="function"><a href="../agent/agent.html#BasicAgent.get_extracted">get_extracted</a></dd>
</div>
<div><dt><a href="../agent/agent.html#ExtractTextAgent">ums.agent.agent.ExtractTextAgent</a></dt>
@ -402,6 +419,7 @@ Thus, by overwriting this method, a response can be prevented.</p>
</div>
<div><dt><a href="../agent/agent.html#ExtractAgent">ums.agent.agent.ExtractAgent</a></dt>
<dd id="MyExtractTextAgent.agent_capability" class="function"><a href="../agent/agent.html#ExtractAgent.agent_capability">agent_capability</a></dd>
<dd id="MyExtractTextAgent.store_extracted" class="function"><a href="../agent/agent.html#ExtractAgent.store_extracted">store_extracted</a></dd>
</div>
</dl>
@ -418,16 +436,19 @@ Thus, by overwriting this method, a response can be prevented.</p>
</div>
<a class="headerlink" href="#MySolveAgent"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MySolveAgent-48"><a href="#MySolveAgent-48"><span class="linenos">48</span></a><span class="k">class</span> <span class="nc">MySolveAgent</span><span class="p">(</span><span class="n">SolveAgent</span><span class="p">):</span>
</span><span id="MySolveAgent-49"><a href="#MySolveAgent-49"><span class="linenos">49</span></a>
</span><span id="MySolveAgent-50"><a href="#MySolveAgent-50"><span class="linenos">50</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MySolveAgent-51"><a href="#MySolveAgent-51"><span class="linenos">51</span></a>
</span><span id="MySolveAgent-52"><a href="#MySolveAgent-52"><span class="linenos">52</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">()</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="s2">&quot;test&quot;</span><span class="p">:</span>
</span><span id="MySolveAgent-53"><a href="#MySolveAgent-53"><span class="linenos">53</span></a> <span class="n">status</span> <span class="o">=</span> <span class="n">RiddleStatus</span><span class="p">()</span>
</span><span id="MySolveAgent-54"><a href="#MySolveAgent-54"><span class="linenos">54</span></a> <span class="n">status</span><span class="o">.</span><span class="n">extract</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="MySolveAgent-55"><a href="#MySolveAgent-55"><span class="linenos">55</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sub_riddle</span><span class="p">(</span><span class="n">riddle</span><span class="o">=</span><span class="n">Riddle</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="s2">&quot;Haha&quot;</span><span class="p">,</span> <span class="n">question</span><span class="o">=</span><span class="s2">&quot;Blubber&quot;</span><span class="p">),</span> <span class="n">status</span><span class="o">=</span><span class="n">status</span><span class="p">)</span>
</span><span id="MySolveAgent-56"><a href="#MySolveAgent-56"><span class="linenos">56</span></a>
</span><span id="MySolveAgent-57"><a href="#MySolveAgent-57"><span class="linenos">57</span></a> <span class="k">return</span> <span class="n">RiddleSolution</span><span class="p">(</span><span class="n">solution</span><span class="o">=</span><span class="s2">&quot;Huii&quot;</span><span class="p">,</span> <span class="n">explanation</span><span class="o">=</span><span class="s2">&quot;Blubb&quot;</span><span class="p">)</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="MySolveAgent-51"><a href="#MySolveAgent-51"><span class="linenos">51</span></a><span class="k">class</span> <span class="nc">MySolveAgent</span><span class="p">(</span><span class="n">SolveAgent</span><span class="p">):</span>
</span><span id="MySolveAgent-52"><a href="#MySolveAgent-52"><span class="linenos">52</span></a>
</span><span id="MySolveAgent-53"><a href="#MySolveAgent-53"><span class="linenos">53</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">RiddleData</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MySolveAgent-54"><a href="#MySolveAgent-54"><span class="linenos">54</span></a>
</span><span id="MySolveAgent-55"><a href="#MySolveAgent-55"><span class="linenos">55</span></a> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
</span><span id="MySolveAgent-56"><a href="#MySolveAgent-56"><span class="linenos">56</span></a> <span class="nb">print</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_extracted</span><span class="p">(</span><span class="n">d</span><span class="p">))</span>
</span><span id="MySolveAgent-57"><a href="#MySolveAgent-57"><span class="linenos">57</span></a>
</span><span id="MySolveAgent-58"><a href="#MySolveAgent-58"><span class="linenos">58</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">()</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="s2">&quot;test&quot;</span><span class="p">:</span>
</span><span id="MySolveAgent-59"><a href="#MySolveAgent-59"><span class="linenos">59</span></a> <span class="n">status</span> <span class="o">=</span> <span class="n">RiddleStatus</span><span class="p">()</span>
</span><span id="MySolveAgent-60"><a href="#MySolveAgent-60"><span class="linenos">60</span></a> <span class="n">status</span><span class="o">.</span><span class="n">extract</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="MySolveAgent-61"><a href="#MySolveAgent-61"><span class="linenos">61</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sub_riddle</span><span class="p">(</span><span class="n">riddle</span><span class="o">=</span><span class="n">Riddle</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="s2">&quot;Haha&quot;</span><span class="p">,</span> <span class="n">question</span><span class="o">=</span><span class="s2">&quot;Blubber&quot;</span><span class="p">),</span> <span class="n">status</span><span class="o">=</span><span class="n">status</span><span class="p">)</span>
</span><span id="MySolveAgent-62"><a href="#MySolveAgent-62"><span class="linenos">62</span></a>
</span><span id="MySolveAgent-63"><a href="#MySolveAgent-63"><span class="linenos">63</span></a> <span class="k">return</span> <span class="n">RiddleSolution</span><span class="p">(</span><span class="n">solution</span><span class="o">=</span><span class="s2">&quot;Huii&quot;</span><span class="p">,</span> <span class="n">explanation</span><span class="o">=</span><span class="s2">&quot;Blubb&quot;</span><span class="p">)</span>
</span></pre></div>
@ -440,20 +461,23 @@ Thus, by overwriting this method, a response can be prevented.</p>
<div class="attr function">
<span class="def">def</span>
<span class="name">handle</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">riddle</span><span class="p">:</span> <span class="n"><a href="../utils/types.html#Riddle">ums.utils.types.Riddle</a></span>,</span><span class="param"> <span class="n">data</span><span class="p">:</span> <span class="n"><a href="../utils/types.html#RiddleData">ums.utils.types.RiddleData</a></span></span><span class="return-annotation">) -> <span class="n"><a href="../utils/types.html#RiddleSolution">ums.utils.types.RiddleSolution</a></span>:</span></span>
<span class="name">handle</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">riddle</span><span class="p">:</span> <span class="n"><a href="../utils/types.html#Riddle">ums.utils.types.Riddle</a></span>,</span><span class="param"> <span class="n">data</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n"><a href="../utils/types.html#RiddleData">ums.utils.types.RiddleData</a></span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n"><a href="../utils/types.html#RiddleSolution">ums.utils.types.RiddleSolution</a></span>:</span></span>
<label class="view-source-button" for="MySolveAgent.handle-view-source"><span>View Source</span></label>
</div>
<a class="headerlink" href="#MySolveAgent.handle"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MySolveAgent.handle-50"><a href="#MySolveAgent.handle-50"><span class="linenos">50</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">RiddleData</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MySolveAgent.handle-51"><a href="#MySolveAgent.handle-51"><span class="linenos">51</span></a>
</span><span id="MySolveAgent.handle-52"><a href="#MySolveAgent.handle-52"><span class="linenos">52</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">()</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="s2">&quot;test&quot;</span><span class="p">:</span>
</span><span id="MySolveAgent.handle-53"><a href="#MySolveAgent.handle-53"><span class="linenos">53</span></a> <span class="n">status</span> <span class="o">=</span> <span class="n">RiddleStatus</span><span class="p">()</span>
</span><span id="MySolveAgent.handle-54"><a href="#MySolveAgent.handle-54"><span class="linenos">54</span></a> <span class="n">status</span><span class="o">.</span><span class="n">extract</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="MySolveAgent.handle-55"><a href="#MySolveAgent.handle-55"><span class="linenos">55</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sub_riddle</span><span class="p">(</span><span class="n">riddle</span><span class="o">=</span><span class="n">Riddle</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="s2">&quot;Haha&quot;</span><span class="p">,</span> <span class="n">question</span><span class="o">=</span><span class="s2">&quot;Blubber&quot;</span><span class="p">),</span> <span class="n">status</span><span class="o">=</span><span class="n">status</span><span class="p">)</span>
</span><span id="MySolveAgent.handle-56"><a href="#MySolveAgent.handle-56"><span class="linenos">56</span></a>
</span><span id="MySolveAgent.handle-57"><a href="#MySolveAgent.handle-57"><span class="linenos">57</span></a> <span class="k">return</span> <span class="n">RiddleSolution</span><span class="p">(</span><span class="n">solution</span><span class="o">=</span><span class="s2">&quot;Huii&quot;</span><span class="p">,</span> <span class="n">explanation</span><span class="o">=</span><span class="s2">&quot;Blubb&quot;</span><span class="p">)</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="MySolveAgent.handle-53"><a href="#MySolveAgent.handle-53"><span class="linenos">53</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">RiddleData</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MySolveAgent.handle-54"><a href="#MySolveAgent.handle-54"><span class="linenos">54</span></a>
</span><span id="MySolveAgent.handle-55"><a href="#MySolveAgent.handle-55"><span class="linenos">55</span></a> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
</span><span id="MySolveAgent.handle-56"><a href="#MySolveAgent.handle-56"><span class="linenos">56</span></a> <span class="nb">print</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_extracted</span><span class="p">(</span><span class="n">d</span><span class="p">))</span>
</span><span id="MySolveAgent.handle-57"><a href="#MySolveAgent.handle-57"><span class="linenos">57</span></a>
</span><span id="MySolveAgent.handle-58"><a href="#MySolveAgent.handle-58"><span class="linenos">58</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span><span class="p">()</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="s2">&quot;test&quot;</span><span class="p">:</span>
</span><span id="MySolveAgent.handle-59"><a href="#MySolveAgent.handle-59"><span class="linenos">59</span></a> <span class="n">status</span> <span class="o">=</span> <span class="n">RiddleStatus</span><span class="p">()</span>
</span><span id="MySolveAgent.handle-60"><a href="#MySolveAgent.handle-60"><span class="linenos">60</span></a> <span class="n">status</span><span class="o">.</span><span class="n">extract</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="MySolveAgent.handle-61"><a href="#MySolveAgent.handle-61"><span class="linenos">61</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">sub_riddle</span><span class="p">(</span><span class="n">riddle</span><span class="o">=</span><span class="n">Riddle</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="s2">&quot;Haha&quot;</span><span class="p">,</span> <span class="n">question</span><span class="o">=</span><span class="s2">&quot;Blubber&quot;</span><span class="p">),</span> <span class="n">status</span><span class="o">=</span><span class="n">status</span><span class="p">)</span>
</span><span id="MySolveAgent.handle-62"><a href="#MySolveAgent.handle-62"><span class="linenos">62</span></a>
</span><span id="MySolveAgent.handle-63"><a href="#MySolveAgent.handle-63"><span class="linenos">63</span></a> <span class="k">return</span> <span class="n">RiddleSolution</span><span class="p">(</span><span class="n">solution</span><span class="o">=</span><span class="s2">&quot;Huii&quot;</span><span class="p">,</span> <span class="n">explanation</span><span class="o">=</span><span class="s2">&quot;Blubb&quot;</span><span class="p">)</span>
</span></pre></div>
@ -470,6 +494,7 @@ Thus, by overwriting this method, a response can be prevented.</p>
<dd id="MySolveAgent.before_response" class="function"><a href="../agent/agent.html#BasicAgent.before_response">before_response</a></dd>
<dd id="MySolveAgent.message" class="function"><a href="../agent/agent.html#BasicAgent.message">message</a></dd>
<dd id="MySolveAgent.sub_riddle" class="function"><a href="../agent/agent.html#BasicAgent.sub_riddle">sub_riddle</a></dd>
<dd id="MySolveAgent.get_extracted" class="function"><a href="../agent/agent.html#BasicAgent.get_extracted">get_extracted</a></dd>
</div>
<div><dt><a href="../agent/agent.html#SolveAgent">ums.agent.agent.SolveAgent</a></dt>
@ -490,13 +515,13 @@ Thus, by overwriting this method, a response can be prevented.</p>
</div>
<a class="headerlink" href="#MyGatekeeperAgent"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyGatekeeperAgent-60"><a href="#MyGatekeeperAgent-60"><span class="linenos">60</span></a><span class="k">class</span> <span class="nc">MyGatekeeperAgent</span><span class="p">(</span><span class="n">GatekeeperAgent</span><span class="p">):</span>
</span><span id="MyGatekeeperAgent-61"><a href="#MyGatekeeperAgent-61"><span class="linenos">61</span></a>
</span><span id="MyGatekeeperAgent-62"><a href="#MyGatekeeperAgent-62"><span class="linenos">62</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MyGatekeeperAgent-63"><a href="#MyGatekeeperAgent-63"><span class="linenos">63</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="MyGatekeeperAgent-64"><a href="#MyGatekeeperAgent-64"><span class="linenos">64</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">review</span> <span class="o">=</span> <span class="s2">&quot;Ok&quot;</span>
</span><span id="MyGatekeeperAgent-65"><a href="#MyGatekeeperAgent-65"><span class="linenos">65</span></a>
</span><span id="MyGatekeeperAgent-66"><a href="#MyGatekeeperAgent-66"><span class="linenos">66</span></a> <span class="k">return</span> <span class="n">solution</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyGatekeeperAgent-66"><a href="#MyGatekeeperAgent-66"><span class="linenos">66</span></a><span class="k">class</span> <span class="nc">MyGatekeeperAgent</span><span class="p">(</span><span class="n">GatekeeperAgent</span><span class="p">):</span>
</span><span id="MyGatekeeperAgent-67"><a href="#MyGatekeeperAgent-67"><span class="linenos">67</span></a>
</span><span id="MyGatekeeperAgent-68"><a href="#MyGatekeeperAgent-68"><span class="linenos">68</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MyGatekeeperAgent-69"><a href="#MyGatekeeperAgent-69"><span class="linenos">69</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="MyGatekeeperAgent-70"><a href="#MyGatekeeperAgent-70"><span class="linenos">70</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">review</span> <span class="o">=</span> <span class="s2">&quot;Ok&quot;</span>
</span><span id="MyGatekeeperAgent-71"><a href="#MyGatekeeperAgent-71"><span class="linenos">71</span></a>
</span><span id="MyGatekeeperAgent-72"><a href="#MyGatekeeperAgent-72"><span class="linenos">72</span></a> <span class="k">return</span> <span class="n">solution</span>
</span></pre></div>
@ -515,11 +540,11 @@ Thus, by overwriting this method, a response can be prevented.</p>
</div>
<a class="headerlink" href="#MyGatekeeperAgent.handle"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyGatekeeperAgent.handle-62"><a href="#MyGatekeeperAgent.handle-62"><span class="linenos">62</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MyGatekeeperAgent.handle-63"><a href="#MyGatekeeperAgent.handle-63"><span class="linenos">63</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="MyGatekeeperAgent.handle-64"><a href="#MyGatekeeperAgent.handle-64"><span class="linenos">64</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">review</span> <span class="o">=</span> <span class="s2">&quot;Ok&quot;</span>
</span><span id="MyGatekeeperAgent.handle-65"><a href="#MyGatekeeperAgent.handle-65"><span class="linenos">65</span></a>
</span><span id="MyGatekeeperAgent.handle-66"><a href="#MyGatekeeperAgent.handle-66"><span class="linenos">66</span></a> <span class="k">return</span> <span class="n">solution</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="MyGatekeeperAgent.handle-68"><a href="#MyGatekeeperAgent.handle-68"><span class="linenos">68</span></a> <span class="k">def</span> <span class="nf">handle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span> <span class="n">RiddleSolution</span><span class="p">,</span> <span class="n">riddle</span><span class="p">:</span> <span class="n">Riddle</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">RiddleSolution</span><span class="p">:</span>
</span><span id="MyGatekeeperAgent.handle-69"><a href="#MyGatekeeperAgent.handle-69"><span class="linenos">69</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="MyGatekeeperAgent.handle-70"><a href="#MyGatekeeperAgent.handle-70"><span class="linenos">70</span></a> <span class="n">solution</span><span class="o">.</span><span class="n">review</span> <span class="o">=</span> <span class="s2">&quot;Ok&quot;</span>
</span><span id="MyGatekeeperAgent.handle-71"><a href="#MyGatekeeperAgent.handle-71"><span class="linenos">71</span></a>
</span><span id="MyGatekeeperAgent.handle-72"><a href="#MyGatekeeperAgent.handle-72"><span class="linenos">72</span></a> <span class="k">return</span> <span class="n">solution</span>
</span></pre></div>
@ -536,6 +561,7 @@ Thus, by overwriting this method, a response can be prevented.</p>
<dd id="MyGatekeeperAgent.before_response" class="function"><a href="../agent/agent.html#BasicAgent.before_response">before_response</a></dd>
<dd id="MyGatekeeperAgent.message" class="function"><a href="../agent/agent.html#BasicAgent.message">message</a></dd>
<dd id="MyGatekeeperAgent.sub_riddle" class="function"><a href="../agent/agent.html#BasicAgent.sub_riddle">sub_riddle</a></dd>
<dd id="MyGatekeeperAgent.get_extracted" class="function"><a href="../agent/agent.html#BasicAgent.get_extracted">get_extracted</a></dd>
</div>
<div><dt><a href="../agent/agent.html#GatekeeperAgent">ums.agent.agent.GatekeeperAgent</a></dt>

View File

@ -104,6 +104,11 @@
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a><span class="kn">from</span> <span class="nn">ums.utils.request</span> <span class="kn">import</span> <span class="n">ManagementRequest</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a><span class="kn">from</span> <span class="nn">ums.utils.functions</span> <span class="kn">import</span> <span class="n">list_shared_data</span><span class="p">,</span> <span class="n">list_shared_schema</span>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a>
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a><span class="kn">from</span> <span class="nn">ums.utils.schema</span> <span class="kn">import</span> <span class="p">(</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="n">ExtractionSchema</span><span class="p">,</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a> <span class="n">ExtractedData</span>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="p">)</span>
</span></pre></div>

View File

@ -38,6 +38,48 @@
</ul>
</li>
<li>
<a class="class" href="#ExtractedContent">ExtractedContent</a>
<ul class="memberlist">
<li>
<a class="variable" href="#ExtractedContent.type">type</a>
</li>
<li>
<a class="variable" href="#ExtractedContent.content">content</a>
</li>
</ul>
</li>
<li>
<a class="class" href="#ExtractedPositions">ExtractedPositions</a>
<ul class="memberlist">
<li>
<a class="variable" href="#ExtractedPositions.type">type</a>
</li>
<li>
<a class="variable" href="#ExtractedPositions.position">position</a>
</li>
<li>
<a class="variable" href="#ExtractedPositions.description">description</a>
</li>
</ul>
</li>
<li>
<a class="class" href="#ExtractedData">ExtractedData</a>
<ul class="memberlist">
<li>
<a class="variable" href="#ExtractedData.contents">contents</a>
</li>
<li>
<a class="variable" href="#ExtractedData.positions">positions</a>
</li>
<li>
<a class="variable" href="#ExtractedData.other">other</a>
</li>
</ul>
</li>
</ul>
@ -57,6 +99,8 @@
<div class="docstring"><p>This represents the basic types used for representing extracted information from the data.
The types are implemented using <a href="https://docs.pydantic.dev/">pydantic</a>.
It provides validation, allow JSON serialization and works well with <a href="https://fastapi.tiangolo.com/">FastAPI</a> which is used internally for the http request between the agents and the management.</p>
<p><strong>This is work in progress!</strong></p>
</div>
<input id="mod-schema-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
@ -78,18 +122,75 @@ It provides validation, allow JSON serialization and works well with <a href="ht
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="sd"> The types are implemented using [pydantic](https://docs.pydantic.dev/).</span>
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="sd"> It provides validation, allow JSON serialization and works well with [FastAPI](https://fastapi.tiangolo.com/) which is used internally for the http request between the agents and the management.</span>
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a>
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a>
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span>
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a>
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">List</span><span class="p">,</span> <span class="n">Any</span>
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a>
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="kn">from</span> <span class="nn">pydantic</span> <span class="kn">import</span> <span class="n">BaseModel</span>
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a>
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a><span class="k">class</span> <span class="nc">ExtractionSchema</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="sd"> This is the basic class used as superclass for all extracted information from data items.</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a><span class="sd"> **This is work in progress!**</span>
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a>
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">List</span><span class="p">,</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Dict</span>
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a>
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="kn">from</span> <span class="nn">pydantic</span> <span class="kn">import</span> <span class="n">BaseModel</span>
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a>
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a><span class="k">class</span> <span class="nc">ExtractionSchema</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="sd"> This is the basic class used as superclass for all extracted information from data items.</span>
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a>
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a><span class="sd"> For all the `ExtractionSchema` is is required that the data can be serialized to json. </span>
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> Thus, mostly only default data types like `int, str, bool, list, dict, tuple` also including `ExtractionSchema` and `RiddleInformation` can be used here!</span>
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a>
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a><span class="k">class</span> <span class="nc">ExtractedContent</span><span class="p">(</span><span class="n">ExtractionSchema</span><span class="p">):</span>
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a><span class="sd"> An extracted content item.</span>
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a>
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="nb">type</span> <span class="p">:</span> <span class="nb">str</span>
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a><span class="sd"> The type, as a string, the actual string will depend on the extraction agent.</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a> <span class="n">content</span> <span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Any</span>
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a><span class="sd"> The extracted content</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a><span class="k">class</span> <span class="nc">ExtractedPositions</span><span class="p">(</span><span class="n">ExtractionSchema</span><span class="p">):</span>
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> A position (like time, coordinates, ...) where something was extracted (each position should belong to a content item).</span>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="nb">type</span> <span class="p">:</span> <span class="nb">str</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a><span class="sd"> The type, as a string, the actual string will depend on the extraction agent.</span>
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a>
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="n">position</span> <span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">int</span> <span class="o">|</span> <span class="n">Any</span>
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a><span class="sd"> The position, will also depend on the extraction agent.</span>
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a>
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="n">description</span> <span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Any</span> <span class="o">=</span> <span class="kc">None</span>
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a><span class="sd"> An optional description for more details.</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a>
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a><span class="k">class</span> <span class="nc">ExtractedData</span><span class="p">(</span><span class="n">ExtractionSchema</span><span class="p">):</span>
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a><span class="sd"> Contains the extracted items from a data file.</span>
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a>
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="n">contents</span> <span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ExtractedContent</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a><span class="sd"> The extracted contents (i.e., transcriptions etc.), each item here should belong a position item at the same index.</span>
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a>
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="n">positions</span> <span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ExtractedPositions</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a><span class="sd"> The positions of extracted contents, each item here should belong a content item at the same index.</span>
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a>
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a> <span class="n">other</span> <span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-82"><a href="#L-82"><span class="linenos">82</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-83"><a href="#L-83"><span class="linenos">83</span></a><span class="sd"> Possibly more data. Use a keywords (depending on agent) and store the data there.</span>
</span><span id="L-84"><a href="#L-84"><span class="linenos">84</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span></pre></div>
@ -105,14 +206,20 @@ It provides validation, allow JSON serialization and works well with <a href="ht
</div>
<a class="headerlink" href="#ExtractionSchema"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ExtractionSchema-25"><a href="#ExtractionSchema-25"><span class="linenos">25</span></a><span class="k">class</span> <span class="nc">ExtractionSchema</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="ExtractionSchema-26"><a href="#ExtractionSchema-26"><span class="linenos">26</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractionSchema-27"><a href="#ExtractionSchema-27"><span class="linenos">27</span></a><span class="sd"> This is the basic class used as superclass for all extracted information from data items.</span>
</span><span id="ExtractionSchema-28"><a href="#ExtractionSchema-28"><span class="linenos">28</span></a><span class="sd"> &quot;&quot;&quot;</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="ExtractionSchema-24"><a href="#ExtractionSchema-24"><span class="linenos">24</span></a><span class="k">class</span> <span class="nc">ExtractionSchema</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
</span><span id="ExtractionSchema-25"><a href="#ExtractionSchema-25"><span class="linenos">25</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractionSchema-26"><a href="#ExtractionSchema-26"><span class="linenos">26</span></a><span class="sd"> This is the basic class used as superclass for all extracted information from data items.</span>
</span><span id="ExtractionSchema-27"><a href="#ExtractionSchema-27"><span class="linenos">27</span></a>
</span><span id="ExtractionSchema-28"><a href="#ExtractionSchema-28"><span class="linenos">28</span></a><span class="sd"> For all the `ExtractionSchema` is is required that the data can be serialized to json. </span>
</span><span id="ExtractionSchema-29"><a href="#ExtractionSchema-29"><span class="linenos">29</span></a><span class="sd"> Thus, mostly only default data types like `int, str, bool, list, dict, tuple` also including `ExtractionSchema` and `RiddleInformation` can be used here!</span>
</span><span id="ExtractionSchema-30"><a href="#ExtractionSchema-30"><span class="linenos">30</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span></pre></div>
<div class="docstring"><p>This is the basic class used as superclass for all extracted information from data items.</p>
<p>For all the <code><a href="#ExtractionSchema">ExtractionSchema</a></code> is is required that the data can be serialized to json.
Thus, mostly only default data types like <code>int, str, bool, list, dict, tuple</code> also including <code><a href="#ExtractionSchema">ExtractionSchema</a></code> and <code>RiddleInformation</code> can be used here!</p>
</div>
@ -151,6 +258,321 @@ It provides validation, allow JSON serialization and works well with <a href="ht
</dl>
</div>
</section>
<section id="ExtractedContent">
<input id="ExtractedContent-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr class">
<span class="def">class</span>
<span class="name">ExtractedContent</span><wbr>(<span class="base"><a href="#ExtractionSchema">ExtractionSchema</a></span>):
<label class="view-source-button" for="ExtractedContent-view-source"><span>View Source</span></label>
</div>
<a class="headerlink" href="#ExtractedContent"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ExtractedContent-32"><a href="#ExtractedContent-32"><span class="linenos">32</span></a><span class="k">class</span> <span class="nc">ExtractedContent</span><span class="p">(</span><span class="n">ExtractionSchema</span><span class="p">):</span>
</span><span id="ExtractedContent-33"><a href="#ExtractedContent-33"><span class="linenos">33</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedContent-34"><a href="#ExtractedContent-34"><span class="linenos">34</span></a><span class="sd"> An extracted content item.</span>
</span><span id="ExtractedContent-35"><a href="#ExtractedContent-35"><span class="linenos">35</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedContent-36"><a href="#ExtractedContent-36"><span class="linenos">36</span></a>
</span><span id="ExtractedContent-37"><a href="#ExtractedContent-37"><span class="linenos">37</span></a> <span class="nb">type</span> <span class="p">:</span> <span class="nb">str</span>
</span><span id="ExtractedContent-38"><a href="#ExtractedContent-38"><span class="linenos">38</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedContent-39"><a href="#ExtractedContent-39"><span class="linenos">39</span></a><span class="sd"> The type, as a string, the actual string will depend on the extraction agent.</span>
</span><span id="ExtractedContent-40"><a href="#ExtractedContent-40"><span class="linenos">40</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedContent-41"><a href="#ExtractedContent-41"><span class="linenos">41</span></a>
</span><span id="ExtractedContent-42"><a href="#ExtractedContent-42"><span class="linenos">42</span></a> <span class="n">content</span> <span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Any</span>
</span><span id="ExtractedContent-43"><a href="#ExtractedContent-43"><span class="linenos">43</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedContent-44"><a href="#ExtractedContent-44"><span class="linenos">44</span></a><span class="sd"> The extracted content</span>
</span><span id="ExtractedContent-45"><a href="#ExtractedContent-45"><span class="linenos">45</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span></pre></div>
<div class="docstring"><p>An extracted content item.</p>
</div>
<div id="ExtractedContent.type" class="classattr">
<div class="attr variable">
<span class="name">type</span><span class="annotation">: str</span>
</div>
<a class="headerlink" href="#ExtractedContent.type"></a>
<div class="docstring"><p>The type, as a string, the actual string will depend on the extraction agent.</p>
</div>
</div>
<div id="ExtractedContent.content" class="classattr">
<div class="attr variable">
<span class="name">content</span><span class="annotation">: str | typing.Any</span>
</div>
<a class="headerlink" href="#ExtractedContent.content"></a>
<div class="docstring"><p>The extracted content</p>
</div>
</div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt>pydantic.main.BaseModel</dt>
<dd id="ExtractedContent.__init__" class="function">BaseModel</dd>
<dd id="ExtractedContent.model_extra" class="variable">model_extra</dd>
<dd id="ExtractedContent.model_fields_set" class="variable">model_fields_set</dd>
<dd id="ExtractedContent.model_construct" class="function">model_construct</dd>
<dd id="ExtractedContent.model_copy" class="function">model_copy</dd>
<dd id="ExtractedContent.model_dump" class="function">model_dump</dd>
<dd id="ExtractedContent.model_dump_json" class="function">model_dump_json</dd>
<dd id="ExtractedContent.model_json_schema" class="function">model_json_schema</dd>
<dd id="ExtractedContent.model_parametrized_name" class="function">model_parametrized_name</dd>
<dd id="ExtractedContent.model_post_init" class="function">model_post_init</dd>
<dd id="ExtractedContent.model_rebuild" class="function">model_rebuild</dd>
<dd id="ExtractedContent.model_validate" class="function">model_validate</dd>
<dd id="ExtractedContent.model_validate_json" class="function">model_validate_json</dd>
<dd id="ExtractedContent.model_validate_strings" class="function">model_validate_strings</dd>
<dd id="ExtractedContent.dict" class="function">dict</dd>
<dd id="ExtractedContent.json" class="function">json</dd>
<dd id="ExtractedContent.parse_obj" class="function">parse_obj</dd>
<dd id="ExtractedContent.parse_raw" class="function">parse_raw</dd>
<dd id="ExtractedContent.parse_file" class="function">parse_file</dd>
<dd id="ExtractedContent.from_orm" class="function">from_orm</dd>
<dd id="ExtractedContent.construct" class="function">construct</dd>
<dd id="ExtractedContent.copy" class="function">copy</dd>
<dd id="ExtractedContent.schema" class="function">schema</dd>
<dd id="ExtractedContent.schema_json" class="function">schema_json</dd>
<dd id="ExtractedContent.validate" class="function">validate</dd>
<dd id="ExtractedContent.update_forward_refs" class="function">update_forward_refs</dd>
</div>
</dl>
</div>
</section>
<section id="ExtractedPositions">
<input id="ExtractedPositions-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr class">
<span class="def">class</span>
<span class="name">ExtractedPositions</span><wbr>(<span class="base"><a href="#ExtractionSchema">ExtractionSchema</a></span>):
<label class="view-source-button" for="ExtractedPositions-view-source"><span>View Source</span></label>
</div>
<a class="headerlink" href="#ExtractedPositions"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ExtractedPositions-47"><a href="#ExtractedPositions-47"><span class="linenos">47</span></a><span class="k">class</span> <span class="nc">ExtractedPositions</span><span class="p">(</span><span class="n">ExtractionSchema</span><span class="p">):</span>
</span><span id="ExtractedPositions-48"><a href="#ExtractedPositions-48"><span class="linenos">48</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedPositions-49"><a href="#ExtractedPositions-49"><span class="linenos">49</span></a><span class="sd"> A position (like time, coordinates, ...) where something was extracted (each position should belong to a content item).</span>
</span><span id="ExtractedPositions-50"><a href="#ExtractedPositions-50"><span class="linenos">50</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedPositions-51"><a href="#ExtractedPositions-51"><span class="linenos">51</span></a>
</span><span id="ExtractedPositions-52"><a href="#ExtractedPositions-52"><span class="linenos">52</span></a> <span class="nb">type</span> <span class="p">:</span> <span class="nb">str</span>
</span><span id="ExtractedPositions-53"><a href="#ExtractedPositions-53"><span class="linenos">53</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedPositions-54"><a href="#ExtractedPositions-54"><span class="linenos">54</span></a><span class="sd"> The type, as a string, the actual string will depend on the extraction agent.</span>
</span><span id="ExtractedPositions-55"><a href="#ExtractedPositions-55"><span class="linenos">55</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedPositions-56"><a href="#ExtractedPositions-56"><span class="linenos">56</span></a>
</span><span id="ExtractedPositions-57"><a href="#ExtractedPositions-57"><span class="linenos">57</span></a> <span class="n">position</span> <span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">int</span> <span class="o">|</span> <span class="n">Any</span>
</span><span id="ExtractedPositions-58"><a href="#ExtractedPositions-58"><span class="linenos">58</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedPositions-59"><a href="#ExtractedPositions-59"><span class="linenos">59</span></a><span class="sd"> The position, will also depend on the extraction agent.</span>
</span><span id="ExtractedPositions-60"><a href="#ExtractedPositions-60"><span class="linenos">60</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedPositions-61"><a href="#ExtractedPositions-61"><span class="linenos">61</span></a>
</span><span id="ExtractedPositions-62"><a href="#ExtractedPositions-62"><span class="linenos">62</span></a> <span class="n">description</span> <span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Any</span> <span class="o">=</span> <span class="kc">None</span>
</span><span id="ExtractedPositions-63"><a href="#ExtractedPositions-63"><span class="linenos">63</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedPositions-64"><a href="#ExtractedPositions-64"><span class="linenos">64</span></a><span class="sd"> An optional description for more details.</span>
</span><span id="ExtractedPositions-65"><a href="#ExtractedPositions-65"><span class="linenos">65</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span></pre></div>
<div class="docstring"><p>A position (like time, coordinates, ...) where something was extracted (each position should belong to a content item).</p>
</div>
<div id="ExtractedPositions.type" class="classattr">
<div class="attr variable">
<span class="name">type</span><span class="annotation">: str</span>
</div>
<a class="headerlink" href="#ExtractedPositions.type"></a>
<div class="docstring"><p>The type, as a string, the actual string will depend on the extraction agent.</p>
</div>
</div>
<div id="ExtractedPositions.position" class="classattr">
<div class="attr variable">
<span class="name">position</span><span class="annotation">: str | int | typing.Any</span>
</div>
<a class="headerlink" href="#ExtractedPositions.position"></a>
<div class="docstring"><p>The position, will also depend on the extraction agent.</p>
</div>
</div>
<div id="ExtractedPositions.description" class="classattr">
<div class="attr variable">
<span class="name">description</span><span class="annotation">: str | typing.Any</span>
</div>
<a class="headerlink" href="#ExtractedPositions.description"></a>
<div class="docstring"><p>An optional description for more details.</p>
</div>
</div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt>pydantic.main.BaseModel</dt>
<dd id="ExtractedPositions.__init__" class="function">BaseModel</dd>
<dd id="ExtractedPositions.model_extra" class="variable">model_extra</dd>
<dd id="ExtractedPositions.model_fields_set" class="variable">model_fields_set</dd>
<dd id="ExtractedPositions.model_construct" class="function">model_construct</dd>
<dd id="ExtractedPositions.model_copy" class="function">model_copy</dd>
<dd id="ExtractedPositions.model_dump" class="function">model_dump</dd>
<dd id="ExtractedPositions.model_dump_json" class="function">model_dump_json</dd>
<dd id="ExtractedPositions.model_json_schema" class="function">model_json_schema</dd>
<dd id="ExtractedPositions.model_parametrized_name" class="function">model_parametrized_name</dd>
<dd id="ExtractedPositions.model_post_init" class="function">model_post_init</dd>
<dd id="ExtractedPositions.model_rebuild" class="function">model_rebuild</dd>
<dd id="ExtractedPositions.model_validate" class="function">model_validate</dd>
<dd id="ExtractedPositions.model_validate_json" class="function">model_validate_json</dd>
<dd id="ExtractedPositions.model_validate_strings" class="function">model_validate_strings</dd>
<dd id="ExtractedPositions.dict" class="function">dict</dd>
<dd id="ExtractedPositions.json" class="function">json</dd>
<dd id="ExtractedPositions.parse_obj" class="function">parse_obj</dd>
<dd id="ExtractedPositions.parse_raw" class="function">parse_raw</dd>
<dd id="ExtractedPositions.parse_file" class="function">parse_file</dd>
<dd id="ExtractedPositions.from_orm" class="function">from_orm</dd>
<dd id="ExtractedPositions.construct" class="function">construct</dd>
<dd id="ExtractedPositions.copy" class="function">copy</dd>
<dd id="ExtractedPositions.schema" class="function">schema</dd>
<dd id="ExtractedPositions.schema_json" class="function">schema_json</dd>
<dd id="ExtractedPositions.validate" class="function">validate</dd>
<dd id="ExtractedPositions.update_forward_refs" class="function">update_forward_refs</dd>
</div>
</dl>
</div>
</section>
<section id="ExtractedData">
<input id="ExtractedData-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr class">
<span class="def">class</span>
<span class="name">ExtractedData</span><wbr>(<span class="base"><a href="#ExtractionSchema">ExtractionSchema</a></span>):
<label class="view-source-button" for="ExtractedData-view-source"><span>View Source</span></label>
</div>
<a class="headerlink" href="#ExtractedData"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ExtractedData-67"><a href="#ExtractedData-67"><span class="linenos">67</span></a><span class="k">class</span> <span class="nc">ExtractedData</span><span class="p">(</span><span class="n">ExtractionSchema</span><span class="p">):</span>
</span><span id="ExtractedData-68"><a href="#ExtractedData-68"><span class="linenos">68</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedData-69"><a href="#ExtractedData-69"><span class="linenos">69</span></a><span class="sd"> Contains the extracted items from a data file.</span>
</span><span id="ExtractedData-70"><a href="#ExtractedData-70"><span class="linenos">70</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedData-71"><a href="#ExtractedData-71"><span class="linenos">71</span></a>
</span><span id="ExtractedData-72"><a href="#ExtractedData-72"><span class="linenos">72</span></a> <span class="n">contents</span> <span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ExtractedContent</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="ExtractedData-73"><a href="#ExtractedData-73"><span class="linenos">73</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedData-74"><a href="#ExtractedData-74"><span class="linenos">74</span></a><span class="sd"> The extracted contents (i.e., transcriptions etc.), each item here should belong a position item at the same index.</span>
</span><span id="ExtractedData-75"><a href="#ExtractedData-75"><span class="linenos">75</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedData-76"><a href="#ExtractedData-76"><span class="linenos">76</span></a>
</span><span id="ExtractedData-77"><a href="#ExtractedData-77"><span class="linenos">77</span></a> <span class="n">positions</span> <span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ExtractedPositions</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="ExtractedData-78"><a href="#ExtractedData-78"><span class="linenos">78</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedData-79"><a href="#ExtractedData-79"><span class="linenos">79</span></a><span class="sd"> The positions of extracted contents, each item here should belong a content item at the same index.</span>
</span><span id="ExtractedData-80"><a href="#ExtractedData-80"><span class="linenos">80</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ExtractedData-81"><a href="#ExtractedData-81"><span class="linenos">81</span></a>
</span><span id="ExtractedData-82"><a href="#ExtractedData-82"><span class="linenos">82</span></a> <span class="n">other</span> <span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="ExtractedData-83"><a href="#ExtractedData-83"><span class="linenos">83</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ExtractedData-84"><a href="#ExtractedData-84"><span class="linenos">84</span></a><span class="sd"> Possibly more data. Use a keywords (depending on agent) and store the data there.</span>
</span><span id="ExtractedData-85"><a href="#ExtractedData-85"><span class="linenos">85</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span></pre></div>
<div class="docstring"><p>Contains the extracted items from a data file.</p>
</div>
<div id="ExtractedData.contents" class="classattr">
<div class="attr variable">
<span class="name">contents</span><span class="annotation">: List[<a href="#ExtractedContent">ExtractedContent</a>]</span>
</div>
<a class="headerlink" href="#ExtractedData.contents"></a>
<div class="docstring"><p>The extracted contents (i.e., transcriptions etc.), each item here should belong a position item at the same index.</p>
</div>
</div>
<div id="ExtractedData.positions" class="classattr">
<div class="attr variable">
<span class="name">positions</span><span class="annotation">: List[<a href="#ExtractedPositions">ExtractedPositions</a>]</span>
</div>
<a class="headerlink" href="#ExtractedData.positions"></a>
<div class="docstring"><p>The positions of extracted contents, each item here should belong a content item at the same index.</p>
</div>
</div>
<div id="ExtractedData.other" class="classattr">
<div class="attr variable">
<span class="name">other</span><span class="annotation">: Dict[str, Any]</span>
</div>
<a class="headerlink" href="#ExtractedData.other"></a>
<div class="docstring"><p>Possibly more data. Use a keywords (depending on agent) and store the data there.</p>
</div>
</div>
<div class="inherited">
<h5>Inherited Members</h5>
<dl>
<div><dt>pydantic.main.BaseModel</dt>
<dd id="ExtractedData.__init__" class="function">BaseModel</dd>
<dd id="ExtractedData.model_extra" class="variable">model_extra</dd>
<dd id="ExtractedData.model_fields_set" class="variable">model_fields_set</dd>
<dd id="ExtractedData.model_construct" class="function">model_construct</dd>
<dd id="ExtractedData.model_copy" class="function">model_copy</dd>
<dd id="ExtractedData.model_dump" class="function">model_dump</dd>
<dd id="ExtractedData.model_dump_json" class="function">model_dump_json</dd>
<dd id="ExtractedData.model_json_schema" class="function">model_json_schema</dd>
<dd id="ExtractedData.model_parametrized_name" class="function">model_parametrized_name</dd>
<dd id="ExtractedData.model_post_init" class="function">model_post_init</dd>
<dd id="ExtractedData.model_rebuild" class="function">model_rebuild</dd>
<dd id="ExtractedData.model_validate" class="function">model_validate</dd>
<dd id="ExtractedData.model_validate_json" class="function">model_validate_json</dd>
<dd id="ExtractedData.model_validate_strings" class="function">model_validate_strings</dd>
<dd id="ExtractedData.dict" class="function">dict</dd>
<dd id="ExtractedData.json" class="function">json</dd>
<dd id="ExtractedData.parse_obj" class="function">parse_obj</dd>
<dd id="ExtractedData.parse_raw" class="function">parse_raw</dd>
<dd id="ExtractedData.parse_file" class="function">parse_file</dd>
<dd id="ExtractedData.from_orm" class="function">from_orm</dd>
<dd id="ExtractedData.construct" class="function">construct</dd>
<dd id="ExtractedData.copy" class="function">copy</dd>
<dd id="ExtractedData.schema" class="function">schema</dd>
<dd id="ExtractedData.schema_json" class="function">schema_json</dd>
<dd id="ExtractedData.validate" class="function">validate</dd>
<dd id="ExtractedData.update_forward_refs" class="function">update_forward_refs</dd>
</div>
</dl>
</div>
</section>
</main>
<script>
function escapeHTML(html) {

View File

@ -949,7 +949,7 @@ is set to <code>'allow'</code>.</li>
</div>
<div id="RiddleData.file_plain" class="classattr">
<div class="attr variable">
<span class="name">file_plain</span><span class="annotation">: Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x101d893a0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x1020ad800&gt;, json_schema_input_type=PydanticUndefined)]</span>
<span class="name">file_plain</span><span class="annotation">: Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x1029c23e0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x102a73100&gt;, json_schema_input_type=PydanticUndefined)]</span>
</div>
@ -965,7 +965,7 @@ The file must exist.</p>
</div>
<div id="RiddleData.file_extracted" class="classattr">
<div class="attr variable">
<span class="name">file_extracted</span><span class="annotation">: Optional[Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x101d893a0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x1020ad800&gt;, json_schema_input_type=PydanticUndefined)]]</span>
<span class="name">file_extracted</span><span class="annotation">: Optional[Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x1029c23e0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x102a73100&gt;, json_schema_input_type=PydanticUndefined)]]</span>
</div>