Skip to main content

Python AI Functions

Simple library that can convert from python functions to a JSON schema description of those functions, suitable for use with AI libraries.

For example:

from ai_functions import get_openai_functions, execute_function


def search_web(query: Annotated[str, "google formatted keywords to search for"]):
    """Search the web"""

print(openai_function_dict([search_web]))

Also, if you get a response.function_call from openai, you can use execute_function

openai_function_execute([search_web], function_call)

Or, if you have the name and arguments split out already:

function_execute([search_web], name, arguments)

Finally, if you want a container to handle this:

from ai_functions import AIFunctions


container = AIFunctions([search_web, add_calendar_entry])

functions = container.openai_dict()
subset_functions = container.openai_dict(["search_web"])
container.execute("search_web", {"query":"top web hosting sites"})
container.opeanai_execute({"name": "search_web", "arguments": "{\"query\":\"top web hosting sites\"}")

It handles converting arguments to JSON if they are specified as a string.

It auto-casts arguments to the right types, if they aren't right.

It returns errors that AI engines understands, instead of errors with poor descriptions.

If a loop is provided to the AIFunctions constructor, or to any execute calls, it will be used to schedule a coroutine.

Async versions of execute are available, prefix all calls with async_

Release files for ai-functions 0.1.0

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

Source distribution (sdist)

Source distribution for ai-functions 0.1.0
File Size Uploaded
ai_functions-0.1.0.tar.gz 3.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-functions 0.1.0
File Interpreter ABI Platform
ai_functions-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size:7.0 kB

Release files / ai_functions-0.1.0.tar.gz

Download URL ai_functions-0.1.0.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fbdce75308ff62076241b697513463ae151639d3724d4727cb452b67e0a4bfec
BLAKE2b-256 checksum
How to use checksums
96862a0143d5fcfc3fd2021bedd6aa8eb3883c99901466cba19abf5bdc6bde52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release files / ai_functions-0.1.0-py3-none-any.whl

Download URL ai_functions-0.1.0-py3-none-any.whl
Size 3.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09c1e104f114f81f1e31a1e29b816538ab0f1e1d03368243ae28ae042131826e
BLAKE2b-256 checksum
How to use checksums
3989b6f68a08c30d220dbed06588822e083469abf3171107e14853aef22f7c2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release history Release notifications | RSS feed

0.4.3

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

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