Promptrix. A prompt layout manager for LLMs
Project description
promptrix-py
Promptrix is a prompt layout engine for Large Language Models.
Here is a first trivial example:
from promptrix import promptrixTypes, VolatileMemory, FunctionRegistry, GPT3Tokenizer
from promptrix.Prompt import Prompt
from promptrix.SystemMessage import SystemMessage
from promptrix.UserMessage import UserMessage
from promptrix.AssistantMessage import AssistantMessage
from promptrix.ConversationHistory import ConversationHistory
functions = FunctionRegistry()
tokenizer = GPT3Tokenizer()
memory = VolatileMemory({'input':'', 'history':[]})
max_tokens = 2000
prompt_text = 'You are helpful, creative, clever, and very friendly. '
PROMPT = Prompt([
UserMessage(prompt_text),
ConversationHistory('history', .5), # allow history to use up 1/2 the remaining token budget left after the prompt and input
UserMessage('{{$input}}')
])
async def render_messages_completion():
as_msgs = await PROMPT.renderAsMessages(memory, functions, tokenizer, max_tokens)
msgs = []
if not as_msgs.tooLong:
msgs = as_msgs.output
return msgs
### basic chat loop
while True:
memory.set('input', query)
msgs = asyncio.run(render_messages_completion())
response = ... your favorite llm api (model, msgs, ...)
print(response)
history = memory.get('history')
history.append({'role':USER_PREFIX, 'content': query})
history.append({'role': ASSISTANT_PREFIX, 'content': response})
memory.set('history', history)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
promptrix-0.3.1.tar.gz
(9.3 kB
view details)
Built Distribution
promptrix-0.3.1-py3-none-any.whl
(13.0 kB
view details)
File details
Details for the file promptrix-0.3.1.tar.gz
.
File metadata
- Download URL: promptrix-0.3.1.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e515b5e10e17c2d11bb5f9a2775107214428f7ca827e2fc9b085228a5edaf6cf |
|
MD5 | d84c79964bdd02b389e66c6e07941e14 |
|
BLAKE2b-256 | 21759c7f9637eb6a8054a2f6c46f68fb4c087db59f895a1ce03036cc98d4d23f |
File details
Details for the file promptrix-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: promptrix-0.3.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 013b1502570140f3f300336537947881c7625357fceb9a025c6effea4ed43b82 |
|
MD5 | fa4244ea7c175cc1d188c124f844600f |
|
BLAKE2b-256 | 2137f5544e026d288e6c14917eafc7dcbce08a0a88ef776d61e1133002ca839e |