Skip to main content

Logo WAFL 0.1.0 TestsDocs

Introduction

WAFL is a framework for personal agents. It integrates Large language models, speech recognition and text to speech. This framework combines Large Language Models and rules to create a predictable behavior. A set of rules is used to define the behavior of the agent, supporting function calling and a working memory. The current version requires the user to specify the rules to follow.

Installation

In this version, WAFL is a two-part system. Both can be installed on the same machine.

The two parts of WAFL

Interface side

The first part is local to your machine and needs to have access to a microphone and speaker. To install it, run the following commands:

$ sudo apt-get install portaudio19-dev ffmpeg
$ pip install wafl

After installing the requirements, you can initialize the interface by running the following command:

$ wafl init

which creates a config.json file that you can edit to change the default settings. A standard rule file is also created as wafl.rules. Please see the examples in the following chapters.

LLM side (needs a GPU)

The second part (LLM side) is a model server for the speech-to-text model, the LLM, the embedding system, and the text-to-speech model.

Installation

In order to quickly run the LLM side, you can use the following installation commands:

pip install wafl-llm
wafl-llm start

which will use the default models and start the server on port 8080.

The interface side has a config.json file that needs to be filled with the IP address of the LLM side. The default is localhost. Alternatively, you can run the LLM side by cloning this repository.

Running WAFL

This document contains a few examples of how to use the wafl CLI. There are four modes in which to run the system

$ wafl run

Starts all the available interfaces of the chatbot at the same time.

$ wafl run-audio

This is the main mode of operation. It will run the system in a loop, waiting for the user to speak a command. The activation word is the name defined in config.json. The default name is "computer", but you can change it to whatever you want.

$ wafl run-server

It runs a local web server that listens for HTTP requests on port 8090. The server will act as a chatbot, executing commands and returning the result as defined in the rules.

$ wafl run-cli

This command works as for the run-server command, but it will listen for commands on the command line. It does not run a webserver and is useful for testing purposes.

$ wafl run-tests

This command will run all the tests defined in the file testcases.txt.

Documentation

The documentation can be found at wafl.readthedocs.io.

Mastodon

Metadata

Release files for wafl 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wafl 0.1.4
File Size Uploaded
wafl-0.1.4.tar.gz 386.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wafl 0.1.4
File Interpreter ABI Platform
wafl-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 792.9 kB

Release files / wafl-0.1.4.tar.gz

Download URL wafl-0.1.4.tar.gz
Size 386.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f8e620874ce875c29e3cb150c8a4535692a6af8382ad060ae31df98f02f554d5
BLAKE2b-256 checksum
How to use checksums
c8bca903a758fecec727b49b3550ac15c176fabf3b31b86f9135ec1a8ca0069f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.10.0 requests/2.32.3 setuptools/52.0.0 requests-toolbelt/1.0.0 tqdm/4.64.1 CPython/3.9.2

Release files / wafl-0.1.4-py3-none-any.whl

Download URL wafl-0.1.4-py3-none-any.whl
Size 406.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b121a439ed6951b912ef3687f3701484811630e571f61de0373d67ec715345a7
BLAKE2b-256 checksum
How to use checksums
3c1d3bc309eef21deaf6b9f9c71fbd4904005882dbfd81a7c4c3c64530e00bab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.10.0 requests/2.32.3 setuptools/52.0.0 requests-toolbelt/1.0.0 tqdm/4.64.1 CPython/3.9.2

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.90

1 release file

0.0.83

1 release file

0.0.82

2 release files

0.0.81

2 release files

0.0.80

2 release files

0.0.71

1 release file

0.0.45

1 release file

0.0.44

1 release file

0.0.43

1 release file

0.0.42

1 release file

0.0.41

1 release file

0.0.40

1 release file

0.0.37

1 release file

0.0.36

1 release file

0.0.35

1 release file

0.0.34

1 release file

0.0.32

1 release file

0.0.31

1 release file

0.0.30

1 release file

0.0.29

1 release file

0.0.28

1 release file

0.0.26

1 release file

0.0.25

1 release file

0.0.24

1 release file

0.0.23

1 release file

0.0.21

1 release file

0.0.20

1 release file

0.0.19

1 release file

0.0.18

1 release file

0.0.17

1 release file

0.0.16

1 release file

0.0.15

1 release file

0.0.14

1 release file

0.0.13

1 release file

0.0.12

1 release file

0.0.11

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page