mirror of
https://github.com/evennia/evennia.git
synced 2026-03-29 12:07:17 +02:00
Updated HTML docs.
This commit is contained in:
parent
f1660c3aac
commit
04b0b43bcf
69 changed files with 2403 additions and 171 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 5e20da5278d91fb64b3fa8d8ad0f0ab4
|
||||
config: f98447eaf8946910209823436c66cb9b
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@
|
|||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">Changelog</a><ul>
|
||||
<li><a class="reference internal" href="#evennia-main-branch">Evennia main branch</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-1-0">Evennia 2.1.0</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-0-1">Evennia 2.0.1</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-0-0">Evennia 2.0.0</a></li>
|
||||
|
|
@ -180,6 +181,13 @@
|
|||
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="changelog">
|
||||
<h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="evennia-main-branch">
|
||||
<h2>Evennia main branch<a class="headerlink" href="#evennia-main-branch" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Contrib: Large-language-model (LLM) AI integration; allows NPCs to talk using
|
||||
responses from a neural network server.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="evennia-2-1-0">
|
||||
<h2>Evennia 2.1.0<a class="headerlink" href="#evennia-2-1-0" title="Permalink to this headline">¶</a></h2>
|
||||
<p>July 14, 2023</p>
|
||||
|
|
|
|||
|
|
@ -170,6 +170,7 @@ make your game, also if you never coded before.</p>
|
|||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Changelog.html">Changelog</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-main-branch">Evennia main branch</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-1-0">Evennia 2.1.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-0-1">Evennia 2.0.1</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-0-0">Evennia 2.0.0</a></li>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Roleplaying base system for Evennia" href="Contrib-RPSystem.html" />
|
||||
<link rel="next" title="Large Language Model (“Chat-bot AI”) integration" href="Contrib-Llm.html" />
|
||||
<link rel="prev" title="Dice roller" href="Contrib-Dice.html" />
|
||||
</head><body>
|
||||
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-RPSystem.html" title="Roleplaying base system for Evennia"
|
||||
<a href="Contrib-Llm.html" title="Large Language Model (“Chat-bot AI”) integration"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-Dice.html" title="Dice roller"
|
||||
|
|
@ -75,8 +75,8 @@
|
|||
<p class="topless"><a href="Contrib-Dice.html"
|
||||
title="previous chapter">Dice roller</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="Contrib-RPSystem.html"
|
||||
title="next chapter">Roleplaying base system for Evennia</a></p>
|
||||
<p class="topless"><a href="Contrib-Llm.html"
|
||||
title="next chapter">Large Language Model (“Chat-bot AI”) integration</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
|
|
@ -164,7 +164,7 @@ file will be overwritten, so edit that file rather than this one.</small></p>
|
|||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-RPSystem.html" title="Roleplaying base system for Evennia"
|
||||
<a href="Contrib-Llm.html" title="Large Language Model (“Chat-bot AI”) integration"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-Dice.html" title="Dice roller"
|
||||
|
|
|
|||
280
docs/2.x/Contribs/Contrib-Llm.html
Normal file
280
docs/2.x/Contribs/Contrib-Llm.html
Normal file
|
|
@ -0,0 +1,280 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Large Language Model (“Chat-bot AI”) integration — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Roleplaying base system for Evennia" href="Contrib-RPSystem.html" />
|
||||
<link rel="prev" title="Health Bar" href="Contrib-Health-Bar.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-RPSystem.html" title="Roleplaying base system for Evennia"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-Health-Bar.html" title="Health Bar"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Contribs-Overview.html" accesskey="U">Contribs</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Large Language Model (“Chat-bot AI”) integration</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">Large Language Model (“Chat-bot AI”) integration</a><ul>
|
||||
<li><a class="reference internal" href="#installation">Installation</a><ul>
|
||||
<li><a class="reference internal" href="#llm-server">LLM Server</a></li>
|
||||
<li><a class="reference internal" href="#evennia-config">Evennia config</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#usage">Usage</a></li>
|
||||
<li><a class="reference internal" href="#a-note-on-running-llms-locally">A note on running LLMs locally</a><ul>
|
||||
<li><a class="reference internal" href="#why-not-use-an-ai-cloud-service">Why not use an AI cloud service?</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#the-llmnpc-class">The LLMNPC class</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="Contrib-Health-Bar.html"
|
||||
title="previous chapter">Health Bar</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="Contrib-RPSystem.html"
|
||||
title="next chapter">Roleplaying base system for Evennia</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/Contribs/Contrib-Llm.md.txt"
|
||||
rel="nofollow">Show Page Source</a></li>
|
||||
</ul>
|
||||
</div><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Contrib-Llm.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="large-language-model-chat-bot-ai-integration">
|
||||
<h1>Large Language Model (“Chat-bot AI”) integration<a class="headerlink" href="#large-language-model-chat-bot-ai-integration" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Contribution by Griatch 2023</p>
|
||||
<p>This adds an LLMClient that allows Evennia to send prompts to a LLM server (Large Language Model, along the lines of ChatGPT). Example uses a local OSS LLM install. Included is an NPC you can chat with using a new <code class="docutils literal notranslate"><span class="pre">talk</span></code> command. The NPC will respond using the AI responses from the LLM server. All calls are asynchronous, so if the LLM is slow, Evennia is not affected.</p>
|
||||
<section id="installation">
|
||||
<h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2>
|
||||
<p>You need two components for this contrib - Evennia, and an LLM webserver that operates and provides an API to an LLM AI model.</p>
|
||||
<section id="llm-server">
|
||||
<h3>LLM Server<a class="headerlink" href="#llm-server" title="Permalink to this headline">¶</a></h3>
|
||||
<p>There are many LLM servers, but they can be pretty technical to install and set up. This contrib was tested with <a class="reference external" href="https://github.com/oobabooga/text-generation-webui">text-generation-webui</a> which has a lot of features, and is also easy to install. Here are the install instructions in brief, see their home page for more details.</p>
|
||||
<ol class="simple">
|
||||
<li><p><a class="reference external" href="https://github.com/oobabooga/text-generation-webui#installation">Go to the Installation section</a> and grab the ‘one-click installer’ for your OS.</p></li>
|
||||
<li><p>Unzip the files in a folder somewhere on your hard drive (you don’t have to put it next to your evennia stuff if you don’t want to).</p></li>
|
||||
<li><p>In a terminal/console, <code class="docutils literal notranslate"><span class="pre">cd</span></code> into the folder and execute the source file in whatever way it’s done for your OS (like <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">start_linux.sh</span></code> for Linux, or <code class="docutils literal notranslate"><span class="pre">.\start_windows</span></code> for Windows). This is an installer that will fetch and install everything in a conda virtual environment. When asked, make sure to select your GPU (NVIDIA/AMD etc) if you have one, otherwise use CPU.</p></li>
|
||||
<li><p>Once all is loaded, Ctrl-C (or Cmd-C) the server and open the file <code class="docutils literal notranslate"><span class="pre">webui.py</span></code> (it’s one of the top files in the archive you unzipped). Find a text string <code class="docutils literal notranslate"><span class="pre">CMD_FLAGS</span> <span class="pre">=</span> <span class="pre">''</span></code> and change this to <code class="docutils literal notranslate"><span class="pre">CMD_FLAGS</span> <span class="pre">=</span> <span class="pre">'--api'</span></code>. Then save and close. This makes the server activate its api automatically.</p></li>
|
||||
<li><p>Now just run that server starting script again. This is what you’ll use to start the LLM server henceforth.</p></li>
|
||||
<li><p>Once the server is running, open your browser on <a class="reference external" href="http://127.0.0.1:7860">http://127.0.0.1:7860</a> to see the running Text generation web ui running. If you turned on the API, you’ll find it’s now active on port 5000. This should not collide with default Evennia ports unless you changed something.</p></li>
|
||||
<li><p>At this point you have the server and API, but it’s not actually running any Large-Language-Model (LLM) yet. In the web ui, go to the <code class="docutils literal notranslate"><span class="pre">models</span></code> tab and enter a github-style path in the <code class="docutils literal notranslate"><span class="pre">Download</span> <span class="pre">custom</span> <span class="pre">model</span> <span class="pre">or</span> <span class="pre">LoRA</span></code> field. To test so things work, enter <code class="docutils literal notranslate"><span class="pre">facebook/opt-125m</span></code> and download. This is a relatively small model (125 million parameters) so should be possible to run on most machines using only CPU. Update the models in the drop-down on the left and select it, then load it with the <code class="docutils literal notranslate"><span class="pre">Transformers</span></code> loader. It should load pretty quickly. If you want to load this every time, you can select the <code class="docutils literal notranslate"><span class="pre">Autoload</span> <span class="pre">the</span> <span class="pre">model</span></code> checkbox; otherwise you’ll need to select and load the model every time you start the LLM server.</p></li>
|
||||
<li><p>To experiment, you can find thousands of other open-source text-generation LLM models on <a class="reference external" href="https://huggingface.co/models?pipeline_tag=text-generation&sort=trending">huggingface.co/models</a>. Be ware to not download a too huge model; your machine may not be able to load it! If you try large models, <em>don’t</em> set the <code class="docutils literal notranslate"><span class="pre">Autoload</span> <span class="pre">the</span> <span class="pre">model</span></code> checkbox, in case the model crashes your server on startup.</p></li>
|
||||
</ol>
|
||||
<p>For troubleshooting, you can look at the terminal output of the <code class="docutils literal notranslate"><span class="pre">text-generation-webui</span></code> server; it will show you the requests you do to it and also list any errors.</p>
|
||||
</section>
|
||||
<section id="evennia-config">
|
||||
<h3>Evennia config<a class="headerlink" href="#evennia-config" title="Permalink to this headline">¶</a></h3>
|
||||
<p>To be able to talk to NPCs, import and add the <code class="docutils literal notranslate"><span class="pre">evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk</span></code> command to your Character cmdset in <code class="docutils literal notranslate"><span class="pre">mygame/commands/default_commands.py</span></code> (see the basic tutorials if you are unsure.</p>
|
||||
<p>The default LLM api config should work with the text-generation-webui LLM server running its API on port 5000. You can also customize it via settings (if a setting is not added, the default below is used:</p>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span> <span class="c1"># path to the LLM server</span>
|
||||
<span class="n">LLM_HOST</span> <span class="o">=</span> <span class="s2">"http://127.0.0.1:5000"</span>
|
||||
<span class="n">LLM_PATH</span> <span class="o">=</span> <span class="s2">"/api/v1/generate"</span>
|
||||
|
||||
<span class="c1"># if you wanted to authenticated to some external service, you could</span>
|
||||
<span class="c1"># add an Authenticate header here with a token</span>
|
||||
<span class="n">LLM_HEADERS</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"Content-Type"</span><span class="p">:</span> <span class="s2">"application/json"</span><span class="p">}</span>
|
||||
|
||||
<span class="c1"># this key will be inserted in the request, with your user-input</span>
|
||||
<span class="n">LLM_PROMPT_KEYNAME</span> <span class="o">=</span> <span class="s2">"prompt"</span>
|
||||
|
||||
<span class="c1"># defaults are set up for text-generation-webui. I have no idea what most of</span>
|
||||
<span class="c1"># these do ^_^; you'll need to read a book on LLMs, or at least dive</span>
|
||||
<span class="c1"># into a bunch of online tutorials.</span>
|
||||
<span class="n">LLM_REQUEST_BODY</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s2">"max_new_tokens"</span><span class="p">:</span> <span class="mi">250</span><span class="p">,</span> <span class="c1"># set how many tokens are part of a response</span>
|
||||
<span class="s2">"preset"</span><span class="p">:</span> <span class="s2">"None"</span><span class="p">,</span>
|
||||
<span class="s2">"do_sample"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
<span class="s2">"temperature"</span><span class="p">:</span> <span class="mf">0.7</span><span class="p">,</span>
|
||||
<span class="s2">"top_p"</span><span class="p">:</span> <span class="mf">0.1</span><span class="p">,</span>
|
||||
<span class="s2">"typical_p"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"epsilon_cutoff"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># In units of 1e-4</span>
|
||||
<span class="s2">"eta_cutoff"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># In units of 1e-4</span>
|
||||
<span class="s2">"tfs"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"top_a"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"repetition_penalty"</span><span class="p">:</span> <span class="mf">1.18</span><span class="p">,</span>
|
||||
<span class="s2">"repetition_penalty_range"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"top_k"</span><span class="p">:</span> <span class="mi">40</span><span class="p">,</span>
|
||||
<span class="s2">"min_length"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"no_repeat_ngram_size"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"num_beams"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"penalty_alpha"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"length_penalty"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"early_stopping"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<span class="s2">"mirostat_mode"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"mirostat_tau"</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span>
|
||||
<span class="s2">"mirostat_eta"</span><span class="p">:</span> <span class="mf">0.1</span><span class="p">,</span>
|
||||
<span class="s2">"seed"</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"add_bos_token"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
<span class="s2">"truncation_length"</span><span class="p">:</span> <span class="mi">2048</span><span class="p">,</span>
|
||||
<span class="s2">"ban_eos_token"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<span class="s2">"skip_special_tokens"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
<span class="s2">"stopping_strings"</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Don’t forget to reload Evennia if you make any changes.</p>
|
||||
</section>
|
||||
</section>
|
||||
<section id="usage">
|
||||
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
|
||||
<p>With the LLM server running and the new <code class="docutils literal notranslate"><span class="pre">talk</span></code> command added, create a new LLM-connected NPC and talk to it in-game.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>> create/drop girl:evennia.contrib.rpg.llm.LLMNPC
|
||||
> talk girl Hello!
|
||||
girl ponders ...
|
||||
girl says, Hello! How are you?
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The NPC will show a ‘thinking’ message if the server responds slower than 2 seconds (by default).</p>
|
||||
<p>Most likely, your first response will <em>not</em> be this nice and short, but will be quite nonsensical, looking like an email. This is because the example model we loaded is not optimized for conversations. But at least you know it works!</p>
|
||||
</section>
|
||||
<section id="a-note-on-running-llms-locally">
|
||||
<h2>A note on running LLMs locally<a class="headerlink" href="#a-note-on-running-llms-locally" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Running an LLM locally can be <em>very</em> demanding.</p>
|
||||
<p>As an example, I tested this on my very beefy work laptop. It has 32GB or RAM, but no gpu. so i ran the example (small 128m parameter) model on cpu. it takes about 3-4 seconds to generate a (frankly very bad) response. so keep that in mind.</p>
|
||||
<p>On huggingface you can find listings of the ‘best performing’ language models right now. This changes all the time. The leading models require 100+ GB RAM. And while it’s possible to run on a CPU, ideally you should have a large graphics card (GPU) with a lot of VRAM too.</p>
|
||||
<p>So most likely you’ll have to settle on something smaller. Experimenting with different models and also tweaking the prompt is needed.</p>
|
||||
<p>Also be aware that many open-source models are intended for AI research and licensed for non-commercial use only. So be careful if you want to use this in a commercial game. No doubt there will be a lot of changes in this area over the coming years.</p>
|
||||
<section id="why-not-use-an-ai-cloud-service">
|
||||
<h3>Why not use an AI cloud service?<a class="headerlink" href="#why-not-use-an-ai-cloud-service" title="Permalink to this headline">¶</a></h3>
|
||||
<p>You could in principle use this to call out to an external API, like OpenAI (chat-GPT) or Google. Most such cloud-hosted services are commercial (costs money). But since they have the hardware to run bigger models (or their own, proprietary models), they may give better and faster results.</p>
|
||||
<p>Calling an external API is not tested, so report any findings. Since the Evennia Server (not the Portal) is doing the calling, you are recommended to put a proxy between you and the internet if you call out like this.</p>
|
||||
</section>
|
||||
</section>
|
||||
<section id="the-llmnpc-class">
|
||||
<h2>The LLMNPC class<a class="headerlink" href="#the-llmnpc-class" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This is a simple Character class, with a few extra properties:</p>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span> <span class="n">response_template</span> <span class="o">=</span> <span class="s2">"</span><span class="si">{name}</span><span class="s2"> says: </span><span class="si">{response}</span><span class="s2">"</span>
|
||||
<span class="n">thinking_timeout</span> <span class="o">=</span> <span class="mi">2</span> <span class="c1"># how long to wait until showing thinking</span>
|
||||
|
||||
<span class="c1"># random 'thinking echoes' to return while we wait, if the AI is slow</span>
|
||||
<span class="n">thinking_messages</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s2">"</span><span class="si">{name}</span><span class="s2"> thinks about what you said ..."</span><span class="p">,</span>
|
||||
<span class="s2">"</span><span class="si">{name}</span><span class="s2"> ponders your words ..."</span><span class="p">,</span>
|
||||
<span class="s2">"</span><span class="si">{name}</span><span class="s2"> ponders ..."</span><span class="p">,</span>
|
||||
<span class="p">]</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The character has a new method <code class="docutils literal notranslate"><span class="pre">at_talked_to</span></code> which does the connection to the LLM server and responds. This is called by the new <code class="docutils literal notranslate"><span class="pre">talk</span></code> command. Note that all these calls are asynchronous, meaning a slow response will not block Evennia.</p>
|
||||
<hr class="docutils" />
|
||||
<p><small>This document page is generated from <code class="docutils literal notranslate"><span class="pre">evennia/contrib/rpg/llm/README.md</span></code>. Changes to this
|
||||
file will be overwritten, so edit that file rather than this one.</small></p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-RPSystem.html" title="Roleplaying base system for Evennia"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-Health-Bar.html" title="Health Bar"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Contribs-Overview.html" >Contribs</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Large Language Model (“Chat-bot AI”) integration</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Traits" href="Contrib-Traits.html" />
|
||||
<link rel="prev" title="Health Bar" href="Contrib-Health-Bar.html" />
|
||||
<link rel="prev" title="Large Language Model (“Chat-bot AI”) integration" href="Contrib-Llm.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
<a href="Contrib-Traits.html" title="Traits"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-Health-Bar.html" title="Health Bar"
|
||||
<a href="Contrib-Llm.html" title="Large Language Model (“Chat-bot AI”) integration"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Contribs-Overview.html" accesskey="U">Contribs</a> »</li>
|
||||
|
|
@ -80,8 +80,8 @@
|
|||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="Contrib-Health-Bar.html"
|
||||
title="previous chapter">Health Bar</a></p>
|
||||
<p class="topless"><a href="Contrib-Llm.html"
|
||||
title="previous chapter">Large Language Model (“Chat-bot AI”) integration</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="Contrib-Traits.html"
|
||||
title="next chapter">Traits</a></p>
|
||||
|
|
@ -393,7 +393,7 @@ file will be overwritten, so edit that file rather than this one.</small></p>
|
|||
<a href="Contrib-Traits.html" title="Traits"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Contrib-Health-Bar.html" title="Health Bar"
|
||||
<a href="Contrib-Llm.html" title="Large Language Model (“Chat-bot AI”) integration"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Contribs-Overview.html" >Contribs</a> »</li>
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@
|
|||
<li><a class="reference internal" href="#character-creator"><code class="docutils literal notranslate"><span class="pre">character_creator</span></code></a></li>
|
||||
<li><a class="reference internal" href="#dice"><code class="docutils literal notranslate"><span class="pre">dice</span></code></a></li>
|
||||
<li><a class="reference internal" href="#health-bar"><code class="docutils literal notranslate"><span class="pre">health_bar</span></code></a></li>
|
||||
<li><a class="reference internal" href="#llm"><code class="docutils literal notranslate"><span class="pre">llm</span></code></a></li>
|
||||
<li><a class="reference internal" href="#rpsystem"><code class="docutils literal notranslate"><span class="pre">rpsystem</span></code></a></li>
|
||||
<li><a class="reference internal" href="#traits"><code class="docutils literal notranslate"><span class="pre">traits</span></code></a></li>
|
||||
</ul>
|
||||
|
|
@ -193,7 +194,7 @@ in the <a class="reference external" href="https://github.com/evennia/evennia/di
|
|||
<p><em>Contribs</em> are optional code snippets and systems contributed by
|
||||
the Evennia community. They vary in size and complexity and
|
||||
may be more specific about game types and styles than ‘core’ Evennia.
|
||||
This page is auto-generated and summarizes all <strong>48</strong> contribs currently included
|
||||
This page is auto-generated and summarizes all <strong>49</strong> contribs currently included
|
||||
with the Evennia distribution.</p>
|
||||
<p>All contrib categories are imported from <code class="docutils literal notranslate"><span class="pre">evennia.contrib</span></code>, such as</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>from evennia.contrib.base_systems import building_menu
|
||||
|
|
@ -269,33 +270,33 @@ copy its entire folder to your game directory and modify/use it from there.</p>
|
|||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="#ingame-map-display"><span class="std std-doc">ingame_map_display</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#ingame-python"><span class="std std-doc">ingame_python</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#llm"><span class="std std-doc">llm</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#mail"><span class="std std-doc">mail</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#mapbuilder"><span class="std std-doc">mapbuilder</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#menu-login"><span class="std std-doc">menu_login</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="#mirror"><span class="std std-doc">mirror</span></a></p></td>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="#menu-login"><span class="std std-doc">menu_login</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#mirror"><span class="std std-doc">mirror</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#multidescer"><span class="std std-doc">multidescer</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#mux-comms-cmds"><span class="std std-doc">mux_comms_cmds</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#name-generator"><span class="std std-doc">name_generator</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#puzzles"><span class="std std-doc">puzzles</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="#random-string-generator"><span class="std std-doc">random_string_generator</span></a></p></td>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="#puzzles"><span class="std std-doc">puzzles</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#random-string-generator"><span class="std std-doc">random_string_generator</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#red-button"><span class="std std-doc">red_button</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#rpsystem"><span class="std std-doc">rpsystem</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#simpledoor"><span class="std std-doc">simpledoor</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#slow-exit"><span class="std std-doc">slow_exit</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="#talking-npc"><span class="std std-doc">talking_npc</span></a></p></td>
|
||||
<tr class="row-even"><td><p><a class="reference internal" href="#slow-exit"><span class="std std-doc">slow_exit</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#talking-npc"><span class="std std-doc">talking_npc</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#traits"><span class="std std-doc">traits</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#tree-select"><span class="std std-doc">tree_select</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#turnbattle"><span class="std std-doc">turnbattle</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#tutorial-world"><span class="std std-doc">tutorial_world</span></a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="#unixcommand"><span class="std std-doc">unixcommand</span></a></p></td>
|
||||
<tr class="row-odd"><td><p><a class="reference internal" href="#tutorial-world"><span class="std std-doc">tutorial_world</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#unixcommand"><span class="std std-doc">unixcommand</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#wilderness"><span class="std std-doc">wilderness</span></a></p></td>
|
||||
<td><p><a class="reference internal" href="#xyzgrid"><span class="std std-doc">xyzgrid</span></a></p></td>
|
||||
<td><p></p></td>
|
||||
<td><p></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -659,6 +660,7 @@ and rule implementation like character traits, dice rolling and emoting.</em></p
|
|||
<li class="toctree-l1"><a class="reference internal" href="Contrib-Character-Creator.html">Character Creator</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Contrib-Dice.html">Dice roller</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Contrib-Health-Bar.html">Health Bar</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Contrib-Llm.html">Large Language Model (“Chat-bot AI”) integration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Contrib-RPSystem.html">Roleplaying base system for Evennia</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Contrib-Traits.html">Traits</a></li>
|
||||
</ul>
|
||||
|
|
@ -694,6 +696,12 @@ is merely the most obvious use for this, but the bar is highly customizable
|
|||
and can be used for any sort of appropriate data besides player health.</p>
|
||||
<p><a class="reference internal" href="Contrib-Health-Bar.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.rpg.health_bar.html#evennia-contrib-rpg-health-bar"><span class="std std-ref">Browse the Code</span></a></p>
|
||||
</section>
|
||||
<section id="llm">
|
||||
<h3><code class="docutils literal notranslate"><span class="pre">llm</span></code><a class="headerlink" href="#llm" title="Permalink to this headline">¶</a></h3>
|
||||
<p><em>Contribution by Griatch 2023</em></p>
|
||||
<p>This adds an LLMClient that allows Evennia to send prompts to a LLM server (Large Language Model, along the lines of ChatGPT). Example uses a local OSS LLM install. Included is an NPC you can chat with using a new <code class="docutils literal notranslate"><span class="pre">talk</span></code> command. The NPC will respond using the AI responses from the LLM server. All calls are asynchronous, so if the LLM is slow, Evennia is not affected.</p>
|
||||
<p><a class="reference internal" href="Contrib-Llm.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.rpg.llm.html#evennia-contrib-rpg-llm"><span class="std std-ref">Browse the Code</span></a></p>
|
||||
</section>
|
||||
<section id="rpsystem">
|
||||
<h3><code class="docutils literal notranslate"><span class="pre">rpsystem</span></code><a class="headerlink" href="#rpsystem" title="Permalink to this headline">¶</a></h3>
|
||||
<p><em>Contribution by Griatch, 2015</em></p>
|
||||
|
|
|
|||
|
|
@ -122,13 +122,12 @@
|
|||
|
||||
<span class="kn">from</span> <span class="nn">django.conf</span> <span class="kn">import</span> <span class="n">settings</span>
|
||||
<span class="kn">from</span> <span class="nn">django.utils.translation</span> <span class="kn">import</span> <span class="n">gettext</span> <span class="k">as</span> <span class="n">_</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet</span> <span class="kn">import</span> <span class="n">reactor</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet.defer</span> <span class="kn">import</span> <span class="n">inlineCallbacks</span><span class="p">,</span> <span class="n">returnValue</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet.task</span> <span class="kn">import</span> <span class="n">deferLater</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">evennia.commands.command</span> <span class="kn">import</span> <span class="n">InterruptCommand</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.utils</span> <span class="kn">import</span> <span class="n">logger</span><span class="p">,</span> <span class="n">utils</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.utils.utils</span> <span class="kn">import</span> <span class="n">string_suggestions</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet</span> <span class="kn">import</span> <span class="n">reactor</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet.defer</span> <span class="kn">import</span> <span class="n">inlineCallbacks</span><span class="p">,</span> <span class="n">returnValue</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet.task</span> <span class="kn">import</span> <span class="n">deferLater</span>
|
||||
|
||||
<span class="n">_IN_GAME_ERRORS</span> <span class="o">=</span> <span class="n">settings</span><span class="o">.</span><span class="n">IN_GAME_ERRORS</span>
|
||||
|
||||
|
|
|
|||
300
docs/2.x/_modules/evennia/contrib/rpg/llm/llm_client.html
Normal file
300
docs/2.x/_modules/evennia/contrib/rpg/llm/llm_client.html
Normal file
|
|
@ -0,0 +1,300 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>evennia.contrib.rpg.llm.llm_client — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../../../../../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
|
||||
<script src="../../../../../_static/jquery.js"></script>
|
||||
<script src="../../../../../_static/underscore.js"></script>
|
||||
<script src="../../../../../_static/doctools.js"></script>
|
||||
<script src="../../../../../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../../../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../../../search.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../../../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../../../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="../../../../evennia.html" accesskey="U">evennia</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_client</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../../../../../index.html">
|
||||
<img class="logo" src="../../../../../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../../../../../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="llm_client.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<h1>Source code for evennia.contrib.rpg.llm.llm_client</h1><div class="highlight"><pre>
|
||||
<span></span><span class="sd">"""</span>
|
||||
<span class="sd">LLM (Large Language Model) client, for communicating with an LLM backend. This can be used</span>
|
||||
<span class="sd">for generating texts for AI npcs, or for fine-tuning the LLM on a given prompt.</span>
|
||||
|
||||
<span class="sd">Note that running a LLM locally requires a lot of power, and ideally a powerful GPU. Testing</span>
|
||||
<span class="sd">this with CPU mode on a beefy laptop, still takes some 4s just on a very small model.</span>
|
||||
|
||||
<span class="sd">The server defaults to output suitable for a local server</span>
|
||||
<span class="sd">https://github.com/oobabooga/text-generation-webui, but could be used for other LLM servers too.</span>
|
||||
|
||||
<span class="sd">See the LLM instructions on that page for how to set up the server. You'll also need</span>
|
||||
<span class="sd">a model file - there are thousands to try out on https://huggingface.co/models (you want Text</span>
|
||||
<span class="sd">Generation models specifically).</span>
|
||||
|
||||
<span class="sd"># Optional Evennia settings (if not given, these defaults are used)</span>
|
||||
|
||||
<span class="sd">DEFAULT_LLM_HOST = "http://localhost:5000"</span>
|
||||
<span class="sd">DEFAULT_LLM_PATH = "/api/v1/generate"</span>
|
||||
<span class="sd">DEFAULT_LLM_HEADERS = {"Content-Type": "application/json"}</span>
|
||||
<span class="sd">DEFAULT_LLM_PROMPT_KEYNAME = "prompt"</span>
|
||||
<span class="sd">DEFAULT_LLM_REQUEST_BODY = {...} # see below, this controls how to prompt the LLM server.</span>
|
||||
|
||||
<span class="sd">"""</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">json</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">django.conf</span> <span class="kn">import</span> <span class="n">settings</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia</span> <span class="kn">import</span> <span class="n">logger</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet</span> <span class="kn">import</span> <span class="n">defer</span><span class="p">,</span> <span class="n">protocol</span><span class="p">,</span> <span class="n">reactor</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet.defer</span> <span class="kn">import</span> <span class="n">inlineCallbacks</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.web.client</span> <span class="kn">import</span> <span class="n">Agent</span><span class="p">,</span> <span class="n">HTTPConnectionPool</span><span class="p">,</span> <span class="n">_HTTP11ClientFactory</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.web.http_headers</span> <span class="kn">import</span> <span class="n">Headers</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.web.iweb</span> <span class="kn">import</span> <span class="n">IBodyProducer</span>
|
||||
<span class="kn">from</span> <span class="nn">zope.interface</span> <span class="kn">import</span> <span class="n">implementer</span>
|
||||
|
||||
<span class="n">DEFAULT_LLM_HOST</span> <span class="o">=</span> <span class="s2">"http://127.0.0.1:5000"</span>
|
||||
<span class="n">DEFAULT_LLM_PATH</span> <span class="o">=</span> <span class="s2">"/api/v1/generate"</span>
|
||||
<span class="n">DEFAULT_LLM_HEADERS</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"Content-Type"</span><span class="p">:</span> <span class="s2">"application/json"</span><span class="p">}</span>
|
||||
<span class="n">DEFAULT_LLM_PROMPT_KEYNAME</span> <span class="o">=</span> <span class="s2">"prompt"</span>
|
||||
<span class="n">DEFAULT_LLM_REQUEST_BODY</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s2">"max_new_tokens"</span><span class="p">:</span> <span class="mi">250</span><span class="p">,</span>
|
||||
<span class="c1"># Generation params. If 'preset' is set to different than 'None', the values</span>
|
||||
<span class="c1"># in presets/preset-name.yaml are used instead of the individual numbers.</span>
|
||||
<span class="s2">"preset"</span><span class="p">:</span> <span class="s2">"None"</span><span class="p">,</span>
|
||||
<span class="s2">"do_sample"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
<span class="s2">"temperature"</span><span class="p">:</span> <span class="mf">0.7</span><span class="p">,</span>
|
||||
<span class="s2">"top_p"</span><span class="p">:</span> <span class="mf">0.1</span><span class="p">,</span>
|
||||
<span class="s2">"typical_p"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"epsilon_cutoff"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># In units of 1e-4</span>
|
||||
<span class="s2">"eta_cutoff"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="c1"># In units of 1e-4</span>
|
||||
<span class="s2">"tfs"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"top_a"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"repetition_penalty"</span><span class="p">:</span> <span class="mf">1.18</span><span class="p">,</span>
|
||||
<span class="s2">"repetition_penalty_range"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"top_k"</span><span class="p">:</span> <span class="mi">40</span><span class="p">,</span>
|
||||
<span class="s2">"min_length"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"no_repeat_ngram_size"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"num_beams"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"penalty_alpha"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"length_penalty"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"early_stopping"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<span class="s2">"mirostat_mode"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||
<span class="s2">"mirostat_tau"</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span>
|
||||
<span class="s2">"mirostat_eta"</span><span class="p">:</span> <span class="mf">0.1</span><span class="p">,</span>
|
||||
<span class="s2">"seed"</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
|
||||
<span class="s2">"add_bos_token"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
<span class="s2">"truncation_length"</span><span class="p">:</span> <span class="mi">2048</span><span class="p">,</span>
|
||||
<span class="s2">"ban_eos_token"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<span class="s2">"skip_special_tokens"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
<span class="s2">"stopping_strings"</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="StringProducer"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer">[docs]</a><span class="nd">@implementer</span><span class="p">(</span><span class="n">IBodyProducer</span><span class="p">)</span>
|
||||
<span class="k">class</span> <span class="nc">StringProducer</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Used for feeding a request body to the HTTP client.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<div class="viewcode-block" id="StringProducer.__init__"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.__init__">[docs]</a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">body</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">body</span> <span class="o">=</span> <span class="nb">bytes</span><span class="p">(</span><span class="n">body</span><span class="p">,</span> <span class="s2">"utf-8"</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">length</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">body</span><span class="p">)</span></div>
|
||||
|
||||
<div class="viewcode-block" id="StringProducer.startProducing"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.startProducing">[docs]</a> <span class="k">def</span> <span class="nf">startProducing</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">consumer</span><span class="p">):</span>
|
||||
<span class="n">consumer</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">body</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">defer</span><span class="o">.</span><span class="n">succeed</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span></div>
|
||||
|
||||
<div class="viewcode-block" id="StringProducer.pauseProducing"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.pauseProducing">[docs]</a> <span class="k">def</span> <span class="nf">pauseProducing</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">pass</span></div>
|
||||
|
||||
<div class="viewcode-block" id="StringProducer.stopProducing"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.stopProducing">[docs]</a> <span class="k">def</span> <span class="nf">stopProducing</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">pass</span></div></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="SimpleResponseReceiver"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver">[docs]</a><span class="k">class</span> <span class="nc">SimpleResponseReceiver</span><span class="p">(</span><span class="n">protocol</span><span class="o">.</span><span class="n">Protocol</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Used for pulling the response body out of an HTTP response.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<div class="viewcode-block" id="SimpleResponseReceiver.__init__"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.__init__">[docs]</a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">status_code</span><span class="p">,</span> <span class="n">d</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">status_code</span> <span class="o">=</span> <span class="n">status_code</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">buf</span> <span class="o">=</span> <span class="sa">b</span><span class="s2">""</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">d</span> <span class="o">=</span> <span class="n">d</span></div>
|
||||
|
||||
<div class="viewcode-block" id="SimpleResponseReceiver.dataReceived"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.dataReceived">[docs]</a> <span class="k">def</span> <span class="nf">dataReceived</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="bp">self</span><span class="o">.</span><span class="n">buf</span> <span class="o">+=</span> <span class="n">data</span></div>
|
||||
|
||||
<div class="viewcode-block" id="SimpleResponseReceiver.connectionLost"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.connectionLost">[docs]</a> <span class="k">def</span> <span class="nf">connectionLost</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">reason</span><span class="o">=</span><span class="n">protocol</span><span class="o">.</span><span class="n">connectionDone</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">d</span><span class="o">.</span><span class="n">callback</span><span class="p">((</span><span class="bp">self</span><span class="o">.</span><span class="n">status_code</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">buf</span><span class="p">))</span></div></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="QuietHTTP11ClientFactory"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory">[docs]</a><span class="k">class</span> <span class="nc">QuietHTTP11ClientFactory</span><span class="p">(</span><span class="n">_HTTP11ClientFactory</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Silences the obnoxious factory start/stop messages in the default client.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">noisy</span> <span class="o">=</span> <span class="kc">False</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="LLMClient"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.LLMClient">[docs]</a><span class="k">class</span> <span class="nc">LLMClient</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> A client for communicating with an LLM server.</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<div class="viewcode-block" id="LLMClient.__init__"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.LLMClient.__init__">[docs]</a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">on_bad_request</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_conn_pool</span> <span class="o">=</span> <span class="n">HTTPConnectionPool</span><span class="p">(</span><span class="n">reactor</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_conn_pool</span><span class="o">.</span><span class="n">_factory</span> <span class="o">=</span> <span class="n">QuietHTTP11ClientFactory</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">prompt_keyname</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s2">"LLM_PROMPT_KEYNAME"</span><span class="p">,</span> <span class="n">DEFAULT_LLM_PROMPT_KEYNAME</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s2">"LLM_HOST"</span><span class="p">,</span> <span class="n">DEFAULT_LLM_HOST</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">pathname</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s2">"LLM_PATH"</span><span class="p">,</span> <span class="n">DEFAULT_LLM_PATH</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">headers</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s2">"LLM_HEADERS"</span><span class="p">,</span> <span class="n">DEFAULT_LLM_HEADERS</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">request_body</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">settings</span><span class="p">,</span> <span class="s2">"LLM_REQUEST_BODY"</span><span class="p">,</span> <span class="n">DEFAULT_LLM_REQUEST_BODY</span><span class="p">)</span></div>
|
||||
|
||||
<div class="viewcode-block" id="LLMClient.get_response"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.LLMClient.get_response">[docs]</a> <span class="nd">@inlineCallbacks</span>
|
||||
<span class="k">def</span> <span class="nf">get_response</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prompt</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Get a response from the LLM server for the given npc.</span>
|
||||
|
||||
<span class="sd"> Args:</span>
|
||||
<span class="sd"> prompt (str): The prompt to send to the LLM server.</span>
|
||||
|
||||
<span class="sd"> Returns:</span>
|
||||
<span class="sd"> str: The generated text response. Will return an empty string</span>
|
||||
<span class="sd"> if there is an issue with the server, in which case the</span>
|
||||
<span class="sd"> the caller is expected to handle this gracefully.</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">status_code</span><span class="p">,</span> <span class="n">response</span> <span class="o">=</span> <span class="k">yield</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_response_from_llm_server</span><span class="p">(</span><span class="n">prompt</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">response</span><span class="p">)[</span><span class="s2">"results"</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s2">"text"</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">log_err</span><span class="p">(</span><span class="sa">f</span><span class="s2">"LLM API error (status </span><span class="si">{</span><span class="n">status_code</span><span class="si">}</span><span class="s2">): </span><span class="si">{</span><span class="n">response</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="s2">""</span></div>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_response_from_llm_server</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prompt</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Call and wait for response from LLM server"""</span>
|
||||
|
||||
<span class="n">agent</span> <span class="o">=</span> <span class="n">Agent</span><span class="p">(</span><span class="n">reactor</span><span class="p">,</span> <span class="n">pool</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_conn_pool</span><span class="p">)</span>
|
||||
|
||||
<span class="n">request_body</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">request_body</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
|
||||
<span class="n">request_body</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">prompt_keyname</span><span class="p">]</span> <span class="o">=</span> <span class="n">prompt</span>
|
||||
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">agent</span><span class="o">.</span><span class="n">request</span><span class="p">(</span>
|
||||
<span class="sa">b</span><span class="s2">"POST"</span><span class="p">,</span>
|
||||
<span class="nb">bytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">pathname</span><span class="p">,</span> <span class="s2">"utf-8"</span><span class="p">),</span>
|
||||
<span class="n">headers</span><span class="o">=</span><span class="n">Headers</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">headers</span><span class="p">),</span>
|
||||
<span class="n">bodyProducer</span><span class="o">=</span><span class="n">StringProducer</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">request_body</span><span class="p">)),</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="n">d</span><span class="o">.</span><span class="n">addCallbacks</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_handle_llm_response_body</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_handle_llm_error</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_handle_llm_response_body</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="w"> </span><span class="sd">"""Get the response body from the response"""</span>
|
||||
<span class="n">d</span> <span class="o">=</span> <span class="n">defer</span><span class="o">.</span><span class="n">Deferred</span><span class="p">()</span>
|
||||
<span class="n">response</span><span class="o">.</span><span class="n">deliverBody</span><span class="p">(</span><span class="n">SimpleResponseReceiver</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">code</span><span class="p">,</span> <span class="n">d</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_handle_llm_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">failure</span><span class="p">):</span>
|
||||
<span class="n">failure</span><span class="o">.</span><span class="n">trap</span><span class="p">(</span><span class="ne">Exception</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="mi">500</span><span class="p">,</span> <span class="n">failure</span><span class="o">.</span><span class="n">getErrorMessage</span><span class="p">())</span></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../../../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../../../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="../../../../evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_client</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
226
docs/2.x/_modules/evennia/contrib/rpg/llm/llm_npc.html
Normal file
226
docs/2.x/_modules/evennia/contrib/rpg/llm/llm_npc.html
Normal file
|
|
@ -0,0 +1,226 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>evennia.contrib.rpg.llm.llm_npc — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../../../../../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
|
||||
<script src="../../../../../_static/jquery.js"></script>
|
||||
<script src="../../../../../_static/underscore.js"></script>
|
||||
<script src="../../../../../_static/doctools.js"></script>
|
||||
<script src="../../../../../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../../../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../../../search.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../../../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../../../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="../../../../evennia.html" accesskey="U">evennia</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../../../../../index.html">
|
||||
<img class="logo" src="../../../../../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../../../../../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="llm_npc.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<h1>Source code for evennia.contrib.rpg.llm.llm_npc</h1><div class="highlight"><pre>
|
||||
<span></span><span class="sd">"""</span>
|
||||
<span class="sd">Basic class for NPC that makes use of an LLM (Large Language Model) to generate replies.</span>
|
||||
|
||||
<span class="sd">It comes with a `talk` command; use `talk npc <something>` to talk to the NPC. The NPC will</span>
|
||||
<span class="sd">respond using the LLM response.</span>
|
||||
|
||||
<span class="sd">Makes use of the LLMClient for communicating with the server. The NPC will also</span>
|
||||
<span class="sd">echo a 'thinking...' message if the LLM server takes too long to respond.</span>
|
||||
|
||||
|
||||
<span class="sd">"""</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">random</span> <span class="kn">import</span> <span class="n">choice</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">evennia</span> <span class="kn">import</span> <span class="n">Command</span><span class="p">,</span> <span class="n">DefaultCharacter</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.utils.utils</span> <span class="kn">import</span> <span class="n">make_iter</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet</span> <span class="kn">import</span> <span class="n">reactor</span><span class="p">,</span> <span class="n">task</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet.defer</span> <span class="kn">import</span> <span class="n">inlineCallbacks</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">.llm_client</span> <span class="kn">import</span> <span class="n">LLMClient</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="LLMNPC"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC">[docs]</a><span class="k">class</span> <span class="nc">LLMNPC</span><span class="p">(</span><span class="n">DefaultCharacter</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""An NPC that uses the LLM server to generate its responses. If the server is slow, it will</span>
|
||||
<span class="sd"> echo a thinking message to the character while it waits for a response."""</span>
|
||||
|
||||
<span class="n">response_template</span> <span class="o">=</span> <span class="s2">"</span><span class="si">{name}</span><span class="s2"> says: </span><span class="si">{response}</span><span class="s2">"</span>
|
||||
<span class="n">thinking_timeout</span> <span class="o">=</span> <span class="mi">2</span> <span class="c1"># seconds</span>
|
||||
<span class="n">thinking_messages</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s2">"</span><span class="si">{name}</span><span class="s2"> thinks about what you said ..."</span><span class="p">,</span>
|
||||
<span class="s2">"</span><span class="si">{name}</span><span class="s2"> ponders your words ..."</span><span class="p">,</span>
|
||||
<span class="s2">"</span><span class="si">{name}</span><span class="s2"> ponders ..."</span><span class="p">,</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">llm_client</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"_llm_client"</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_llm_client</span> <span class="o">=</span> <span class="n">LLMClient</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_llm_client</span>
|
||||
|
||||
<div class="viewcode-block" id="LLMNPC.at_talked_to"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.at_talked_to">[docs]</a> <span class="nd">@inlineCallbacks</span>
|
||||
<span class="k">def</span> <span class="nf">at_talked_to</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">speech</span><span class="p">,</span> <span class="n">character</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Called when this NPC is talked to by a character."""</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_respond</span><span class="p">(</span><span class="n">response</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Async handling of the server response"""</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">thinking_defer</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">thinking_defer</span><span class="o">.</span><span class="n">called</span><span class="p">:</span>
|
||||
<span class="c1"># abort the thinking message if we were fast enough</span>
|
||||
<span class="n">thinking_defer</span><span class="o">.</span><span class="n">cancel</span><span class="p">()</span>
|
||||
|
||||
<span class="n">character</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">response_template</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
|
||||
<span class="n">name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">get_display_name</span><span class="p">(</span><span class="n">character</span><span class="p">),</span> <span class="n">response</span><span class="o">=</span><span class="n">response</span>
|
||||
<span class="p">)</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_echo_thinking_message</span><span class="p">():</span>
|
||||
<span class="w"> </span><span class="sd">"""Echo a random thinking message to the character"""</span>
|
||||
<span class="n">thinking_messages</span> <span class="o">=</span> <span class="n">make_iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">thinking_messages</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">thinking_messages</span><span class="p">)</span>
|
||||
<span class="n">character</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="n">choice</span><span class="p">(</span><span class="n">thinking_messages</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">get_display_name</span><span class="p">(</span><span class="n">character</span><span class="p">)))</span>
|
||||
|
||||
<span class="c1"># if response takes too long, note that the NPC is thinking.</span>
|
||||
<span class="n">thinking_defer</span> <span class="o">=</span> <span class="n">task</span><span class="o">.</span><span class="n">deferLater</span><span class="p">(</span><span class="n">reactor</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">thinking_timeout</span><span class="p">,</span> <span class="n">_echo_thinking_message</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># get the response from the LLM server</span>
|
||||
<span class="k">yield</span> <span class="bp">self</span><span class="o">.</span><span class="n">llm_client</span><span class="o">.</span><span class="n">get_response</span><span class="p">(</span><span class="n">speech</span><span class="p">)</span><span class="o">.</span><span class="n">addCallback</span><span class="p">(</span><span class="n">_respond</span><span class="p">)</span></div></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="CmdLLMTalk"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk">[docs]</a><span class="k">class</span> <span class="nc">CmdLLMTalk</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Talk to an NPC</span>
|
||||
|
||||
<span class="sd"> Usage:</span>
|
||||
<span class="sd"> talk npc <something></span>
|
||||
<span class="sd"> talk npc with spaces in name = <something></span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">key</span> <span class="o">=</span> <span class="s2">"talk"</span>
|
||||
|
||||
<div class="viewcode-block" id="CmdLLMTalk.parse"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.parse">[docs]</a> <span class="k">def</span> <span class="nf">parse</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">args</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="s2">"s="</span> <span class="ow">in</span> <span class="n">args</span><span class="p">:</span>
|
||||
<span class="n">name</span><span class="p">,</span> <span class="o">*</span><span class="n">speech</span> <span class="o">=</span> <span class="n">args</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"="</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">name</span><span class="p">,</span> <span class="o">*</span><span class="n">speech</span> <span class="o">=</span> <span class="n">args</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">" "</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">target_name</span> <span class="o">=</span> <span class="n">name</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">speech</span> <span class="o">=</span> <span class="n">speech</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">if</span> <span class="n">speech</span> <span class="k">else</span> <span class="s2">""</span></div>
|
||||
|
||||
<div class="viewcode-block" id="CmdLLMTalk.func"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.func">[docs]</a> <span class="k">def</span> <span class="nf">func</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">target_name</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="s2">"Talk to who?"</span><span class="p">)</span>
|
||||
<span class="k">return</span>
|
||||
|
||||
<span class="n">location</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">location</span>
|
||||
<span class="n">target</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target_name</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">target</span><span class="p">:</span>
|
||||
<span class="k">return</span>
|
||||
<span class="k">if</span> <span class="n">location</span><span class="p">:</span>
|
||||
<span class="n">location</span><span class="o">.</span><span class="n">msg_contents</span><span class="p">(</span>
|
||||
<span class="sa">f</span><span class="s1">'$You() talk to $You(</span><span class="si">{</span><span class="n">target</span><span class="o">.</span><span class="n">key</span><span class="si">}</span><span class="s1">), saying "</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">speech</span><span class="si">}</span><span class="s1">"'</span><span class="p">,</span>
|
||||
<span class="n">mapping</span><span class="o">=</span><span class="p">{</span><span class="n">target</span><span class="o">.</span><span class="n">key</span><span class="p">:</span> <span class="n">target</span><span class="p">},</span>
|
||||
<span class="n">from_obj</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="s2">"at_talked_to"</span><span class="p">):</span>
|
||||
<span class="n">target</span><span class="o">.</span><span class="n">at_talked_to</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">speech</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">caller</span><span class="o">.</span><span class="n">msg</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">target</span><span class="o">.</span><span class="n">key</span><span class="si">}</span><span class="s2"> doesn't seem to want to talk to you."</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../../../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../../../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="../../../../evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
144
docs/2.x/_modules/evennia/contrib/rpg/llm/tests.html
Normal file
144
docs/2.x/_modules/evennia/contrib/rpg/llm/tests.html
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>evennia.contrib.rpg.llm.tests — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../../../../../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
|
||||
<script src="../../../../../_static/jquery.js"></script>
|
||||
<script src="../../../../../_static/underscore.js"></script>
|
||||
<script src="../../../../../_static/doctools.js"></script>
|
||||
<script src="../../../../../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../../../../../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../../../../../genindex.html" />
|
||||
<link rel="search" title="Search" href="../../../../../search.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../../../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../../../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../../../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="../../../../evennia.html" accesskey="U">evennia</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../../../../../index.html">
|
||||
<img class="logo" src="../../../../../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../../../../../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="tests.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<h1>Source code for evennia.contrib.rpg.llm.tests</h1><div class="highlight"><pre>
|
||||
<span></span><span class="sd">"""</span>
|
||||
<span class="sd">Unit tests for the LLM Client and npc.</span>
|
||||
|
||||
<span class="sd">"""</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">anything</span> <span class="kn">import</span> <span class="n">Something</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.utils.create</span> <span class="kn">import</span> <span class="n">create_object</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.utils.test_resources</span> <span class="kn">import</span> <span class="n">EvenniaTestCase</span>
|
||||
<span class="kn">from</span> <span class="nn">mock</span> <span class="kn">import</span> <span class="n">Mock</span><span class="p">,</span> <span class="n">patch</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">.llm_npc</span> <span class="kn">import</span> <span class="n">LLMNPC</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="TestLLMClient"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.tests.html#evennia.contrib.rpg.llm.tests.TestLLMClient">[docs]</a><span class="k">class</span> <span class="nc">TestLLMClient</span><span class="p">(</span><span class="n">EvenniaTestCase</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="TestLLMClient.test_npc_at_talked_to"><a class="viewcode-back" href="../../../../../api/evennia.contrib.rpg.llm.tests.html#evennia.contrib.rpg.llm.tests.TestLLMClient.test_npc_at_talked_to">[docs]</a> <span class="nd">@patch</span><span class="p">(</span><span class="s2">"evennia.contrib.rpg.llm.llm_npc.task.deferLater"</span><span class="p">)</span>
|
||||
<span class="k">def</span> <span class="nf">test_npc_at_talked_to</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mock_deferLater</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Test the LLMNPC class.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">npc</span> <span class="o">=</span> <span class="n">create_object</span><span class="p">(</span><span class="n">LLMNPC</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="s2">"Test NPC"</span><span class="p">)</span>
|
||||
<span class="n">mock_LLMClient</span> <span class="o">=</span> <span class="n">Mock</span><span class="p">()</span>
|
||||
<span class="n">npc</span><span class="o">.</span><span class="n">_llm_client</span> <span class="o">=</span> <span class="n">mock_LLMClient</span>
|
||||
|
||||
<span class="n">npc</span><span class="o">.</span><span class="n">at_talked_to</span><span class="p">(</span><span class="s2">"Hello"</span><span class="p">,</span> <span class="n">npc</span><span class="p">)</span>
|
||||
|
||||
<span class="n">mock_deferLater</span><span class="o">.</span><span class="n">assert_called_with</span><span class="p">(</span><span class="n">Something</span><span class="p">,</span> <span class="n">npc</span><span class="o">.</span><span class="n">thinking_timeout</span><span class="p">,</span> <span class="n">Something</span><span class="p">)</span>
|
||||
<span class="n">mock_LLMClient</span><span class="o">.</span><span class="n">get_response</span><span class="o">.</span><span class="n">assert_called_with</span><span class="p">(</span><span class="s2">"Hello"</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../../../../../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../../../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../../../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="../../../../evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -94,7 +94,10 @@
|
|||
<span class="kn">import</span> <span class="nn">urllib.request</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">django</span>
|
||||
<span class="kn">import</span> <span class="nn">evennia</span>
|
||||
<span class="kn">from</span> <span class="nn">django.conf</span> <span class="kn">import</span> <span class="n">settings</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.accounts.models</span> <span class="kn">import</span> <span class="n">AccountDB</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.utils</span> <span class="kn">import</span> <span class="n">get_evennia_version</span><span class="p">,</span> <span class="n">logger</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet</span> <span class="kn">import</span> <span class="n">defer</span><span class="p">,</span> <span class="n">protocol</span><span class="p">,</span> <span class="n">reactor</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.internet.defer</span> <span class="kn">import</span> <span class="n">inlineCallbacks</span>
|
||||
<span class="kn">from</span> <span class="nn">twisted.web.client</span> <span class="kn">import</span> <span class="n">Agent</span><span class="p">,</span> <span class="n">HTTPConnectionPool</span><span class="p">,</span> <span class="n">_HTTP11ClientFactory</span>
|
||||
|
|
@ -102,15 +105,11 @@
|
|||
<span class="kn">from</span> <span class="nn">twisted.web.iweb</span> <span class="kn">import</span> <span class="n">IBodyProducer</span>
|
||||
<span class="kn">from</span> <span class="nn">zope.interface</span> <span class="kn">import</span> <span class="n">implementer</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">evennia</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.accounts.models</span> <span class="kn">import</span> <span class="n">AccountDB</span>
|
||||
<span class="kn">from</span> <span class="nn">evennia.utils</span> <span class="kn">import</span> <span class="n">get_evennia_version</span><span class="p">,</span> <span class="n">logger</span>
|
||||
|
||||
<span class="n">_EGI_HOST</span> <span class="o">=</span> <span class="s2">"http://evennia-game-index.appspot.com"</span>
|
||||
<span class="n">_EGI_REPORT_PATH</span> <span class="o">=</span> <span class="s2">"/api/v1/game/check_in"</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="EvenniaGameIndexClient"><a class="viewcode-back" href="../../../../api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.EvenniaGameIndexClient">[docs]</a><span class="k">class</span> <span class="nc">EvenniaGameIndexClient</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="EvenniaGameIndexClient"><a class="viewcode-back" href="../../../../api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.EvenniaGameIndexClient">[docs]</a><span class="k">class</span> <span class="nc">EvenniaGameIndexClient</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> This client class is used for gathering and sending game details to the</span>
|
||||
<span class="sd"> Evennia Game Index. Since EGI is in the early goings, this isn't</span>
|
||||
|
|
@ -119,8 +118,8 @@
|
|||
|
||||
<div class="viewcode-block" id="EvenniaGameIndexClient.__init__"><a class="viewcode-back" href="../../../../api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.EvenniaGameIndexClient.__init__">[docs]</a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">on_bad_request</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> :param on_bad_request: Optional callable to trigger when a bad request</span>
|
||||
<span class="sd"> was sent. This is almost always going to be due to bad config.</span>
|
||||
<span class="sd"> on_bad_request (callable, optional): Callable to trigger when a bad request was sent.</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">report_host</span> <span class="o">=</span> <span class="n">_EGI_HOST</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">report_path</span> <span class="o">=</span> <span class="n">_EGI_REPORT_PATH</span>
|
||||
|
|
@ -236,7 +235,7 @@
|
|||
|
||||
|
||||
<div class="viewcode-block" id="StringProducer"><a class="viewcode-back" href="../../../../api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer">[docs]</a><span class="nd">@implementer</span><span class="p">(</span><span class="n">IBodyProducer</span><span class="p">)</span>
|
||||
<span class="k">class</span> <span class="nc">StringProducer</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<span class="k">class</span> <span class="nc">StringProducer</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Used for feeding a request body to the tx HTTP client.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@
|
|||
<span class="sd"> Stop the service so we're not wasting resources.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">logger</span><span class="o">.</span><span class="n">log_infomsg</span><span class="p">(</span>
|
||||
<span class="s2">"Shutting down Evennia Game Index client service due to "</span> <span class="s2">"invalid configuration."</span>
|
||||
<span class="s2">"Shutting down Evennia Game Index client service due to invalid configuration."</span>
|
||||
<span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">stopService</span><span class="p">()</span></div>
|
||||
</pre></div>
|
||||
|
|
|
|||
|
|
@ -202,6 +202,9 @@
|
|||
<li><a href="evennia/contrib/rpg/dice/tests.html">evennia.contrib.rpg.dice.tests</a></li>
|
||||
<li><a href="evennia/contrib/rpg/health_bar/health_bar.html">evennia.contrib.rpg.health_bar.health_bar</a></li>
|
||||
<li><a href="evennia/contrib/rpg/health_bar/tests.html">evennia.contrib.rpg.health_bar.tests</a></li>
|
||||
<li><a href="evennia/contrib/rpg/llm/llm_client.html">evennia.contrib.rpg.llm.llm_client</a></li>
|
||||
<li><a href="evennia/contrib/rpg/llm/llm_npc.html">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
<li><a href="evennia/contrib/rpg/llm/tests.html">evennia.contrib.rpg.llm.tests</a></li>
|
||||
<li><a href="evennia/contrib/rpg/rpsystem/rplanguage.html">evennia.contrib.rpg.rpsystem.rplanguage</a></li>
|
||||
<li><a href="evennia/contrib/rpg/rpsystem/rpsystem.html">evennia.contrib.rpg.rpsystem.rpsystem</a></li>
|
||||
<li><a href="evennia/contrib/rpg/rpsystem/tests.html">evennia.contrib.rpg.rpsystem.tests</a></li>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
# Changelog
|
||||
|
||||
## Evennia main branch
|
||||
|
||||
- Contrib: Large-language-model (LLM) AI integration; allows NPCs to talk using
|
||||
responses from a neural network server.
|
||||
|
||||
## Evennia 2.1.0
|
||||
|
||||
July 14, 2023
|
||||
|
|
|
|||
133
docs/2.x/_sources/Contribs/Contrib-Llm.md.txt
Normal file
133
docs/2.x/_sources/Contribs/Contrib-Llm.md.txt
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
# Large Language Model ("Chat-bot AI") integration
|
||||
|
||||
Contribution by Griatch 2023
|
||||
|
||||
This adds an LLMClient that allows Evennia to send prompts to a LLM server (Large Language Model, along the lines of ChatGPT). Example uses a local OSS LLM install. Included is an NPC you can chat with using a new `talk` command. The NPC will respond using the AI responses from the LLM server. All calls are asynchronous, so if the LLM is slow, Evennia is not affected.
|
||||
|
||||
## Installation
|
||||
|
||||
You need two components for this contrib - Evennia, and an LLM webserver that operates and provides an API to an LLM AI model.
|
||||
|
||||
### LLM Server
|
||||
|
||||
There are many LLM servers, but they can be pretty technical to install and set up. This contrib was tested with [text-generation-webui](https://github.com/oobabooga/text-generation-webui) which has a lot of features, and is also easy to install. Here are the install instructions in brief, see their home page for more details.
|
||||
|
||||
1. [Go to the Installation section](https://github.com/oobabooga/text-generation-webui#installation) and grab the 'one-click installer' for your OS.
|
||||
2. Unzip the files in a folder somewhere on your hard drive (you don't have to put it next to your evennia stuff if you don't want to).
|
||||
3. In a terminal/console, `cd` into the folder and execute the source file in whatever way it's done for your OS (like `source start_linux.sh` for Linux, or `.\start_windows` for Windows). This is an installer that will fetch and install everything in a conda virtual environment. When asked, make sure to select your GPU (NVIDIA/AMD etc) if you have one, otherwise use CPU.
|
||||
4. Once all is loaded, Ctrl-C (or Cmd-C) the server and open the file `webui.py` (it's one of the top files in the archive you unzipped). Find a text string `CMD_FLAGS = ''` and change this to `CMD_FLAGS = '--api'`. Then save and close. This makes the server activate its api automatically.
|
||||
4. Now just run that server starting script again. This is what you'll use to start the LLM server henceforth.
|
||||
5. Once the server is running, open your browser on http://127.0.0.1:7860 to see the running Text generation web ui running. If you turned on the API, you'll find it's now active on port 5000. This should not collide with default Evennia ports unless you changed something.
|
||||
6. At this point you have the server and API, but it's not actually running any Large-Language-Model (LLM) yet. In the web ui, go to the `models` tab and enter a github-style path in the `Download custom model or LoRA` field. To test so things work, enter `facebook/opt-125m` and download. This is a relatively small model (125 million parameters) so should be possible to run on most machines using only CPU. Update the models in the drop-down on the left and select it, then load it with the `Transformers` loader. It should load pretty quickly. If you want to load this every time, you can select the `Autoload the model` checkbox; otherwise you'll need to select and load the model every time you start the LLM server.
|
||||
7. To experiment, you can find thousands of other open-source text-generation LLM models on [huggingface.co/models](https://huggingface.co/models?pipeline_tag=text-generation&sort=trending). Be ware to not download a too huge model; your machine may not be able to load it! If you try large models, _don't_ set the `Autoload the model` checkbox, in case the model crashes your server on startup.
|
||||
|
||||
For troubleshooting, you can look at the terminal output of the `text-generation-webui` server; it will show you the requests you do to it and also list any errors.
|
||||
|
||||
### Evennia config
|
||||
|
||||
To be able to talk to NPCs, import and add the `evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk` command to your Character cmdset in `mygame/commands/default_commands.py` (see the basic tutorials if you are unsure.
|
||||
|
||||
The default LLM api config should work with the text-generation-webui LLM server running its API on port 5000. You can also customize it via settings (if a setting is not added, the default below is used:
|
||||
|
||||
```python
|
||||
# path to the LLM server
|
||||
LLM_HOST = "http://127.0.0.1:5000"
|
||||
LLM_PATH = "/api/v1/generate"
|
||||
|
||||
# if you wanted to authenticated to some external service, you could
|
||||
# add an Authenticate header here with a token
|
||||
LLM_HEADERS = {"Content-Type": "application/json"}
|
||||
|
||||
# this key will be inserted in the request, with your user-input
|
||||
LLM_PROMPT_KEYNAME = "prompt"
|
||||
|
||||
# defaults are set up for text-generation-webui. I have no idea what most of
|
||||
# these do ^_^; you'll need to read a book on LLMs, or at least dive
|
||||
# into a bunch of online tutorials.
|
||||
LLM_REQUEST_BODY = {
|
||||
"max_new_tokens": 250, # set how many tokens are part of a response
|
||||
"preset": "None",
|
||||
"do_sample": True,
|
||||
"temperature": 0.7,
|
||||
"top_p": 0.1,
|
||||
"typical_p": 1,
|
||||
"epsilon_cutoff": 0, # In units of 1e-4
|
||||
"eta_cutoff": 0, # In units of 1e-4
|
||||
"tfs": 1,
|
||||
"top_a": 0,
|
||||
"repetition_penalty": 1.18,
|
||||
"repetition_penalty_range": 0,
|
||||
"top_k": 40,
|
||||
"min_length": 0,
|
||||
"no_repeat_ngram_size": 0,
|
||||
"num_beams": 1,
|
||||
"penalty_alpha": 0,
|
||||
"length_penalty": 1,
|
||||
"early_stopping": False,
|
||||
"mirostat_mode": 0,
|
||||
"mirostat_tau": 5,
|
||||
"mirostat_eta": 0.1,
|
||||
"seed": -1,
|
||||
"add_bos_token": True,
|
||||
"truncation_length": 2048,
|
||||
"ban_eos_token": False,
|
||||
"skip_special_tokens": True,
|
||||
"stopping_strings": [],
|
||||
}
|
||||
```
|
||||
Don't forget to reload Evennia if you make any changes.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
With the LLM server running and the new `talk` command added, create a new LLM-connected NPC and talk to it in-game.
|
||||
|
||||
> create/drop girl:evennia.contrib.rpg.llm.LLMNPC
|
||||
> talk girl Hello!
|
||||
girl ponders ...
|
||||
girl says, Hello! How are you?
|
||||
|
||||
The NPC will show a 'thinking' message if the server responds slower than 2 seconds (by default).
|
||||
|
||||
Most likely, your first response will *not* be this nice and short, but will be quite nonsensical, looking like an email. This is because the example model we loaded is not optimized for conversations. But at least you know it works!
|
||||
|
||||
## A note on running LLMs locally
|
||||
|
||||
Running an LLM locally can be _very_ demanding.
|
||||
|
||||
As an example, I tested this on my very beefy work laptop. It has 32GB or RAM, but no gpu. so i ran the example (small 128m parameter) model on cpu. it takes about 3-4 seconds to generate a (frankly very bad) response. so keep that in mind.
|
||||
|
||||
On huggingface you can find listings of the 'best performing' language models right now. This changes all the time. The leading models require 100+ GB RAM. And while it's possible to run on a CPU, ideally you should have a large graphics card (GPU) with a lot of VRAM too.
|
||||
|
||||
So most likely you'll have to settle on something smaller. Experimenting with different models and also tweaking the prompt is needed.
|
||||
|
||||
Also be aware that many open-source models are intended for AI research and licensed for non-commercial use only. So be careful if you want to use this in a commercial game. No doubt there will be a lot of changes in this area over the coming years.
|
||||
|
||||
### Why not use an AI cloud service?
|
||||
|
||||
You could in principle use this to call out to an external API, like OpenAI (chat-GPT) or Google. Most such cloud-hosted services are commercial (costs money). But since they have the hardware to run bigger models (or their own, proprietary models), they may give better and faster results.
|
||||
|
||||
Calling an external API is not tested, so report any findings. Since the Evennia Server (not the Portal) is doing the calling, you are recommended to put a proxy between you and the internet if you call out like this.
|
||||
|
||||
## The LLMNPC class
|
||||
|
||||
This is a simple Character class, with a few extra properties:
|
||||
|
||||
```python
|
||||
response_template = "{name} says: {response}"
|
||||
thinking_timeout = 2 # how long to wait until showing thinking
|
||||
|
||||
# random 'thinking echoes' to return while we wait, if the AI is slow
|
||||
thinking_messages = [
|
||||
"{name} thinks about what you said ...",
|
||||
"{name} ponders your words ...",
|
||||
"{name} ponders ...",
|
||||
]
|
||||
```
|
||||
|
||||
The character has a new method `at_talked_to` which does the connection to the LLM server and responds. This is called by the new `talk` command. Note that all these calls are asynchronous, meaning a slow response will not block Evennia.
|
||||
|
||||
----
|
||||
|
||||
<small>This document page is generated from `evennia/contrib/rpg/llm/README.md`. Changes to this
|
||||
file will be overwritten, so edit that file rather than this one.</small>
|
||||
|
|
@ -7,7 +7,7 @@ in the [Community Contribs & Snippets][forum] forum.
|
|||
_Contribs_ are optional code snippets and systems contributed by
|
||||
the Evennia community. They vary in size and complexity and
|
||||
may be more specific about game types and styles than 'core' Evennia.
|
||||
This page is auto-generated and summarizes all **48** contribs currently included
|
||||
This page is auto-generated and summarizes all **49** contribs currently included
|
||||
with the Evennia distribution.
|
||||
|
||||
All contrib categories are imported from `evennia.contrib`, such as
|
||||
|
|
@ -34,11 +34,11 @@ If you want to add a contrib, see [the contrib guidelines](./Contribs-Guidelines
|
|||
| [components](#components) | [containers](#containers) | [cooldowns](#cooldowns) | [crafting](#crafting) | [custom_gametime](#custom_gametime) |
|
||||
| [dice](#dice) | [email_login](#email_login) | [evadventure](#evadventure) | [evscaperoom](#evscaperoom) | [extended_room](#extended_room) |
|
||||
| [fieldfill](#fieldfill) | [gendersub](#gendersub) | [git_integration](#git_integration) | [godotwebsocket](#godotwebsocket) | [health_bar](#health_bar) |
|
||||
| [ingame_map_display](#ingame_map_display) | [ingame_python](#ingame_python) | [mail](#mail) | [mapbuilder](#mapbuilder) | [menu_login](#menu_login) |
|
||||
| [mirror](#mirror) | [multidescer](#multidescer) | [mux_comms_cmds](#mux_comms_cmds) | [name_generator](#name_generator) | [puzzles](#puzzles) |
|
||||
| [random_string_generator](#random_string_generator) | [red_button](#red_button) | [rpsystem](#rpsystem) | [simpledoor](#simpledoor) | [slow_exit](#slow_exit) |
|
||||
| [talking_npc](#talking_npc) | [traits](#traits) | [tree_select](#tree_select) | [turnbattle](#turnbattle) | [tutorial_world](#tutorial_world) |
|
||||
| [unixcommand](#unixcommand) | [wilderness](#wilderness) | [xyzgrid](#xyzgrid) |
|
||||
| [ingame_map_display](#ingame_map_display) | [ingame_python](#ingame_python) | [llm](#llm) | [mail](#mail) | [mapbuilder](#mapbuilder) |
|
||||
| [menu_login](#menu_login) | [mirror](#mirror) | [multidescer](#multidescer) | [mux_comms_cmds](#mux_comms_cmds) | [name_generator](#name_generator) |
|
||||
| [puzzles](#puzzles) | [random_string_generator](#random_string_generator) | [red_button](#red_button) | [rpsystem](#rpsystem) | [simpledoor](#simpledoor) |
|
||||
| [slow_exit](#slow_exit) | [talking_npc](#talking_npc) | [traits](#traits) | [tree_select](#tree_select) | [turnbattle](#turnbattle) |
|
||||
| [tutorial_world](#tutorial_world) | [unixcommand](#unixcommand) | [wilderness](#wilderness) | [xyzgrid](#xyzgrid) |
|
||||
|
||||
|
||||
|
||||
|
|
@ -552,6 +552,7 @@ Contrib-Buffs.md
|
|||
Contrib-Character-Creator.md
|
||||
Contrib-Dice.md
|
||||
Contrib-Health-Bar.md
|
||||
Contrib-Llm.md
|
||||
Contrib-RPSystem.md
|
||||
Contrib-Traits.md
|
||||
```
|
||||
|
|
@ -604,6 +605,16 @@ and can be used for any sort of appropriate data besides player health.
|
|||
|
||||
|
||||
|
||||
### `llm`
|
||||
|
||||
_Contribution by Griatch 2023_
|
||||
|
||||
This adds an LLMClient that allows Evennia to send prompts to a LLM server (Large Language Model, along the lines of ChatGPT). Example uses a local OSS LLM install. Included is an NPC you can chat with using a new `talk` command. The NPC will respond using the AI responses from the LLM server. All calls are asynchronous, so if the LLM is slow, Evennia is not affected.
|
||||
|
||||
[Read the documentation](./Contrib-Llm.md) - [Browse the Code](evennia.contrib.rpg.llm)
|
||||
|
||||
|
||||
|
||||
### `rpsystem`
|
||||
|
||||
_Contribution by Griatch, 2015_
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
```{eval-rst}
|
||||
evennia.contrib.rpg.llm.llm\_client
|
||||
==========================================
|
||||
|
||||
.. automodule:: evennia.contrib.rpg.llm.llm_client
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
```
|
||||
10
docs/2.x/_sources/api/evennia.contrib.rpg.llm.llm_npc.md.txt
Normal file
10
docs/2.x/_sources/api/evennia.contrib.rpg.llm.llm_npc.md.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
```{eval-rst}
|
||||
evennia.contrib.rpg.llm.llm\_npc
|
||||
=======================================
|
||||
|
||||
.. automodule:: evennia.contrib.rpg.llm.llm_npc
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
```
|
||||
19
docs/2.x/_sources/api/evennia.contrib.rpg.llm.md.txt
Normal file
19
docs/2.x/_sources/api/evennia.contrib.rpg.llm.md.txt
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
```{eval-rst}
|
||||
evennia.contrib.rpg.llm
|
||||
===============================
|
||||
|
||||
.. automodule:: evennia.contrib.rpg.llm
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 6
|
||||
|
||||
evennia.contrib.rpg.llm.llm_client
|
||||
evennia.contrib.rpg.llm.llm_npc
|
||||
evennia.contrib.rpg.llm.tests
|
||||
|
||||
```
|
||||
10
docs/2.x/_sources/api/evennia.contrib.rpg.llm.tests.md.txt
Normal file
10
docs/2.x/_sources/api/evennia.contrib.rpg.llm.tests.md.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
```{eval-rst}
|
||||
evennia.contrib.rpg.llm.tests
|
||||
====================================
|
||||
|
||||
.. automodule:: evennia.contrib.rpg.llm.tests
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
```
|
||||
|
|
@ -15,6 +15,7 @@ evennia.contrib.rpg
|
|||
evennia.contrib.rpg.character_creator
|
||||
evennia.contrib.rpg.dice
|
||||
evennia.contrib.rpg.health_bar
|
||||
evennia.contrib.rpg.llm
|
||||
evennia.contrib.rpg.rpsystem
|
||||
evennia.contrib.rpg.traits
|
||||
|
||||
|
|
|
|||
|
|
@ -401,6 +401,15 @@
|
|||
<li class="toctree-l5"><a class="reference internal" href="evennia.contrib.rpg.health_bar.tests.html">evennia.contrib.rpg.health_bar.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.llm.html">evennia.contrib.rpg.llm</a><ul>
|
||||
<li class="toctree-l5"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html">evennia.contrib.rpg.llm.llm_client</a><ul>
|
||||
<li class="toctree-l6"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html#optional-evennia-settings-if-not-given-these-defaults-are-used">Optional Evennia settings (if not given, these defaults are used)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l5"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_npc.html">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
<li class="toctree-l5"><a class="reference internal" href="evennia.contrib.rpg.llm.tests.html">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.html">evennia.contrib.rpg.rpsystem</a><ul>
|
||||
<li class="toctree-l5"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html">evennia.contrib.rpg.rpsystem.rplanguage</a><ul>
|
||||
<li class="toctree-l6"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html#usage">Usage</a></li>
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ method. Otherwise all text will be returned to all connected sessions.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.account.CmdOOCLook.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -172,7 +172,7 @@ method. Otherwise all text will be returned to all connected sessions.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.account.CmdOOCLook.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}</em><a class="headerlink" href="#evennia.commands.default.account.CmdOOCLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -325,7 +325,7 @@ to accounts respectively.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.admin.CmdEmit.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['remit', 'pemit']</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['pemit', 'remit']</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -356,7 +356,7 @@ to accounts respectively.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.admin.CmdEmit.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'remit pemit', 'category': 'admin', 'key': 'emit', 'no_prefix': ' remit pemit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'pemit remit', 'category': 'admin', 'key': 'emit', 'no_prefix': ' pemit remit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}</em><a class="headerlink" href="#evennia.commands.default.admin.CmdEmit.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ skipping, reloading etc.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.batchprocess.CmdBatchCommands.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['batchcmd', 'batchcommand']</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['batchcommand', 'batchcmd']</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -177,7 +177,7 @@ skipping, reloading etc.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.batchprocess.CmdBatchCommands.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'batchcmd batchcommand', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' batchcmd batchcommand', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'batchcommand batchcmd', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' batchcommand batchcmd', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}</em><a class="headerlink" href="#evennia.commands.default.batchprocess.CmdBatchCommands.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -1353,7 +1353,7 @@ server settings.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.building.CmdTypeclass.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['@update', '@swap', '@parent', '@typeclasses', '@type']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['@typeclasses', '@parent', '@update', '@type', '@swap']</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -1384,7 +1384,7 @@ server settings.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.building.CmdTypeclass.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '@update @swap @parent @typeclasses @type', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass update swap parent typeclasses type', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '@typeclasses @parent @update @type @swap', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass typeclasses parent update type swap', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}</em><a class="headerlink" href="#evennia.commands.default.building.CmdTypeclass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -183,7 +183,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a><account&g
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdLook.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -214,7 +214,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a><account&g
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdLook.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -276,7 +276,7 @@ for everyone to use, you need build privileges and the alias command.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdNick.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['nickname', 'nicks']</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['nicks', 'nickname']</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -308,7 +308,7 @@ for everyone to use, you need build privileges and the alias command.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdNick.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'nickname nicks', 'category': 'general', 'key': 'nick', 'no_prefix': ' nickname nicks', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'nicks nickname', 'category': 'general', 'key': 'nick', 'no_prefix': ' nicks nickname', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdNick.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -606,7 +606,7 @@ placing it in their inventory.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdSay.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ["'", '"']</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['"', "'"]</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -637,7 +637,7 @@ placing it in their inventory.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdSay.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '\' "', 'category': 'general', 'key': 'say', 'no_prefix': ' \' "', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '" \'', 'category': 'general', 'key': 'say', 'no_prefix': ' " \'', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.commands.default.general.CmdSay.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -717,7 +717,7 @@ automatically begin with your name.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdPose.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = [':', 'emote']</em><a class="headerlink" href="#evennia.commands.default.general.CmdPose.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['emote', ':']</em><a class="headerlink" href="#evennia.commands.default.general.CmdPose.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -758,7 +758,7 @@ space.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.general.CmdPose.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': ': emote', 'category': 'general', 'key': 'pose', 'no_prefix': ' : emote', 'tags': '', 'text': "\n strike a pose\n\n Usage:\n pose <pose text>\n pose's <pose text>\n\n Example:\n pose is standing by the wall, smiling.\n -> others will see:\n Tom is standing by the wall, smiling.\n\n Describe an action being taken. The pose text will\n automatically begin with your name.\n "}</em><a class="headerlink" href="#evennia.commands.default.general.CmdPose.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'emote :', 'category': 'general', 'key': 'pose', 'no_prefix': ' emote :', 'tags': '', 'text': "\n strike a pose\n\n Usage:\n pose <pose text>\n pose's <pose text>\n\n Example:\n pose is standing by the wall, smiling.\n -> others will see:\n Tom is standing by the wall, smiling.\n\n Describe an action being taken. The pose text will\n automatically begin with your name.\n "}</em><a class="headerlink" href="#evennia.commands.default.general.CmdPose.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -691,7 +691,7 @@ See <a href="#id11"><span class="problematic" id="id12">|</span></a>luhttps://ww
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.system.CmdTasks.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['@delays', '@task']</em><a class="headerlink" href="#evennia.commands.default.system.CmdTasks.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['@task', '@delays']</em><a class="headerlink" href="#evennia.commands.default.system.CmdTasks.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -737,7 +737,7 @@ to all the variables defined therein.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.system.CmdTasks.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '@delays @task', 'category': 'system', 'key': '@tasks', 'no_prefix': 'tasks delays task', 'tags': '', 'text': "\n Display or terminate active tasks (delays).\n\n Usage:\n tasks[/switch] [task_id or function_name]\n\n Switches:\n pause - Pause the callback of a task.\n unpause - Process all callbacks made since pause() was called.\n do_task - Execute the task (call its callback).\n call - Call the callback of this task.\n remove - Remove a task without executing it.\n cancel - Stop a task from automatically executing.\n\n Notes:\n A task is a single use method of delaying the call of a function. Calls are created\n in code, using `evennia.utils.delay`.\n See |luhttps://www.evennia.com/docs/latest/Command-Duration.html|ltthe docs|le for help.\n\n By default, tasks that are canceled and never called are cleaned up after one minute.\n\n Examples:\n - `tasks/cancel move_callback` - Cancels all movement delays from the slow_exit contrib.\n In this example slow exits creates it's tasks with\n `utils.delay(move_delay, move_callback)`\n - `tasks/cancel 2` - Cancel task id 2.\n\n "}</em><a class="headerlink" href="#evennia.commands.default.system.CmdTasks.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '@task @delays', 'category': 'system', 'key': '@tasks', 'no_prefix': 'tasks task delays', 'tags': '', 'text': "\n Display or terminate active tasks (delays).\n\n Usage:\n tasks[/switch] [task_id or function_name]\n\n Switches:\n pause - Pause the callback of a task.\n unpause - Process all callbacks made since pause() was called.\n do_task - Execute the task (call its callback).\n call - Call the callback of this task.\n remove - Remove a task without executing it.\n cancel - Stop a task from automatically executing.\n\n Notes:\n A task is a single use method of delaying the call of a function. Calls are created\n in code, using `evennia.utils.delay`.\n See |luhttps://www.evennia.com/docs/latest/Command-Duration.html|ltthe docs|le for help.\n\n By default, tasks that are canceled and never called are cleaned up after one minute.\n\n Examples:\n - `tasks/cancel move_callback` - Cancels all movement delays from the slow_exit contrib.\n In this example slow exits creates it's tasks with\n `utils.delay(move_delay, move_callback)`\n - `tasks/cancel 2` - Cancel task id 2.\n\n "}</em><a class="headerlink" href="#evennia.commands.default.system.CmdTasks.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -963,7 +963,7 @@ main test suite started with</p>
|
|||
<p>Test the batch processor.</p>
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.tests.TestBatchProcess.red_button">
|
||||
<code class="sig-name descname">red_button</code><em class="property"> = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmpc8m02qsa/e3120d3be991a85cb5ac5d5d820ec0278dcb565a/evennia/contrib/tutorials/red_button/red_button.py'></em><a class="headerlink" href="#evennia.commands.default.tests.TestBatchProcess.red_button" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">red_button</code><em class="property"> = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmphljmiw22/53cadb797d6d30e623e5175fcacaca6b90a4e1e6/evennia/contrib/tutorials/red_button/red_button.py'></em><a class="headerlink" href="#evennia.commands.default.tests.TestBatchProcess.red_button" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ connect “account name” “pass word”</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['con', 'co', 'conn']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['co', 'con', 'conn']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -165,7 +165,7 @@ there is no object yet before the account has logged in)</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedConnect.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'con co conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' con co conn', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'co con conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' co con conn', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -189,7 +189,7 @@ create “account name” “pass word”</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedCreate.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['cre', 'cr']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedCreate.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['cr', 'cre']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedCreate.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -226,7 +226,7 @@ create “account name” “pass word”</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedCreate.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'cre cr', 'category': 'general', 'key': 'create', 'no_prefix': ' cre cr', 'tags': '', 'text': '\n create a new account account\n\n Usage (at login screen):\n create <accountname> <password>\n create "account name" "pass word"\n\n This creates a new account account.\n\n If you have spaces in your name, enclose it in double quotes.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedCreate.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'cr cre', 'category': 'general', 'key': 'create', 'no_prefix': ' cr cre', 'tags': '', 'text': '\n create a new account account\n\n Usage (at login screen):\n create <accountname> <password>\n create "account name" "pass word"\n\n This creates a new account account.\n\n If you have spaces in your name, enclose it in double quotes.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedCreate.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -349,7 +349,7 @@ for simplicity. It shows a pane of info.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedHelp.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['?', 'h']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedHelp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['h', '?']</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedHelp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -375,7 +375,7 @@ for simplicity. It shows a pane of info.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.commands.default.unloggedin.CmdUnconnectedHelp.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedHelp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'h ?', 'category': 'general', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n get help when in unconnected-in state\n\n Usage:\n help\n\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}</em><a class="headerlink" href="#evennia.commands.default.unloggedin.CmdUnconnectedHelp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedConnect.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['con', 'co', 'conn']</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['co', 'con', 'conn']</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedConnect.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -177,7 +177,7 @@ there is no object yet before the account has logged in)</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedConnect.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'con co conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' con co conn', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'co con conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' co con conn', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedConnect.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -199,7 +199,7 @@ there is no object yet before the account has logged in)</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedCreate.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['cre', 'cr']</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedCreate.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['cr', 'cre']</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedCreate.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -235,7 +235,7 @@ name enclosed in quotes:</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedCreate.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'cre cr', 'category': 'general', 'key': 'create', 'no_prefix': ' cre cr', 'tags': '', 'text': '\n Create a new account.\n\n Usage (at login screen):\n create "accountname" <email> <password>\n\n This creates a new account account.\n\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedCreate.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'cr cre', 'category': 'general', 'key': 'create', 'no_prefix': ' cr cre', 'tags': '', 'text': '\n Create a new account.\n\n Usage (at login screen):\n create "accountname" <email> <password>\n\n This creates a new account account.\n\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedCreate.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -343,7 +343,7 @@ for simplicity. It shows a pane of info.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedHelp.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['?', 'h']</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedHelp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['h', '?']</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedHelp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -369,7 +369,7 @@ for simplicity. It shows a pane of info.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedHelp.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '? h', 'category': 'general', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedHelp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'h ?', 'category': 'general', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n This is an unconnected version of the help command,\n for simplicity. It shows a pane of info.\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.email_login.email_login.CmdUnconnectedHelp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.ingame_python.commands.CmdCallback.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['@calls', '@callback', '@callbacks']</em><a class="headerlink" href="#evennia.contrib.base_systems.ingame_python.commands.CmdCallback.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['@callbacks', '@callback', '@calls']</em><a class="headerlink" href="#evennia.contrib.base_systems.ingame_python.commands.CmdCallback.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -205,7 +205,7 @@ on user permission.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.base_systems.ingame_python.commands.CmdCallback.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '@calls @callback @callbacks', 'category': 'building', 'key': '@call', 'no_prefix': 'call calls callback callbacks', 'tags': '', 'text': '\n Command to edit callbacks.\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.ingame_python.commands.CmdCallback.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '@callbacks @callback @calls', 'category': 'building', 'key': '@call', 'no_prefix': 'call callbacks callback calls', 'tags': '', 'text': '\n Command to edit callbacks.\n '}</em><a class="headerlink" href="#evennia.contrib.base_systems.ingame_python.commands.CmdCallback.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ the operation will be general or on the room.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdGiveUp.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['abort', 'chicken out', 'quit', 'q']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGiveUp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['q', 'chicken out', 'abort', 'quit']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGiveUp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
|
|
@ -243,7 +243,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdGiveUp.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'abort chicken out quit q', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' abort chicken out quit q', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGiveUp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'q chicken out abort quit', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' q chicken out abort quit', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGiveUp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -264,7 +264,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdLook.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -298,7 +298,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdLook.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -379,7 +379,7 @@ shout</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdSpeak.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['shout', 'whisper', ';']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdSpeak.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = [';', 'whisper', 'shout']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdSpeak.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -408,7 +408,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdSpeak.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'shout whisper ;', 'category': 'general', 'key': 'say', 'no_prefix': ' shout whisper ;', 'tags': '', 'text': '\n Perform an communication action.\n\n Usage:\n say <text>\n whisper\n shout\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdSpeak.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '; whisper shout', 'category': 'general', 'key': 'say', 'no_prefix': ' ; whisper shout', 'tags': '', 'text': '\n Perform an communication action.\n\n Usage:\n say <text>\n whisper\n shout\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdSpeak.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -436,7 +436,7 @@ emote /me points to /box and /lever.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdEmote.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['pose', ':']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdEmote.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = [':', 'pose']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdEmote.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -475,7 +475,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdEmote.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'pose :', 'category': 'general', 'key': 'emote', 'no_prefix': ' pose :', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdEmote.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': ': pose', 'category': 'general', 'key': 'emote', 'no_prefix': ' : pose', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdEmote.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -498,7 +498,7 @@ looks and what actions is available.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdFocus.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['examine', 'e', 'ex', 'unfocus']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdFocus.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['examine', 'unfocus', 'e', 'ex']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdFocus.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -527,7 +527,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdFocus.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'examine e ex unfocus', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' examine e ex unfocus', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdFocus.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'examine unfocus e ex', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' examine unfocus e ex', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdFocus.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -589,7 +589,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdGet.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['inventory', 'give', 'i', 'inv']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGet.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['give', 'i', 'inventory', 'inv']</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGet.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
|
|
@ -613,7 +613,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.full_systems.evscaperoom.commands.CmdGet.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'inventory give i inv', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' inventory give i inv', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGet.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'give i inventory inv', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' give i inventory inv', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}</em><a class="headerlink" href="#evennia.contrib.full_systems.evscaperoom.commands.CmdGet.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -753,7 +753,7 @@ try to influence the other part in the deal.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.barter.barter.CmdStatus.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['deal', 'offers']</em><a class="headerlink" href="#evennia.contrib.game_systems.barter.barter.CmdStatus.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['offers', 'deal']</em><a class="headerlink" href="#evennia.contrib.game_systems.barter.barter.CmdStatus.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -779,7 +779,7 @@ try to influence the other part in the deal.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.barter.barter.CmdStatus.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'deal offers', 'category': 'trading', 'key': 'status', 'no_prefix': ' deal offers', 'tags': '', 'text': "\n show a list of the current deal\n\n Usage:\n status\n deal\n offers\n\n Shows the currently suggested offers on each sides of the deal. To\n accept the current deal, use the 'accept' command. Use 'offer' to\n change your deal. You might also want to use 'say', 'emote' etc to\n try to influence the other part in the deal.\n "}</em><a class="headerlink" href="#evennia.contrib.game_systems.barter.barter.CmdStatus.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'offers deal', 'category': 'trading', 'key': 'status', 'no_prefix': ' offers deal', 'tags': '', 'text': "\n show a list of the current deal\n\n Usage:\n status\n deal\n offers\n\n Shows the currently suggested offers on each sides of the deal. To\n accept the current deal, use the 'accept' command. Use 'offer' to\n change your deal. You might also want to use 'say', 'emote' etc to\n try to influence the other part in the deal.\n "}</em><a class="headerlink" href="#evennia.contrib.game_systems.barter.barter.CmdStatus.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -680,7 +680,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_basic.CmdPass.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_basic.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_basic.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -706,7 +706,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_basic.CmdPass.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_basic.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_basic.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -575,7 +575,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_equip.CmdPass.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_equip.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_equip.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -595,7 +595,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_equip.CmdPass.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_equip.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_equip.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -698,7 +698,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_items.CmdPass.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_items.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_items.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -718,7 +718,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_items.CmdPass.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_items.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_items.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -477,7 +477,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_magic.CmdPass.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_magic.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_magic.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -497,7 +497,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_magic.CmdPass.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_magic.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_magic.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -937,7 +937,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_range.CmdPass.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['wait', 'hold']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_range.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['hold', 'wait']</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_range.CmdPass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -957,7 +957,7 @@ if there are still any actions you can take.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.game_systems.turnbattle.tb_range.CmdPass.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_range.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><a class="headerlink" href="#evennia.contrib.game_systems.turnbattle.tb_range.CmdPass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -651,7 +651,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a><account&g
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.grid.extended_room.extended_room.CmdExtendedRoomLook.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.grid.extended_room.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.grid.extended_room.extended_room.CmdExtendedRoomLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -671,7 +671,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a><account&g
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.grid.extended_room.extended_room.CmdExtendedRoomLook.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.contrib.grid.extended_room.extended_room.CmdExtendedRoomLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.contrib.grid.extended_room.extended_room.CmdExtendedRoomLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -430,7 +430,7 @@ there is no room above/below you, your movement will fail.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.grid.xyzgrid.commands.CmdFlyAndDive.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['dive', 'fly']</em><a class="headerlink" href="#evennia.contrib.grid.xyzgrid.commands.CmdFlyAndDive.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['fly', 'dive']</em><a class="headerlink" href="#evennia.contrib.grid.xyzgrid.commands.CmdFlyAndDive.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
|
|
@ -453,7 +453,7 @@ to all the variables defined therein.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.grid.xyzgrid.commands.CmdFlyAndDive.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'dive fly', 'category': 'general', 'key': 'fly or dive', 'no_prefix': ' dive fly', 'tags': '', 'text': '\n Fly or Dive up and down.\n\n Usage:\n fly\n dive\n\n Will fly up one room or dive down one room at your current position. If\n there is no room above/below you, your movement will fail.\n\n '}</em><a class="headerlink" href="#evennia.contrib.grid.xyzgrid.commands.CmdFlyAndDive.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'fly dive', 'category': 'general', 'key': 'fly or dive', 'no_prefix': ' fly dive', 'tags': '', 'text': '\n Fly or Dive up and down.\n\n Usage:\n fly\n dive\n\n Will fly up one room or dive down one room at your current position. If\n there is no room above/below you, your movement will fail.\n\n '}</em><a class="headerlink" href="#evennia.contrib.grid.xyzgrid.commands.CmdFlyAndDive.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -372,6 +372,15 @@ useful but are deemed too game-specific to go into the core library.</p>
|
|||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.health_bar.tests.html">evennia.contrib.rpg.health_bar.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.llm.html">evennia.contrib.rpg.llm</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html">evennia.contrib.rpg.llm.llm_client</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html#optional-evennia-settings-if-not-given-these-defaults-are-used">Optional Evennia settings (if not given, these defaults are used)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_npc.html">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.llm.tests.html">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.html">evennia.contrib.rpg.rpsystem</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html">evennia.contrib.rpg.rpsystem.rplanguage</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html#usage">Usage</a></li>
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ everyone but the person rolling.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.dice.dice.CmdDice.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['@dice', 'roll']</em><a class="headerlink" href="#evennia.contrib.rpg.dice.dice.CmdDice.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['roll', '@dice']</em><a class="headerlink" href="#evennia.contrib.rpg.dice.dice.CmdDice.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -360,7 +360,7 @@ everyone but the person rolling.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.dice.dice.CmdDice.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '@dice roll', 'category': 'general', 'key': 'dice', 'no_prefix': ' dice roll', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}</em><a class="headerlink" href="#evennia.contrib.rpg.dice.dice.CmdDice.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'roll @dice', 'category': 'general', 'key': 'dice', 'no_prefix': ' roll dice', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}</em><a class="headerlink" href="#evennia.contrib.rpg.dice.dice.CmdDice.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="evennia.contrib.rpg.rpsystem" href="evennia.contrib.rpg.rpsystem.html" />
|
||||
<link rel="next" title="evennia.contrib.rpg.llm" href="evennia.contrib.rpg.llm.html" />
|
||||
<link rel="prev" title="evennia.contrib.rpg.health_bar.health_bar" href="evennia.contrib.rpg.health_bar.health_bar.html" />
|
||||
</head><body>
|
||||
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.rpsystem.html" title="evennia.contrib.rpg.rpsystem"
|
||||
<a href="evennia.contrib.rpg.llm.html" title="evennia.contrib.rpg.llm"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.health_bar.health_bar.html" title="evennia.contrib.rpg.health_bar.health_bar"
|
||||
|
|
@ -72,8 +72,8 @@
|
|||
<p class="topless"><a href="evennia.contrib.rpg.health_bar.health_bar.html"
|
||||
title="previous chapter">evennia.contrib.rpg.health_bar.health_bar</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.rpsystem.html"
|
||||
title="next chapter">evennia.contrib.rpg.rpsystem</a></p>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.html"
|
||||
title="next chapter">evennia.contrib.rpg.llm</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.rpsystem.html" title="evennia.contrib.rpg.rpsystem"
|
||||
<a href="evennia.contrib.rpg.llm.html" title="evennia.contrib.rpg.llm"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.health_bar.health_bar.html" title="evennia.contrib.rpg.health_bar.health_bar"
|
||||
|
|
|
|||
|
|
@ -153,6 +153,15 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.health_bar.tests.html">evennia.contrib.rpg.health_bar.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="evennia.contrib.rpg.llm.html">evennia.contrib.rpg.llm</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html">evennia.contrib.rpg.llm.llm_client</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html#optional-evennia-settings-if-not-given-these-defaults-are-used">Optional Evennia settings (if not given, these defaults are used)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_npc.html">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.llm.tests.html">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.html">evennia.contrib.rpg.rpsystem</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html">evennia.contrib.rpg.rpsystem.rplanguage</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html#usage">Usage</a></li>
|
||||
|
|
|
|||
163
docs/2.x/api/evennia.contrib.rpg.llm.html
Normal file
163
docs/2.x/api/evennia.contrib.rpg.llm.html
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>evennia.contrib.rpg.llm — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="evennia.contrib.rpg.llm.llm_client" href="evennia.contrib.rpg.llm.llm_client.html" />
|
||||
<link rel="prev" title="evennia.contrib.rpg.health_bar.tests" href="evennia.contrib.rpg.health_bar.tests.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_client.html" title="evennia.contrib.rpg.llm.llm_client"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.health_bar.tests.html" title="evennia.contrib.rpg.health_bar.tests"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" accesskey="U">evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.health_bar.tests.html"
|
||||
title="previous chapter">evennia.contrib.rpg.health_bar.tests</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.llm_client.html"
|
||||
title="next chapter">evennia.contrib.rpg.llm.llm_client</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/api/evennia.contrib.rpg.llm.md.txt"
|
||||
rel="nofollow">Show Page Source</a></li>
|
||||
</ul>
|
||||
</div><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="evennia.contrib.rpg.llm.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="module-evennia.contrib.rpg.llm">
|
||||
<span id="evennia-contrib-rpg-llm"></span><h1>evennia.contrib.rpg.llm<a class="headerlink" href="#module-evennia.contrib.rpg.llm" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html">evennia.contrib.rpg.llm.llm_client</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html#optional-evennia-settings-if-not-given-these-defaults-are-used">Optional Evennia settings (if not given, these defaults are used)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_npc.html">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="evennia.contrib.rpg.llm.tests.html">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_client.html" title="evennia.contrib.rpg.llm.llm_client"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.health_bar.tests.html" title="evennia.contrib.rpg.health_bar.tests"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" >evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
291
docs/2.x/api/evennia.contrib.rpg.llm.llm_client.html
Normal file
291
docs/2.x/api/evennia.contrib.rpg.llm.llm_client.html
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>evennia.contrib.rpg.llm.llm_client — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="evennia.contrib.rpg.llm.llm_npc" href="evennia.contrib.rpg.llm.llm_npc.html" />
|
||||
<link rel="prev" title="evennia.contrib.rpg.llm" href="evennia.contrib.rpg.llm.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_npc.html" title="evennia.contrib.rpg.llm.llm_npc"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.html" title="evennia.contrib.rpg.llm"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" >evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-6"><a href="evennia.contrib.rpg.llm.html" accesskey="U">evennia.contrib.rpg.llm</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_client</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">evennia.contrib.rpg.llm.llm_client</a><ul>
|
||||
<li><a class="reference internal" href="#optional-evennia-settings-if-not-given-these-defaults-are-used">Optional Evennia settings (if not given, these defaults are used)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.html"
|
||||
title="previous chapter">evennia.contrib.rpg.llm</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.llm_npc.html"
|
||||
title="next chapter">evennia.contrib.rpg.llm.llm_npc</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/api/evennia.contrib.rpg.llm.llm_client.md.txt"
|
||||
rel="nofollow">Show Page Source</a></li>
|
||||
</ul>
|
||||
</div><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="evennia.contrib.rpg.llm.llm_client.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="module-evennia.contrib.rpg.llm.llm_client">
|
||||
<span id="evennia-contrib-rpg-llm-llm-client"></span><h1>evennia.contrib.rpg.llm.llm_client<a class="headerlink" href="#module-evennia.contrib.rpg.llm.llm_client" title="Permalink to this headline">¶</a></h1>
|
||||
<p>LLM (Large Language Model) client, for communicating with an LLM backend. This can be used
|
||||
for generating texts for AI npcs, or for fine-tuning the LLM on a given prompt.</p>
|
||||
<p>Note that running a LLM locally requires a lot of power, and ideally a powerful GPU. Testing
|
||||
this with CPU mode on a beefy laptop, still takes some 4s just on a very small model.</p>
|
||||
<p>The server defaults to output suitable for a local server
|
||||
<a class="reference external" href="https://github.com/oobabooga/text-generation-webui">https://github.com/oobabooga/text-generation-webui</a>, but could be used for other LLM servers too.</p>
|
||||
<p>See the LLM instructions on that page for how to set up the server. You’ll also need
|
||||
a model file - there are thousands to try out on <a class="reference external" href="https://huggingface.co/models">https://huggingface.co/models</a> (you want Text
|
||||
Generation models specifically).</p>
|
||||
<section id="optional-evennia-settings-if-not-given-these-defaults-are-used">
|
||||
<h2>Optional Evennia settings (if not given, these defaults are used)<a class="headerlink" href="#optional-evennia-settings-if-not-given-these-defaults-are-used" title="Permalink to this headline">¶</a></h2>
|
||||
<p>DEFAULT_LLM_HOST = “<a class="reference external" href="http://localhost:5000">http://localhost:5000</a>”
|
||||
DEFAULT_LLM_PATH = “/api/v1/generate”
|
||||
DEFAULT_LLM_HEADERS = {“Content-Type”: “application/json”}
|
||||
DEFAULT_LLM_PROMPT_KEYNAME = “prompt”
|
||||
DEFAULT_LLM_REQUEST_BODY = {…} # see below, this controls how to prompt the LLM server.</p>
|
||||
<dl class="py class">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.StringProducer">
|
||||
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.rpg.llm.llm_client.</code><code class="sig-name descname">StringProducer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">body</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#StringProducer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.StringProducer" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||||
<p>Used for feeding a request body to the HTTP client.</p>
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.StringProducer.__init__">
|
||||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">body</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#StringProducer.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.StringProducer.__init__" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.StringProducer.startProducing">
|
||||
<code class="sig-name descname">startProducing</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">consumer</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#StringProducer.startProducing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.StringProducer.startProducing" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.StringProducer.pauseProducing">
|
||||
<code class="sig-name descname">pauseProducing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#StringProducer.pauseProducing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.StringProducer.pauseProducing" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.StringProducer.stopProducing">
|
||||
<code class="sig-name descname">stopProducing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#StringProducer.stopProducing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.StringProducer.stopProducing" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py class">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver">
|
||||
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.rpg.llm.llm_client.</code><code class="sig-name descname">SimpleResponseReceiver</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">status_code</span></em>, <em class="sig-param"><span class="n">d</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#SimpleResponseReceiver"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.internet.protocol.Protocol</span></code></p>
|
||||
<p>Used for pulling the response body out of an HTTP response.</p>
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.__init__">
|
||||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">status_code</span></em>, <em class="sig-param"><span class="n">d</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#SimpleResponseReceiver.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.__init__" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.dataReceived">
|
||||
<code class="sig-name descname">dataReceived</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">data</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#SimpleResponseReceiver.dataReceived"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.dataReceived" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Called whenever data is received.</p>
|
||||
<p>Use this method to translate to a higher-level message. Usually, some
|
||||
callback will be made upon the receipt of each complete protocol
|
||||
message.</p>
|
||||
<dl class="simple">
|
||||
<dt>@param data: a string of indeterminate length. Please keep in mind</dt><dd><p>that you will probably need to buffer some data, as partial
|
||||
(or multiple) protocol messages may be received! I recommend
|
||||
that unit tests for protocols call through to this method with
|
||||
differing chunk sizes, down to one byte at a time.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.connectionLost">
|
||||
<code class="sig-name descname">connectionLost</code><span class="sig-paren">(</span><em class="sig-param">reason=<twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#SimpleResponseReceiver.connectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.connectionLost" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Called when the connection is shut down.</p>
|
||||
<p>Clear any circular references here, and any external references
|
||||
to this Protocol. The connection has been closed.</p>
|
||||
<p>@type reason: L{twisted.python.failure.Failure}</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py class">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory">
|
||||
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.rpg.llm.llm_client.</code><code class="sig-name descname">QuietHTTP11ClientFactory</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">quiescentCallback</span></em>, <em class="sig-param"><span class="n">metadata</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#QuietHTTP11ClientFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.web.client._HTTP11ClientFactory</span></code></p>
|
||||
<p>Silences the obnoxious factory start/stop messages in the default client.</p>
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory.noisy">
|
||||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory.noisy" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py class">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.LLMClient">
|
||||
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.rpg.llm.llm_client.</code><code class="sig-name descname">LLMClient</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">on_bad_request</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#LLMClient"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.LLMClient" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||||
<p>A client for communicating with an LLM server.</p>
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.LLMClient.__init__">
|
||||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">on_bad_request</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#LLMClient.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.LLMClient.__init__" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_client.LLMClient.get_response">
|
||||
<code class="sig-name descname">get_response</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">prompt</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_client.html#LLMClient.get_response"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_client.LLMClient.get_response" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Get a response from the LLM server for the given npc.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>prompt</strong> (<em>str</em>) – The prompt to send to the LLM server.</p>
|
||||
</dd>
|
||||
<dt class="field-even">Returns</dt>
|
||||
<dd class="field-even"><p><p><em>str</em> –</p>
|
||||
<dl class="simple">
|
||||
<dt>The generated text response. Will return an empty string</dt><dd><p>if there is an issue with the server, in which case the
|
||||
the caller is expected to handle this gracefully.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_npc.html" title="evennia.contrib.rpg.llm.llm_npc"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.html" title="evennia.contrib.rpg.llm"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" >evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-6"><a href="evennia.contrib.rpg.llm.html" >evennia.contrib.rpg.llm</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_client</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
274
docs/2.x/api/evennia.contrib.rpg.llm.llm_npc.html
Normal file
274
docs/2.x/api/evennia.contrib.rpg.llm.llm_npc.html
Normal file
|
|
@ -0,0 +1,274 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>evennia.contrib.rpg.llm.llm_npc — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="evennia.contrib.rpg.llm.tests" href="evennia.contrib.rpg.llm.tests.html" />
|
||||
<link rel="prev" title="evennia.contrib.rpg.llm.llm_client" href="evennia.contrib.rpg.llm.llm_client.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.tests.html" title="evennia.contrib.rpg.llm.tests"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_client.html" title="evennia.contrib.rpg.llm.llm_client"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" >evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-6"><a href="evennia.contrib.rpg.llm.html" accesskey="U">evennia.contrib.rpg.llm</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.llm_client.html"
|
||||
title="previous chapter">evennia.contrib.rpg.llm.llm_client</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.tests.html"
|
||||
title="next chapter">evennia.contrib.rpg.llm.tests</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/api/evennia.contrib.rpg.llm.llm_npc.md.txt"
|
||||
rel="nofollow">Show Page Source</a></li>
|
||||
</ul>
|
||||
</div><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="evennia.contrib.rpg.llm.llm_npc.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="module-evennia.contrib.rpg.llm.llm_npc">
|
||||
<span id="evennia-contrib-rpg-llm-llm-npc"></span><h1>evennia.contrib.rpg.llm.llm_npc<a class="headerlink" href="#module-evennia.contrib.rpg.llm.llm_npc" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Basic class for NPC that makes use of an LLM (Large Language Model) to generate replies.</p>
|
||||
<p>It comes with a <strong>talk</strong> command; use <strong>talk npc <something></strong> to talk to the NPC. The NPC will
|
||||
respond using the LLM response.</p>
|
||||
<p>Makes use of the LLMClient for communicating with the server. The NPC will also
|
||||
echo a ‘thinking…’ message if the LLM server takes too long to respond.</p>
|
||||
<dl class="py class">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC">
|
||||
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.rpg.llm.llm_npc.</code><code class="sig-name descname">LLMNPC</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_npc.html#LLMNPC"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultCharacter" title="evennia.objects.objects.DefaultCharacter"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultCharacter</span></code></a></p>
|
||||
<p>An NPC that uses the LLM server to generate its responses. If the server is slow, it will
|
||||
echo a thinking message to the character while it waits for a response.</p>
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.response_template">
|
||||
<code class="sig-name descname">response_template</code><em class="property"> = '{name} says: {response}'</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.response_template" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.thinking_timeout">
|
||||
<code class="sig-name descname">thinking_timeout</code><em class="property"> = 2</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.thinking_timeout" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.thinking_messages">
|
||||
<code class="sig-name descname">thinking_messages</code><em class="property"> = ['{name} thinks about what you said ...', '{name} ponders your words ...', '{name} ponders ...']</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.thinking_messages" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.llm_client">
|
||||
<em class="property">property </em><code class="sig-name descname">llm_client</code><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.llm_client" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.at_talked_to">
|
||||
<code class="sig-name descname">at_talked_to</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">speech</span></em>, <em class="sig-param"><span class="n">character</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_npc.html#LLMNPC.at_talked_to"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.at_talked_to" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Called when this NPC is talked to by a character.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py exception">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.DoesNotExist">
|
||||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultCharacter.DoesNotExist" title="evennia.objects.objects.DefaultCharacter.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultCharacter.DoesNotExist</span></code></a></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py exception">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.MultipleObjectsReturned">
|
||||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultCharacter.MultipleObjectsReturned" title="evennia.objects.objects.DefaultCharacter.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultCharacter.MultipleObjectsReturned</span></code></a></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.path">
|
||||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.rpg.llm.llm_npc.LLMNPC'</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.path" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.LLMNPC.typename">
|
||||
<code class="sig-name descname">typename</code><em class="property"> = 'LLMNPC'</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.LLMNPC.typename" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py class">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk">
|
||||
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.rpg.llm.llm_npc.</code><code class="sig-name descname">CmdLLMTalk</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_npc.html#CmdLLMTalk"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="evennia.commands.command.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.command.Command</span></code></a></p>
|
||||
<p>Talk to an NPC</p>
|
||||
<dl class="simple">
|
||||
<dt>Usage:</dt><dd><p>talk npc <something>
|
||||
talk npc with spaces in name = <something></p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.key">
|
||||
<code class="sig-name descname">key</code><em class="property"> = 'talk'</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.key" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.parse">
|
||||
<code class="sig-name descname">parse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_npc.html#CmdLLMTalk.parse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.parse" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Once the cmdhandler has identified this as the command we
|
||||
want, this function is run. If many of your commands have a
|
||||
similar syntax (for example ‘cmd arg1 = arg2’) you should
|
||||
simply define this once and just let other commands of the
|
||||
same form inherit from this. See the docstring of this module
|
||||
for which object properties are available to use (notably
|
||||
self.args).</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.func">
|
||||
<code class="sig-name descname">func</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/llm_npc.html#CmdLLMTalk.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.func" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>This is the actual executing part of the command. It is
|
||||
called directly after self.parse(). See the docstring of this
|
||||
module for which object properties are available (beyond those
|
||||
set in self.parse())</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = []</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.help_category">
|
||||
<code class="sig-name descname">help_category</code><em class="property"> = 'general'</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.help_category" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.lock_storage">
|
||||
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:all();'</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.lock_storage" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '', 'category': 'general', 'key': 'talk', 'no_prefix': ' ', 'tags': '', 'text': '\n Talk to an NPC\n\n Usage:\n talk npc <something>\n talk npc with spaces in name = <something>\n\n '}</em><a class="headerlink" href="#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.tests.html" title="evennia.contrib.rpg.llm.tests"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_client.html" title="evennia.contrib.rpg.llm.llm_client"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" >evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-6"><a href="evennia.contrib.rpg.llm.html" >evennia.contrib.rpg.llm</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
168
docs/2.x/api/evennia.contrib.rpg.llm.tests.html
Normal file
168
docs/2.x/api/evennia.contrib.rpg.llm.tests.html
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>evennia.contrib.rpg.llm.tests — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="evennia.contrib.rpg.rpsystem" href="evennia.contrib.rpg.rpsystem.html" />
|
||||
<link rel="prev" title="evennia.contrib.rpg.llm.llm_npc" href="evennia.contrib.rpg.llm.llm_npc.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
accesskey="I">index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.rpsystem.html" title="evennia.contrib.rpg.rpsystem"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_npc.html" title="evennia.contrib.rpg.llm.llm_npc"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" >evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-6"><a href="evennia.contrib.rpg.llm.html" accesskey="U">evennia.contrib.rpg.llm</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.llm_npc.html"
|
||||
title="previous chapter">evennia.contrib.rpg.llm.llm_npc</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.rpsystem.html"
|
||||
title="next chapter">evennia.contrib.rpg.rpsystem</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/api/evennia.contrib.rpg.llm.tests.md.txt"
|
||||
rel="nofollow">Show Page Source</a></li>
|
||||
</ul>
|
||||
</div><h3>Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||||
<li>
|
||||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="evennia.contrib.rpg.llm.tests.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="module-evennia.contrib.rpg.llm.tests">
|
||||
<span id="evennia-contrib-rpg-llm-tests"></span><h1>evennia.contrib.rpg.llm.tests<a class="headerlink" href="#module-evennia.contrib.rpg.llm.tests" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Unit tests for the LLM Client and npc.</p>
|
||||
<dl class="py class">
|
||||
<dt id="evennia.contrib.rpg.llm.tests.TestLLMClient">
|
||||
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.rpg.llm.tests.</code><code class="sig-name descname">TestLLMClient</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">methodName</span><span class="o">=</span><span class="default_value">'runTest'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/tests.html#TestLLMClient"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.tests.TestLLMClient" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="evennia.utils.test_resources.html#evennia.utils.test_resources.EvenniaTestCase" title="evennia.utils.test_resources.EvenniaTestCase"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.utils.test_resources.EvenniaTestCase</span></code></a></p>
|
||||
<dl class="py method">
|
||||
<dt id="evennia.contrib.rpg.llm.tests.TestLLMClient.test_npc_at_talked_to">
|
||||
<code class="sig-name descname">test_npc_at_talked_to</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">mock_deferLater</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/rpg/llm/tests.html#TestLLMClient.test_npc_at_talked_to"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.rpg.llm.tests.TestLLMClient.test_npc_at_talked_to" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Test the LLMNPC class.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="right" style="margin-right: 10px">
|
||||
<a href="../genindex.html" title="General Index"
|
||||
>index</a></li>
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.rpsystem.html" title="evennia.contrib.rpg.rpsystem"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.llm.llm_npc.html" title="evennia.contrib.rpg.llm.llm_npc"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||||
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> »</li>
|
||||
<li class="nav-item nav-item-5"><a href="evennia.contrib.rpg.html" >evennia.contrib.rpg</a> »</li>
|
||||
<li class="nav-item nav-item-6"><a href="evennia.contrib.rpg.llm.html" >evennia.contrib.rpg.llm</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="evennia.contrib.rpg.rpsystem.rplanguage" href="evennia.contrib.rpg.rpsystem.rplanguage.html" />
|
||||
<link rel="prev" title="evennia.contrib.rpg.health_bar.tests" href="evennia.contrib.rpg.health_bar.tests.html" />
|
||||
<link rel="prev" title="evennia.contrib.rpg.llm.tests" href="evennia.contrib.rpg.llm.tests.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
<a href="evennia.contrib.rpg.rpsystem.rplanguage.html" title="evennia.contrib.rpg.rpsystem.rplanguage"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.health_bar.tests.html" title="evennia.contrib.rpg.health_bar.tests"
|
||||
<a href="evennia.contrib.rpg.llm.tests.html" title="evennia.contrib.rpg.llm.tests"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
|
|
@ -68,8 +68,8 @@
|
|||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.health_bar.tests.html"
|
||||
title="previous chapter">evennia.contrib.rpg.health_bar.tests</a></p>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.llm.tests.html"
|
||||
title="previous chapter">evennia.contrib.rpg.llm.tests</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="evennia.contrib.rpg.rpsystem.rplanguage.html"
|
||||
title="next chapter">evennia.contrib.rpg.rpsystem.rplanguage</a></p>
|
||||
|
|
@ -144,7 +144,7 @@
|
|||
<a href="evennia.contrib.rpg.rpsystem.rplanguage.html" title="evennia.contrib.rpg.rpsystem.rplanguage"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="evennia.contrib.rpg.health_bar.tests.html" title="evennia.contrib.rpg.health_bar.tests"
|
||||
<a href="evennia.contrib.rpg.llm.tests.html" title="evennia.contrib.rpg.llm.tests"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||||
|
|
|
|||
|
|
@ -709,7 +709,7 @@ a different language.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.rpsystem.rpsystem.CmdSay.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ["'", '"']</em><a class="headerlink" href="#evennia.contrib.rpg.rpsystem.rpsystem.CmdSay.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['"', "'"]</em><a class="headerlink" href="#evennia.contrib.rpg.rpsystem.rpsystem.CmdSay.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -740,7 +740,7 @@ a different language.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.rpg.rpsystem.rpsystem.CmdSay.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '\' "', 'category': 'general', 'key': 'say', 'no_prefix': ' \' "', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.contrib.rpg.rpsystem.rpsystem.CmdSay.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '" \'', 'category': 'general', 'key': 'say', 'no_prefix': ' " \'', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}</em><a class="headerlink" href="#evennia.contrib.rpg.rpsystem.rpsystem.CmdSay.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -389,7 +389,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a><account&g
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.evadventure.combat_twitch.CmdLook.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_twitch.CmdLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_twitch.CmdLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -409,7 +409,7 @@ look <a href="#id1"><span class="problematic" id="id2">*</span></a><account&g
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.evadventure.combat_twitch.CmdLook.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_twitch.CmdLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.combat_twitch.CmdLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ unwear <item></p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.evadventure.commands.CmdRemove.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['unwield', 'unwear']</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.commands.CmdRemove.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['unwear', 'unwield']</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.commands.CmdRemove.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
|
|
@ -325,7 +325,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.evadventure.commands.CmdRemove.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'unwield unwear', 'category': 'general', 'key': 'remove', 'no_prefix': ' unwield unwear', 'tags': '', 'text': '\n Remove a remove a weapon/shield, armor or helmet.\n\n Usage:\n remove <item>\n unwield <item>\n unwear <item>\n\n To remove an item from the backpack, use |wdrop|n instead.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.commands.CmdRemove.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'unwear unwield', 'category': 'general', 'key': 'remove', 'no_prefix': ' unwear unwield', 'tags': '', 'text': '\n Remove a remove a weapon/shield, armor or helmet.\n\n Usage:\n remove <item>\n unwield <item>\n unwear <item>\n\n To remove an item from the backpack, use |wdrop|n instead.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.commands.CmdRemove.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ such as when closing the lid and un-blinding a character.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdPushLidClosed.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['press', 'press button', 'push']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidClosed.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['push', 'press', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidClosed.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -190,7 +190,7 @@ check if the lid is open or closed.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdPushLidClosed.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'no_prefix': ' press press button push', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidClosed.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'no_prefix': ' push press press button', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidClosed.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -260,7 +260,7 @@ check if the lid is open or closed.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdSmashGlass.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['break lid', 'smash', 'smash lid']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdSmashGlass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['smash', 'smash lid', 'break lid']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdSmashGlass.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -287,7 +287,7 @@ break.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdSmashGlass.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'break lid smash smash lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' break lid smash smash lid', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdSmashGlass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'smash smash lid break lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' smash smash lid break lid', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdSmashGlass.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -387,7 +387,7 @@ be mutually exclusive.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdPushLidOpen.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['press', 'press button', 'push']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidOpen.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['push', 'press', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidOpen.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -416,7 +416,7 @@ set in self.parse())</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdPushLidOpen.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'no_prefix': ' press press button push', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidOpen.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'no_prefix': ' push press press button', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdPushLidOpen.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -514,7 +514,7 @@ be mutually exclusive.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdBlindLook.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['feel', 'get', 'examine', 'l', 'ex', 'listen']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdBlindLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['get', 'examine', 'listen', 'l', 'feel', 'ex']</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdBlindLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -540,7 +540,7 @@ be mutually exclusive.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.red_button.red_button.CmdBlindLook.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'feel get examine l ex listen', 'category': 'general', 'key': 'look', 'no_prefix': ' feel get examine l ex listen', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdBlindLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'get examine listen l feel ex', 'category': 'general', 'key': 'look', 'no_prefix': ' get examine listen l feel ex', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}</em><a class="headerlink" href="#evennia.contrib.tutorials.red_button.red_button.CmdBlindLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -564,7 +564,7 @@ shift green root up/down</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.objects.CmdShiftRoot.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['pull', 'move', 'shiftroot', 'push']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdShiftRoot.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['shiftroot', 'push', 'move', 'pull']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdShiftRoot.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -600,7 +600,7 @@ yellow/green - horizontal roots</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.objects.CmdShiftRoot.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'pull move shiftroot push', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' pull move shiftroot push', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdShiftRoot.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'shiftroot push move pull', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' shiftroot push move pull', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdShiftRoot.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -617,7 +617,7 @@ yellow/green - horizontal roots</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.objects.CmdPressButton.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['button', 'push button', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdPressButton.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['push button', 'button', 'press button']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdPressButton.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -643,7 +643,7 @@ yellow/green - horizontal roots</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.objects.CmdPressButton.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'button push button press button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' button push button press button', 'tags': '', 'text': '\n Presses a button.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdPressButton.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'push button button press button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' push button button press button', 'tags': '', 'text': '\n Presses a button.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdPressButton.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -787,7 +787,7 @@ parry - forgoes your attack but will make you harder to hit on next</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.objects.CmdAttack.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['parry', 'stab', 'fight', 'hit', 'pierce', 'defend', 'thrust', 'chop', 'bash', 'kill', 'slash']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdAttack.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['parry', 'kill', 'hit', 'pierce', 'slash', 'stab', 'fight', 'chop', 'defend', 'bash', 'thrust']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdAttack.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -813,7 +813,7 @@ parry - forgoes your attack but will make you harder to hit on next</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.objects.CmdAttack.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'parry stab fight hit pierce defend thrust chop bash kill slash', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' parry stab fight hit pierce defend thrust chop bash kill slash', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdAttack.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'parry kill hit pierce slash stab fight chop defend bash thrust', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' parry kill hit pierce slash stab fight chop defend bash thrust', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.objects.CmdAttack.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -256,7 +256,7 @@ code except for adding in the details.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.rooms.CmdTutorialLook.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['l', 'ls']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdTutorialLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['ls', 'l']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdTutorialLook.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -271,7 +271,7 @@ code except for adding in the details.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.rooms.CmdTutorialLook.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'l ls', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdTutorialLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'ls l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdTutorialLook.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -824,7 +824,7 @@ if they fall off the bridge.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.rooms.CmdBridgeHelp.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['?', 'h']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdBridgeHelp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['h', '?']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdBridgeHelp.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -850,7 +850,7 @@ if they fall off the bridge.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.rooms.CmdBridgeHelp.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '? h', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' ? h', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdBridgeHelp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'h ?', 'category': 'tutorial world', 'key': 'help', 'no_prefix': ' h ?', 'tags': '', 'text': '\n Overwritten help command while on the bridge.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdBridgeHelp.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
@ -976,7 +976,7 @@ to find something.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.rooms.CmdLookDark.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['feel', 'feel around', 'fiddle', 'search', 'l']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdLookDark.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['fiddle', 'feel around', 'l', 'feel', 'search']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdLookDark.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -1004,7 +1004,7 @@ random chance of eventually finding a light source.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.tutorials.tutorial_world.rooms.CmdLookDark.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'feel feel around fiddle search l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' feel feel around fiddle search l', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdLookDark.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'fiddle feel around l feel search', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' fiddle feel around l feel search', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.rooms.CmdLookDark.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ git evennia pull - Pull the latest evennia code.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.utils.git_integration.git_integration.CmdGitEvennia.directory">
|
||||
<code class="sig-name descname">directory</code><em class="property"> = '/tmp/tmpc8m02qsa/e3120d3be991a85cb5ac5d5d820ec0278dcb565a/evennia'</em><a class="headerlink" href="#evennia.contrib.utils.git_integration.git_integration.CmdGitEvennia.directory" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">directory</code><em class="property"> = '/tmp/tmphljmiw22/53cadb797d6d30e623e5175fcacaca6b90a4e1e6/evennia'</em><a class="headerlink" href="#evennia.contrib.utils.git_integration.git_integration.CmdGitEvennia.directory" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -277,7 +277,7 @@ git pull - Pull the latest code from your current branch.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.contrib.utils.git_integration.git_integration.CmdGit.directory">
|
||||
<code class="sig-name descname">directory</code><em class="property"> = '/tmp/tmpc8m02qsa/e3120d3be991a85cb5ac5d5d820ec0278dcb565a/evennia/game_template'</em><a class="headerlink" href="#evennia.contrib.utils.git_integration.git_integration.CmdGit.directory" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">directory</code><em class="property"> = '/tmp/tmphljmiw22/53cadb797d6d30e623e5175fcacaca6b90a4e1e6/evennia/game_template'</em><a class="headerlink" href="#evennia.contrib.utils.git_integration.git_integration.CmdGit.directory" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
|
|||
|
|
@ -511,6 +511,15 @@ with ‘q’, remove the break line and restart server when finished.</p></li>
|
|||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.health_bar.tests.html">evennia.contrib.rpg.health_bar.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.llm.html">evennia.contrib.rpg.llm</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html">evennia.contrib.rpg.llm.llm_client</a><ul>
|
||||
<li class="toctree-l5"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_client.html#optional-evennia-settings-if-not-given-these-defaults-are-used">Optional Evennia settings (if not given, these defaults are used)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.llm.llm_npc.html">evennia.contrib.rpg.llm.llm_npc</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.llm.tests.html">evennia.contrib.rpg.llm.tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.html">evennia.contrib.rpg.rpsystem</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html">evennia.contrib.rpg.rpsystem.rplanguage</a><ul>
|
||||
<li class="toctree-l5"><a class="reference internal" href="evennia.contrib.rpg.rpsystem.rplanguage.html#usage">Usage</a></li>
|
||||
|
|
|
|||
|
|
@ -121,12 +121,7 @@ incredibly configurable as far as to what is being sent.</p>
|
|||
<dl class="py method">
|
||||
<dt id="evennia.server.game_index_client.client.EvenniaGameIndexClient.__init__">
|
||||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">on_bad_request</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#EvenniaGameIndexClient.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient.__init__" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><p><strong>on_bad_request</strong> – Optional callable to trigger when a bad request
|
||||
was sent. This is almost always going to be due to bad config.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dd><p>on_bad_request (callable, optional): Callable to trigger when a bad request was sent.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ indentation.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.utils.eveditor.CmdEditorGroup.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = [':::', ':>', ':<', ':uu', ':h', ':dw', ':I', ':S', ':!', ':A', ':fi', ':q!', ':s', ':i', ':q', ':u', ':dd', ':f', ':j', ':wq', ':p', ':fd', ':r', ':x', ':=', ':w', ':', ':echo', ':y', ':DD', '::', ':UU']</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = [':S', ':q', ':uu', ':f', ':A', ':dd', ':I', ':fi', '::', ':>', ':r', ':s', ':=', ':i', ':dw', ':echo', ':wq', ':!', ':u', ':p', ':UU', ':', ':y', ':<', ':::', ':w', ':j', ':fd', ':x', ':q!', ':DD', ':h']</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -372,7 +372,7 @@ efficient presentation.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.utils.eveditor.CmdEditorGroup.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '::: :> :< :uu :h :dw :I :S :! :A :fi :q! :s :i :q :u :dd :f :j :wq :p :fd :r :x := :w : :echo :y :DD :: :UU', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' ::: :> :< :uu :h :dw :I :S :! :A :fi :q! :s :i :q :u :dd :f :j :wq :p :fd :r :x := :w : :echo :y :DD :: :UU', 'tags': '', 'text': '\n Commands for the editor\n '}</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': ':S :q :uu :f :A :dd :I :fi :: :> :r :s := :i :dw :echo :wq :! :u :p :UU : :y :< ::: :w :j :fd :x :q! :DD :h', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :S :q :uu :f :A :dd :I :fi :: :> :r :s := :i :dw :echo :wq :! :u :p :UU : :y :< ::: :w :j :fd :x :q! :DD :h', 'tags': '', 'text': '\n Commands for the editor\n '}</em><a class="headerlink" href="#evennia.utils.eveditor.CmdEditorGroup.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -939,7 +939,7 @@ single question.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.utils.evmenu.CmdYesNoQuestion.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['no', 'n', '__nomatch_command', 'a', 'y', 'yes', 'abort']</em><a class="headerlink" href="#evennia.utils.evmenu.CmdYesNoQuestion.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['y', 'n', 'abort', 'no', 'yes', 'a', '__nomatch_command']</em><a class="headerlink" href="#evennia.utils.evmenu.CmdYesNoQuestion.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -965,7 +965,7 @@ single question.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.utils.evmenu.CmdYesNoQuestion.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'no n __nomatch_command a y yes abort', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' no n __nomatch_command a y yes abort', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}</em><a class="headerlink" href="#evennia.utils.evmenu.CmdYesNoQuestion.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'y n abort no yes a __nomatch_command', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' y n abort no yes a __nomatch_command', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}</em><a class="headerlink" href="#evennia.utils.evmenu.CmdYesNoQuestion.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ the <strong>caller.msg()</strong> construct every time the page is updated.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.utils.evmore.CmdMore.aliases">
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['previous', 'next', 'quit', 'top', 'n', 'abort', 't', 'a', 'end', 'q', 'e', 'p']</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">aliases</code><em class="property"> = ['next', 'abort', 'n', 'p', 'top', 'quit', 'a', 'previous', 't', 'q', 'e', 'end']</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.aliases" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py attribute">
|
||||
|
|
@ -171,7 +171,7 @@ the <strong>caller.msg()</strong> construct every time the page is updated.</p>
|
|||
|
||||
<dl class="py attribute">
|
||||
<dt id="evennia.utils.evmore.CmdMore.search_index_entry">
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'previous next quit top n abort t a end q e p', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' previous next quit top n abort t a end q e p', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'next abort n p top quit a previous t q e end', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' next abort n p top quit a previous t q e end', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}</em><a class="headerlink" href="#evennia.utils.evmore.CmdMore.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
|
|
|||
|
|
@ -201,6 +201,12 @@
|
|||
<li><a href="api/evennia.contrib.rpg.buffs.buff.html#evennia.contrib.rpg.buffs.buff.Mod.__init__">(evennia.contrib.rpg.buffs.buff.Mod method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.buffs.samplebuffs.html#evennia.contrib.rpg.buffs.samplebuffs.StatBuff.__init__">(evennia.contrib.rpg.buffs.samplebuffs.StatBuff method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.LLMClient.__init__">(evennia.contrib.rpg.llm.llm_client.LLMClient method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.__init__">(evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.__init__">(evennia.contrib.rpg.llm.llm_client.StringProducer method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.RecogHandler.__init__">(evennia.contrib.rpg.rpsystem.rpsystem.RecogHandler method)</a>
|
||||
</li>
|
||||
|
|
@ -1239,6 +1245,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate.aliases">(evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.dice.dice.html#evennia.contrib.rpg.dice.dice.CmdDice.aliases">(evennia.contrib.rpg.dice.dice.CmdDice attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.aliases">(evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote.aliases">(evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote attribute)</a>
|
||||
</li>
|
||||
|
|
@ -2670,6 +2678,8 @@
|
|||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.contrib.tutorials.evadventure.npcs.html#evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC.at_talk">at_talk() (evennia.contrib.tutorials.evadventure.npcs.EvAdventureTalkativeNPC method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.at_talked_to">at_talked_to() (evennia.contrib.rpg.llm.llm_npc.LLMNPC method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.buffs.buff.html#evennia.contrib.rpg.buffs.buff.BaseBuff.at_tick">at_tick() (evennia.contrib.rpg.buffs.buff.BaseBuff method)</a>
|
||||
|
||||
|
|
@ -3926,6 +3936,8 @@
|
|||
<li><a href="api/evennia.commands.default.building.html#evennia.commands.default.building.CmdListCmdSets">CmdListCmdSets (class in evennia.commands.default.building)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.game_systems.puzzles.puzzles.html#evennia.contrib.game_systems.puzzles.puzzles.CmdListPuzzleRecipes">CmdListPuzzleRecipes (class in evennia.contrib.game_systems.puzzles.puzzles)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk">CmdLLMTalk (class in evennia.contrib.rpg.llm.llm_npc)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.commands.default.building.html#evennia.commands.default.building.CmdLock">CmdLock (class in evennia.commands.default.building)</a>
|
||||
</li>
|
||||
|
|
@ -4517,9 +4529,11 @@
|
|||
<li><a href="api/evennia.objects.objects.html#evennia.objects.objects.DefaultCharacter.connection_time">(evennia.objects.objects.DefaultCharacter property)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.SimpleResponseReceiver.connectionLost">connectionLost() (evennia.server.game_index_client.client.SimpleResponseReceiver method)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.connectionLost">connectionLost() (evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver method)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.SimpleResponseReceiver.connectionLost">(evennia.server.game_index_client.client.SimpleResponseReceiver method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.portal.amp.html#evennia.server.portal.amp.AMPMultiConnectionProtocol.connectionLost">(evennia.server.portal.amp.AMPMultiConnectionProtocol method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.portal.amp_server.html#evennia.server.portal.amp_server.AMPServerProtocol.connectionLost">(evennia.server.portal.amp_server.AMPServerProtocol method)</a>
|
||||
|
|
@ -4925,9 +4939,11 @@
|
|||
</li>
|
||||
<li><a href="api/evennia.server.portal.amp_server.html#evennia.server.portal.amp_server.AMPServerProtocol.data_to_server">data_to_server() (evennia.server.portal.amp_server.AMPServerProtocol method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.SimpleResponseReceiver.dataReceived">dataReceived() (evennia.server.game_index_client.client.SimpleResponseReceiver method)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver.dataReceived">dataReceived() (evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver method)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.SimpleResponseReceiver.dataReceived">(evennia.server.game_index_client.client.SimpleResponseReceiver method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.portal.amp.html#evennia.server.portal.amp.AMPMultiConnectionProtocol.dataReceived">(evennia.server.portal.amp.AMPMultiConnectionProtocol method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.portal.telnet.html#evennia.server.portal.telnet.TelnetProtocol.dataReceived">(evennia.server.portal.telnet.TelnetProtocol method)</a>
|
||||
|
|
@ -5362,11 +5378,11 @@
|
|||
<li><a href="api/evennia.objects.objects.html#evennia.objects.objects.DefaultRoom.DoesNotExist">DefaultRoom.DoesNotExist</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.objects.objects.html#evennia.objects.objects.DefaultRoom.MultipleObjectsReturned">DefaultRoom.MultipleObjectsReturned</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript">DefaultScript (class in evennia.scripts.scripts)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="api/evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript">DefaultScript (class in evennia.scripts.scripts)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.DoesNotExist">DefaultScript.DoesNotExist</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned">DefaultScript.MultipleObjectsReturned</a>
|
||||
|
|
@ -7296,6 +7312,34 @@
|
|||
|
||||
<ul>
|
||||
<li><a href="api/evennia.contrib.rpg.health_bar.tests.html#module-evennia.contrib.rpg.health_bar.tests">module</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li>
|
||||
evennia.contrib.rpg.llm
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.html#module-evennia.contrib.rpg.llm">module</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li>
|
||||
evennia.contrib.rpg.llm.llm_client
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#module-evennia.contrib.rpg.llm.llm_client">module</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li>
|
||||
evennia.contrib.rpg.llm.llm_npc
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#module-evennia.contrib.rpg.llm.llm_npc">module</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li>
|
||||
evennia.contrib.rpg.llm.tests
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.tests.html#module-evennia.contrib.rpg.llm.tests">module</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li>
|
||||
|
|
@ -7459,6 +7503,8 @@
|
|||
<li><a href="api/evennia.contrib.tutorials.evadventure.enums.html#module-evennia.contrib.tutorials.evadventure.enums">module</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li>
|
||||
evennia.contrib.tutorials.evadventure.equipment
|
||||
|
||||
|
|
@ -7473,8 +7519,6 @@
|
|||
<li><a href="api/evennia.contrib.tutorials.evadventure.npcs.html#module-evennia.contrib.tutorials.evadventure.npcs">module</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li>
|
||||
evennia.contrib.tutorials.evadventure.objects
|
||||
|
||||
|
|
@ -9927,6 +9971,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate.func">(evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.dice.dice.html#evennia.contrib.rpg.dice.dice.CmdDice.func">(evennia.contrib.rpg.dice.dice.CmdDice method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.func">(evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote.func">(evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote method)</a>
|
||||
</li>
|
||||
|
|
@ -10810,6 +10856,8 @@
|
|||
<li><a href="api/evennia.accounts.manager.html#evennia.accounts.manager.AccountDBManager.get_recently_created_accounts">get_recently_created_accounts() (evennia.accounts.manager.AccountDBManager method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.web.website.views.characters.html#evennia.web.website.views.characters.CharacterPuppetView.get_redirect_url">get_redirect_url() (evennia.web.website.views.characters.CharacterPuppetView method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.LLMClient.get_response">get_response() (evennia.contrib.rpg.llm.llm_client.LLMClient method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.objects.objects.html#evennia.objects.objects.DefaultExit.get_return_exit">get_return_exit() (evennia.objects.objects.DefaultExit method)</a>
|
||||
</li>
|
||||
|
|
@ -11563,6 +11611,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate.help_category">(evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.dice.dice.html#evennia.contrib.rpg.dice.dice.CmdDice.help_category">(evennia.contrib.rpg.dice.dice.CmdDice attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.help_category">(evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote.help_category">(evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote attribute)</a>
|
||||
</li>
|
||||
|
|
@ -12717,6 +12767,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate.key">(evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.dice.dice.html#evennia.contrib.rpg.dice.dice.CmdDice.key">(evennia.contrib.rpg.dice.dice.CmdDice attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.key">(evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote.key">(evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote attribute)</a>
|
||||
</li>
|
||||
|
|
@ -13130,6 +13182,16 @@
|
|||
<li><a href="api/evennia.contrib.tutorials.evadventure.characters.html#evennia.contrib.tutorials.evadventure.characters.LivingMixin">LivingMixin (class in evennia.contrib.tutorials.evadventure.characters)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.utils.ansi.html#evennia.utils.ansi.ANSIString.ljust">ljust() (evennia.utils.ansi.ANSIString method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.llm_client">llm_client() (evennia.contrib.rpg.llm.llm_npc.LLMNPC property)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.LLMClient">LLMClient (class in evennia.contrib.rpg.llm.llm_client)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC">LLMNPC (class in evennia.contrib.rpg.llm.llm_npc)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.DoesNotExist">LLMNPC.DoesNotExist</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.MultipleObjectsReturned">LLMNPC.MultipleObjectsReturned</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.base_systems.components.component.html#evennia.contrib.base_systems.components.component.Component.load">load() (evennia.contrib.base_systems.components.component.Component class method)</a>
|
||||
|
||||
|
|
@ -13621,6 +13683,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate.lock_storage">(evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.dice.dice.html#evennia.contrib.rpg.dice.dice.CmdDice.lock_storage">(evennia.contrib.rpg.dice.dice.CmdDice attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.lock_storage">(evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote.lock_storage">(evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote attribute)</a>
|
||||
</li>
|
||||
|
|
@ -15026,6 +15090,14 @@
|
|||
<li><a href="api/evennia.contrib.rpg.health_bar.health_bar.html#module-evennia.contrib.rpg.health_bar.health_bar">evennia.contrib.rpg.health_bar.health_bar</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.health_bar.tests.html#module-evennia.contrib.rpg.health_bar.tests">evennia.contrib.rpg.health_bar.tests</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.html#module-evennia.contrib.rpg.llm">evennia.contrib.rpg.llm</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#module-evennia.contrib.rpg.llm.llm_client">evennia.contrib.rpg.llm.llm_client</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#module-evennia.contrib.rpg.llm.llm_npc">evennia.contrib.rpg.llm.llm_npc</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.tests.html#module-evennia.contrib.rpg.llm.tests">evennia.contrib.rpg.llm.tests</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.html#module-evennia.contrib.rpg.rpsystem">evennia.contrib.rpg.rpsystem</a>
|
||||
</li>
|
||||
|
|
@ -16050,9 +16122,11 @@
|
|||
<li><a href="api/evennia.utils.evmenu.html#evennia.utils.evmenu.EvMenu.nodetext_formatter">(evennia.utils.evmenu.EvMenu method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.server.amp_client.html#evennia.server.amp_client.AMPClientFactory.noisy">noisy (evennia.server.amp_client.AMPClientFactory attribute)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory.noisy">noisy (evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory attribute)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.amp_client.html#evennia.server.amp_client.AMPClientFactory.noisy">(evennia.server.amp_client.AMPClientFactory attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.QuietHTTP11ClientFactory.noisy">(evennia.server.game_index_client.client.QuietHTTP11ClientFactory attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.portal.amp_server.html#evennia.server.portal.amp_server.AMPServerFactory.noisy">(evennia.server.portal.amp_server.AMPServerFactory attribute)</a>
|
||||
|
|
@ -16610,6 +16684,8 @@
|
|||
<li><a href="api/evennia.contrib.grid.xyzgrid.xymap.html#evennia.contrib.grid.xyzgrid.xymap.XYMap.parse">(evennia.contrib.grid.xyzgrid.xymap.XYMap method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.buffs.buff.html#evennia.contrib.rpg.buffs.buff.CmdBuff.parse">(evennia.contrib.rpg.buffs.buff.CmdBuff method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.parse">(evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.CmdPose.parse">(evennia.contrib.rpg.rpsystem.rpsystem.CmdPose method)</a>
|
||||
</li>
|
||||
|
|
@ -16894,6 +16970,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribChargenAccount.path">(evennia.contrib.rpg.character_creator.character_creator.ContribChargenAccount attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.dice.dice.html#evennia.contrib.rpg.dice.dice.DiceCmdSet.path">(evennia.contrib.rpg.dice.dice.DiceCmdSet attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.path">(evennia.contrib.rpg.llm.llm_npc.LLMNPC attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rplanguage.html#evennia.contrib.rpg.rpsystem.rplanguage.LanguageHandler.path">(evennia.contrib.rpg.rpsystem.rplanguage.LanguageHandler attribute)</a>
|
||||
</li>
|
||||
|
|
@ -17130,8 +17208,12 @@
|
|||
<li><a href="api/evennia.scripts.taskhandler.html#evennia.scripts.taskhandler.TaskHandlerTask.paused">(evennia.scripts.taskhandler.TaskHandlerTask property)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer.pauseProducing">pauseProducing() (evennia.server.game_index_client.client.StringProducer method)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.pauseProducing">pauseProducing() (evennia.contrib.rpg.llm.llm_client.StringProducer method)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer.pauseProducing">(evennia.server.game_index_client.client.StringProducer method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.locks.lockfuncs.html#evennia.locks.lockfuncs.pdbref">pdbref() (in module evennia.locks.lockfuncs)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.portal.discord.html#evennia.server.portal.discord.DiscordClient.pending_heartbeat">pending_heartbeat (evennia.server.portal.discord.DiscordClient attribute)</a>
|
||||
|
|
@ -17534,8 +17616,12 @@
|
|||
</ul></li>
|
||||
<li><a href="api/evennia.server.portal.discord.html#evennia.server.portal.discord.QuietConnectionPool">QuietConnectionPool (class in evennia.server.portal.discord)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.QuietHTTP11ClientFactory">QuietHTTP11ClientFactory (class in evennia.server.game_index_client.client)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.QuietHTTP11ClientFactory">QuietHTTP11ClientFactory (class in evennia.contrib.rpg.llm.llm_client)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.QuietHTTP11ClientFactory">(class in evennia.server.game_index_client.client)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.utils.eveditor.html#evennia.utils.eveditor.EvEditor.quit">quit() (evennia.utils.eveditor.EvEditor method)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
|
|
@ -18018,6 +18104,8 @@
|
|||
<li><a href="api/evennia.web.admin.objects.html#evennia.web.admin.objects.ObjectAdmin.response_add">(evennia.web.admin.objects.ObjectAdmin method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.response_template">response_template (evennia.contrib.rpg.llm.llm_npc.LLMNPC attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.portal.grapevine.html#evennia.server.portal.grapevine.RestartingWebsocketServerFactory">RestartingWebsocketServerFactory (class in evennia.server.portal.grapevine)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.base_systems.building_menu.building_menu.html#evennia.contrib.base_systems.building_menu.building_menu.BuildingMenu.restore">restore() (evennia.contrib.base_systems.building_menu.building_menu.BuildingMenu static method)</a>
|
||||
|
|
@ -18978,6 +19066,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate.search_index_entry">(evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.dice.dice.html#evennia.contrib.rpg.dice.dice.CmdDice.search_index_entry">(evennia.contrib.rpg.dice.dice.CmdDice attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk.search_index_entry">(evennia.contrib.rpg.llm.llm_npc.CmdLLMTalk attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rpsystem.html#evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote.search_index_entry">(evennia.contrib.rpg.rpsystem.rpsystem.CmdEmote attribute)</a>
|
||||
</li>
|
||||
|
|
@ -19678,8 +19768,12 @@
|
|||
</li>
|
||||
<li><a href="api/evennia.web.api.serializers.html#evennia.web.api.serializers.SimpleObjectDBSerializer.Meta">SimpleObjectDBSerializer.Meta (class in evennia.web.api.serializers)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.SimpleResponseReceiver">SimpleResponseReceiver (class in evennia.server.game_index_client.client)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.SimpleResponseReceiver">SimpleResponseReceiver (class in evennia.contrib.rpg.llm.llm_client)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.SimpleResponseReceiver">(class in evennia.server.game_index_client.client)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.contrib.base_systems.components.tests.html#evennia.contrib.base_systems.components.tests.ComponentTestB.single_tag">single_tag (evennia.contrib.base_systems.components.tests.ComponentTestB attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.game_systems.clothing.clothing.html#evennia.contrib.game_systems.clothing.clothing.single_type_count">single_type_count() (in module evennia.contrib.game_systems.clothing.clothing)</a>
|
||||
|
|
@ -19900,8 +19994,12 @@
|
|||
<li><a href="api/evennia.server.portal.irc.html#evennia.server.portal.irc.IRCBotFactory.startedConnecting">(evennia.server.portal.irc.IRCBotFactory method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer.startProducing">startProducing() (evennia.server.game_index_client.client.StringProducer method)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.startProducing">startProducing() (evennia.contrib.rpg.llm.llm_client.StringProducer method)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer.startProducing">(evennia.server.game_index_client.client.StringProducer method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.server.game_index_client.service.html#evennia.server.game_index_client.service.EvenniaGameIndexService.startService">startService() (evennia.server.game_index_client.service.EvenniaGameIndexService method)</a>
|
||||
|
||||
<ul>
|
||||
|
|
@ -19952,8 +20050,12 @@
|
|||
</li>
|
||||
<li><a href="api/evennia.server.evennia_launcher.html#evennia.server.evennia_launcher.stop_server_only">stop_server_only() (in module evennia.server.evennia_launcher)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer.stopProducing">stopProducing() (evennia.server.game_index_client.client.StringProducer method)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer.stopProducing">stopProducing() (evennia.contrib.rpg.llm.llm_client.StringProducer method)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer.stopProducing">(evennia.server.game_index_client.client.StringProducer method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.server.game_index_client.service.html#evennia.server.game_index_client.service.EvenniaGameIndexService.stopService">stopService() (evennia.server.game_index_client.service.EvenniaGameIndexService method)</a>
|
||||
|
||||
<ul>
|
||||
|
|
@ -19994,8 +20096,12 @@
|
|||
</li>
|
||||
<li><a href="api/evennia.utils.utils.html#evennia.utils.utils.string_suggestions">string_suggestions() (in module evennia.utils.utils)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer">StringProducer (class in evennia.server.game_index_client.client)</a>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_client.html#evennia.contrib.rpg.llm.llm_client.StringProducer">StringProducer (class in evennia.contrib.rpg.llm.llm_client)</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="api/evennia.server.game_index_client.client.html#evennia.server.game_index_client.client.StringProducer">(class in evennia.server.game_index_client.client)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.server.portal.amp.html#evennia.server.portal.amp.AMPMultiConnectionProtocol.stringReceived">stringReceived() (evennia.server.portal.amp.AMPMultiConnectionProtocol method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.utils.ansi.html#evennia.utils.ansi.ANSIString.strip">strip() (evennia.utils.ansi.ANSIString method)</a>
|
||||
|
|
@ -21680,6 +21786,8 @@
|
|||
<li><a href="api/evennia.contrib.grid.xyzgrid.tests.html#evennia.contrib.grid.xyzgrid.tests.TestMap2.test_node_from_coord">(evennia.contrib.grid.xyzgrid.tests.TestMap2 method)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.tests.html#evennia.contrib.rpg.llm.tests.TestLLMClient.test_npc_at_talked_to">test_npc_at_talked_to() (evennia.contrib.rpg.llm.tests.TestLLMClient method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.tutorials.evadventure.tests.test_npcs.html#evennia.contrib.tutorials.evadventure.tests.test_npcs.TestNPCBase.test_npc_base">test_npc_base() (evennia.contrib.tutorials.evadventure.tests.test_npcs.TestNPCBase method)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.tutorials.tutorial_world.tests.html#evennia.contrib.tutorials.tutorial_world.tests.TestTutorialWorldObjects.test_obelisk">test_obelisk() (evennia.contrib.tutorials.tutorial_world.tests.TestTutorialWorldObjects method)</a>
|
||||
|
|
@ -22815,6 +22923,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.rpsystem.tests.html#evennia.contrib.rpg.rpsystem.tests.TestLanguage">TestLanguage (class in evennia.contrib.rpg.rpsystem.tests)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.base_systems.mux_comms_cmds.tests.html#evennia.contrib.base_systems.mux_comms_cmds.tests.TestLegacyMuxComms">TestLegacyMuxComms (class in evennia.contrib.base_systems.mux_comms_cmds.tests)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.tests.html#evennia.contrib.rpg.llm.tests.TestLLMClient">TestLLMClient (class in evennia.contrib.rpg.llm.tests)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.game_systems.mail.tests.html#evennia.contrib.game_systems.mail.tests.TestMail">TestMail (class in evennia.contrib.game_systems.mail.tests)</a>
|
||||
</li>
|
||||
|
|
@ -22979,6 +23089,10 @@
|
|||
<li><a href="api/evennia.contrib.base_systems.godotwebsocket.text2bbcode.html#evennia.contrib.base_systems.godotwebsocket.text2bbcode.TextToBBCODEparser">TextToBBCODEparser (class in evennia.contrib.base_systems.godotwebsocket.text2bbcode)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.utils.text2html.html#evennia.utils.text2html.TextToHTMLparser">TextToHTMLparser (class in evennia.utils.text2html)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.thinking_messages">thinking_messages (evennia.contrib.rpg.llm.llm_npc.LLMNPC attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.thinking_timeout">thinking_timeout (evennia.contrib.rpg.llm.llm_npc.LLMNPC attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.server.throttle.html#evennia.server.throttle.Throttle">Throttle (class in evennia.server.throttle)</a>
|
||||
</li>
|
||||
|
|
@ -23412,6 +23526,8 @@
|
|||
<li><a href="api/evennia.contrib.rpg.buffs.tests.html#evennia.contrib.rpg.buffs.tests.BuffableObject.typename">(evennia.contrib.rpg.buffs.tests.BuffableObject attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.character_creator.character_creator.html#evennia.contrib.rpg.character_creator.character_creator.ContribChargenAccount.typename">(evennia.contrib.rpg.character_creator.character_creator.ContribChargenAccount attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.llm.llm_npc.html#evennia.contrib.rpg.llm.llm_npc.LLMNPC.typename">(evennia.contrib.rpg.llm.llm_npc.LLMNPC attribute)</a>
|
||||
</li>
|
||||
<li><a href="api/evennia.contrib.rpg.rpsystem.rplanguage.html#evennia.contrib.rpg.rpsystem.rplanguage.LanguageHandler.typename">(evennia.contrib.rpg.rpsystem.rplanguage.LanguageHandler attribute)</a>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -536,12 +536,14 @@
|
|||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contrib-Character-Creator.html">Character Creator</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contrib-Dice.html">Dice roller</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contrib-Health-Bar.html">Health Bar</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contrib-Llm.html">Large Language Model (“Chat-bot AI”) integration</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contrib-RPSystem.html">Roleplaying base system for Evennia</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contrib-Traits.html">Traits</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contribs-Overview.html#buffs"><code class="docutils literal notranslate"><span class="pre">buffs</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contribs-Overview.html#character-creator"><code class="docutils literal notranslate"><span class="pre">character_creator</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contribs-Overview.html#dice"><code class="docutils literal notranslate"><span class="pre">dice</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contribs-Overview.html#health-bar"><code class="docutils literal notranslate"><span class="pre">health_bar</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contribs-Overview.html#llm"><code class="docutils literal notranslate"><span class="pre">llm</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contribs-Overview.html#rpsystem"><code class="docutils literal notranslate"><span class="pre">rpsystem</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="Contribs/Contribs-Overview.html#traits"><code class="docutils literal notranslate"><span class="pre">traits</span></code></a></li>
|
||||
</ul>
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -871,6 +871,26 @@
|
|||
<td>   
|
||||
<a href="api/evennia.contrib.rpg.health_bar.tests.html#module-evennia.contrib.rpg.health_bar.tests"><code class="xref">evennia.contrib.rpg.health_bar.tests</code></a></td><td>
|
||||
<em></em></td></tr>
|
||||
<tr class="cg-1">
|
||||
<td></td>
|
||||
<td>   
|
||||
<a href="api/evennia.contrib.rpg.llm.html#module-evennia.contrib.rpg.llm"><code class="xref">evennia.contrib.rpg.llm</code></a></td><td>
|
||||
<em></em></td></tr>
|
||||
<tr class="cg-1">
|
||||
<td></td>
|
||||
<td>   
|
||||
<a href="api/evennia.contrib.rpg.llm.llm_client.html#module-evennia.contrib.rpg.llm.llm_client"><code class="xref">evennia.contrib.rpg.llm.llm_client</code></a></td><td>
|
||||
<em></em></td></tr>
|
||||
<tr class="cg-1">
|
||||
<td></td>
|
||||
<td>   
|
||||
<a href="api/evennia.contrib.rpg.llm.llm_npc.html#module-evennia.contrib.rpg.llm.llm_npc"><code class="xref">evennia.contrib.rpg.llm.llm_npc</code></a></td><td>
|
||||
<em></em></td></tr>
|
||||
<tr class="cg-1">
|
||||
<td></td>
|
||||
<td>   
|
||||
<a href="api/evennia.contrib.rpg.llm.tests.html#module-evennia.contrib.rpg.llm.tests"><code class="xref">evennia.contrib.rpg.llm.tests</code></a></td><td>
|
||||
<em></em></td></tr>
|
||||
<tr class="cg-1">
|
||||
<td></td>
|
||||
<td>   
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue