Agentscript
A programming language for AI agents
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Agentscript is an isomorphic programming language for AI agents, it includes both a server-side interpreter and browser-based renderer.
▶ On the server, agenscript directly interprets LMM outputs and executes actions in a streaming manner.
▶ In the browser, agentscript renders LLM outputs in a rich manner and provides live updates.
Server-side Interpreter
The server-side interpreter is capable of executing actions in a streaming manner, and supplying updates on their results to the UI.
Install
pip install agentscript
Usage
Execute the translator tool from Python
from agentscript import Interpreter, Use
from toolfuse import Tool, action
# Create a fake translator tool
class Translator(Tool):
"""A fake translator tool"""
@action
def translate(self, text: str) -> str:
return "Hola"
# Add the tool to the Use command
cmd = Use(tools=[Translator()])
# Create the interpreter supplying our Use command
interpreter = Interpreter(commands=[cmd])
# Parse the script, find the tool, and execute it
interpreter.execute("""
We need to do translation <{"type": "use", "tool": "Translator", "action": "translate", "parameters": {"text": "Hello", "options": {"from": "en", "to": "es"}}}>
""")
# Show the past invocations with the results
print(interpreter.invocations())
Browser-based Renderer
Install
npm i @agentsea/agentscript
Usage
import Agentscript from "@agentsea/agentscript";
(
<Agentscript text="I created this image for you <Image url='https://any.url' />" url="...">
)
Components
Boolean
(
<Agentscript text="Does this work for you? <Boolean />" >
)
Image
(
<Agentscript text="I created this image for you <Image src='https://any.url' />"">
)
Invoke
(
<Agentscript text='Lets check the weather <Invoke tool="Weather" action="get" parameters={"location": "Madrid"} />'>
)
Dialects
The above components are known as the common dialect, but you can create your own dialects as well
Roadmap
Programable LLMs
Give agentscript the ability to program an LLM. Here we load a LoRA into a PEFT compatible LLM
interpreter.execute("I need to load the weather LoRA <Load lora='weather' />")
Browser components
- Select One
- Select Any
- Video
- Plan
- References
- Image with bounding box
- Task
- Markdown
- Code blocks
Develop
To test
make test
To publish
make publish
Release files for agentscript 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentscript-0.1.3.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentscript-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.4 kB
Release files / agentscript-0.1.3.tar.gz
| Download URL | agentscript-0.1.3.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5c6cc6e67629b0819338acc9dd70e02839a0ddb5ed021b79493e0c803307ae3
|
|
BLAKE2b-256 checksum How to use checksums |
abc77c2a6de7a9609df90f11a2bd73549c6a528a5fa96c18cf480cd6d9f88ec4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.10.1 Darwin/22.6.0
|
Release files / agentscript-0.1.3-py3-none-any.whl
| Download URL | agentscript-0.1.3-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
478ce080be41b3055571ac5273d24d018c5be8011c4b4416897b7524cc203def
|
|
BLAKE2b-256 checksum How to use checksums |
eb8f61e9752db8c62f275c9f1feac30d64a80eea615878eed661e4ca0c4fbfc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.10.1 Darwin/22.6.0
|