ActionWeaver  by TengHu

AI application framework for easier LLM function calling

created 1 year ago
334 stars

Top 83.3% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

ActionWeaver is an AI application framework designed to simplify function calling with Large Language Models (LLMs). It targets AI engineers and developers looking for a user-friendly, reliable, and cost-effective way to integrate Python functions and structured data extraction into their LLM-powered applications. The framework aims to make function calling a first-class citizen, enabling complex action orchestration and providing telemetry for observability.

How It Works

ActionWeaver simplifies LLM function calling by wrapping OpenAI and Azure OpenAI clients. It leverages Pydantic for defining structured data and automatically generates function descriptions from Python function signatures and docstrings. The framework manages the function calling loop, including passing tool descriptions, executing functions, and handling exceptions. Its core advantage lies in its declarative approach to defining actions and orchestrating their execution, allowing for intricate hierarchies and chains of function calls.

Quick Start & Requirements

  • Install via pip: pip install actionweaver
  • Requires OpenAI or Azure OpenAI service.
  • See Cookbooks for tutorials and examples.

Highlighted Details

  • Functions and Pydantic models can be seamlessly integrated as actions.
  • Supports complex action orchestration through a declarative orch argument.
  • Integrates with LangSmith for tracing and observability.
  • Provides mechanisms for custom exception handling within the function calling loop.

Maintenance & Community

  • Project initiated by Teng Hu.
  • Open to contributions.
  • Discord server available for community support.

Licensing & Compatibility

  • Licensed under Apache-2.0.
  • Compatible with commercial use and closed-source applications.

Limitations & Caveats

The framework's primary dependency is on OpenAI's function calling capabilities, meaning its functionality is tied to the evolution and availability of these services. While it supports Azure OpenAI, specific version compatibility might require verification.

Health Check
Last commit

8 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.