Automatically pass your funcions defined in Python to ChatGPT have it call them back seemlessly.
Project description
GPT-Funcs
Automatically pass your funcions defined in Python to ChatGPT have it call them back seemlessly.
You can do all that in a single line:
gptfuncs.add_function_hooks("funcs.py", lambda funcs: openai_api("Say hi", funcs))
Under the hood
gptfuncs.add_function_hooks()
:
- Loads a python file specified as the parameter and encodes the function signatures to JSON
- Calls back the functions dynamically after ChatGPT responds
Use PEP-8 style to document your function signatures (see funcs.py
for an example.)
Example
def chat_completion_request(messages, functions=None, model=None):
# post request to OpenAI api
# ...
# Our functions are defined in funcs.py so we just pass that in to gptfuncs.add_function_hooks
# and in handles everything
res = gptfuncs.add_function_hooks("funcs.py", lambda funcs: chat_completion_request(
model="gpt-3.5-turbo-0613",
messages=[{"role": "user", "content": "Sing me a poem about Hackernews."}],
functions=funcs
))
# normal api result after all the functions have been called
print(res)
funcs.py
:
import os
import subprocess
def play_music(audio_data_hex):
"""
Play music to user.
Args:
audio_data_hex (string): Hex representation of the raw audio binary data with 44100 sample rate.
"""
bin_data = base64.b64decode(audio_data_hex)
file_path = "/tmp/a.mp3"
with open(file_path, "wb") as file:
file.write(bin_data)
print(f"Binary file saved as: {file_path}")
os.system("/usr/bin/afplay " + file_path)
def speak(sentence, spoken_speed=210):
"""
Convert the sentence to spoken words and speak it to user.
Args:
sentence (string): English sentence that should be spoken.
spoken_speed (number): A value from 100 to 300 determining how fast the sentence is spoken.
"""
subprocess.Popen(['say', '-v', 'Karen', '-r', str(spoken_speed), sentence])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gptfuncs-1.0.0.tar.gz
(2.1 kB
view details)
File details
Details for the file gptfuncs-1.0.0.tar.gz
.
File metadata
- Download URL: gptfuncs-1.0.0.tar.gz
- Upload date:
- Size: 2.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e1a6f38ce409bac54b9d9333d9c60479cd5e89b9c4d67c32f19f283ac7b85d8 |
|
MD5 | cecc268775020a07bbe96ab6a4dcf8fb |
|
BLAKE2b-256 | 5eae3d9608cc6cd1a71b1854cf581bd4222c1ca5e6a38c4f76e7a7fed903592f |