An LLM-based assistant for the Automatic Packet Reporting System (APRS).
Project description
APRS Assistant
An LLM-based assistant for the Automatic Packet Reporting System (APRS).
[!IMPORTANT] This library provides core functionality for an LLM-based APRS chatbot, but does not itself directly handle APRS messaging (RX, or TX). If you want to run APRS Assistant yourself, on the APRS IS network, you should visit the sister project aprs-assistant-plugin, which has everything you need.
For local development, or to integrate APRS Assistant into other frameworks, read on. For running APRS Assistant, heed the above advice and go to aprs-assistant-plugin now.
Installation
pip install aprs-assistant
Callsign
Your bot needs a callsign! Set with the APRS_ASSISTANT_CALLSIGN
environment variable.
export APRS_ASSISTANT_CALLSIGN=<CLEVER_CALLSIGN>
API Keys
At a minimum, this library requires setting an OpenAI API key. Bing and APRS.fi API keys are also used to support various tools and services. Set the, as environment variable in bash, as follows:
export OPENAI_API_KEY=<YOUR_KEY>
export BING_API_KEY=<YOUR_KEY>
export APRSFI_API_KEY=<YOUR_KEY>
Running Local Chat
The library supports local chats (e.g., for debugging) as follows:
python -m aprs_assistant <YOUR_CALLSIGN>
Type exit
or press Ctrl-D
to exit.
FCC ULS Integration
APRS Assistant supports basic callsign lookups using a local copy of the FCC ULS database. This database is about 325 MB and is easily created.
cd ./tools/parse_fcc_uls
bash create_db.bash
cd ../..
mkdir data
mv ./tools/parse_fcc_uls/fcc_uls.db data/.
This step only needs to be done once (or when you wish to update the database with new records!)
See ./tools/parse_fcc_uls/README
for more details.
Integration
To integrate aprs-assistant
into your application, simply use:
from aprs_assistant import generate_reply
sender_callsign = "NOCALL"
message = "What's the weather?"
response = generate_reply(sender_callsign, message)
print(response)
Note: response
can be None
License
aprs-assistant
is distributed under the terms of the MIT license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aprs_assistant-0.0.4.tar.gz
.
File metadata
- Download URL: aprs_assistant-0.0.4.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.26.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f65d923a5f6f9484193b2e6736eaedf98873eeb4e0c73b3e0d22ddae991847a |
|
MD5 | 36c5bb06a1a2c6926425ff670cb50d23 |
|
BLAKE2b-256 | 12b39d4128a52deffc7cce3ee87f2ce740fb8bde1d503f4b13a6a44acc314fc7 |
File details
Details for the file aprs_assistant-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: aprs_assistant-0.0.4-py3-none-any.whl
- Upload date:
- Size: 24.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.26.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bad314d04cc2480f826db1d2284a62b71163f953937b58604c0cb8f811541f2e |
|
MD5 | ab8b383494329ab0f36596cdf6c149ce |
|
BLAKE2b-256 | 719420b427133a893e9688e7eebcd5c41d385be3ac9c8f260f8a174430ddfc86 |