Skip to main content

A framework for making agents more aware of their environment through explicit modeling of pre and post effects

Project description

Frame-log

Overview

Frame-log is a framework aiming to make agents more aware of their environment through the explicit modeling of pre and post effects. The approach is inspired by logic-based AI theory such as the "AI Frame Problem".

Repository Overview

This repository implements the Frame-Log framework, providing utility methods that are usable across agentic workflows. Specifically, the following are included:

  • Prompt templates to elicit change-logs
  • Pre-defined change-log schema
    • Currently supports JSON. Future work can include XML or git diff formats.
  • Extraction methods to decompose a set of change-logs from an agent response into structured objects
  • Evaluation and sanity check methods for change-logs, including:
    • Schema validation
    • Action verification
    • Semantic similarity-based effect grounding via sentence embeddings

Setup

pip install framelog

Quick Start

from framelog.extract_log import to_dict
from framelog.evaluator import ChangeLogEvaluator, ChangeLogFailureType

evaluator = ChangeLogEvaluator()

# Parse a change log from an agent response
change_log = to_dict(response, evaluator=evaluator)

# Advance the evaluator timestep
evaluator.step()

# Inspect failure rates
print(evaluator.no_json_rate())
print(evaluator.invalid_action_rate())
print(evaluator.failure_breakdown())

Supported Benchmarks

License

MIT


Do you spot any bugs? Inefficiencies? Or have any general suggestions? Please create an issue or contact me via miller.j.nasir@gmail.com

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

framelog-0.1.2.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

framelog-0.1.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file framelog-0.1.2.tar.gz.

File metadata

  • Download URL: framelog-0.1.2.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for framelog-0.1.2.tar.gz
Algorithm Hash digest
SHA256 055838c05ac5b69a9154a81ab18abac6b2604419468bb4c99687824185304cee
MD5 da344e3ede3c569bee30bb55331f5492
BLAKE2b-256 c347fdc5a537ba61974e405d1caa4b0b712b3257a8816ac37165bcdf86d5f36e

See more details on using hashes here.

File details

Details for the file framelog-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: framelog-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for framelog-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c4ad6e1fc66500501758ffbdf2f7b35e4ccbe7ab2eac21f2c154fb98c030c715
MD5 35a9629b9eaf7cceb8cf8a1ad4df040b
BLAKE2b-256 e779b9591bcf5cab92a7d63ed22bb2783393a7c1f064cd4c7955bc149a3229a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page