A set of functions to better interact with openai.
Project description
srai-openai
A set of functions to better interact with openai
wraps the promtps for text, images, whisper and function in a convinient way:
Install
pip install srai-openai
Use
prompt text
from srai_openai.client_openai_chatgpt import ClientOpenaiChatgpt
client = ClientOpenaiChatgpt()
print(client.prompt_default("You are a helpfull assitent", "This is a test"))
prompt json response
from srai_openai.client_openai_chatgpt import ClientOpenaiChatgpt
import json
client = ClientOpenaiChatgpt()
result = client.prompt_default_json(
"You are a helpfull assistent", "I'm fine, thank you. How are you? Respond in valid json"
)
print(json.dumps(result, indent=4))
prompt image
from srai_openai.client_openai_chatgpt import ClientOpenaiChatgpt
import base64
client = ClientOpenaiChatgpt()
system_message_prompt = "You are a helpfull assistent"
user_message_prompt = "What is shown here?"
with open("image.png", "rb") as file:
image_base64 = base64.b64encode(file.read()).decode("utf-8")
print(client.prompt_default(system_message_prompt, user_message_prompt, image_base64=image_base64))
prompt with tool
from srai_openai.client_openai_chatgpt import ClientOpenaiChatgpt
from srai_openai.model.chatgpt_tool import ChatgptTool, create_chatgpt_tool
from typing import List, Literal
client = ClientOpenaiChatgpt()
system_message_content = "You are a helpfull assitent"
user_message_content = "What is the weather like today in New York?"
def get_weather(location: str, unit: Literal["celsius", "fahrenheit"] = "celsius") -> str:
"""Get the current weather in a given location.
Args:
location (str): Location to get the weather for.
unit (Literal["celsius", "fahrenheit"], optional): The unit to return the temperature in. Default is celsius.
Returns:
str: weather for the location
"""
return f"The weather in {location} is sunny today in {unit}."
list_tool: List[ChatgptTool] = [create_chatgpt_tool(get_weather)]
response = client.prompt_default_tool(system_message_content, user_message_content, list_tool)
print(response)
transcription
from srai_openai.client_openai_whisper import ClientOpenaiWhisper
client = ClientOpenaiWhisper()
transcription = client.transcription("test.mp3")
print(transcription["text"])
Changelog
Version 0.8.1
- Bug fix on the client
Version 0.8.0
- Reenabled serialization of prompt configs
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
srai_openai-0.8.2.tar.gz
(8.8 kB
view details)
Built Distribution
File details
Details for the file srai_openai-0.8.2.tar.gz
.
File metadata
- Download URL: srai_openai-0.8.2.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37cb84ec2f9283ef403f4fc7650b29db7d854bb74952300c37beedb4d8b6db37 |
|
MD5 | 869cd8d6381d1fc8080a508fb648343c |
|
BLAKE2b-256 | 3f3ed5503f4c530954d566285af0aafdf3be17f0bb000271d32e64dd916cfebe |
File details
Details for the file srai_openai-0.8.2-py3-none-any.whl
.
File metadata
- Download URL: srai_openai-0.8.2-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 622bf4739af6c07c93e8312f32ede5a5e7b552bdeb7f7d30d7d5c5c2a8d92133 |
|
MD5 | 1d804aa35b13406eee89d052de2bcd09 |
|
BLAKE2b-256 | 111190e67f6bf92b122b665c01a3ea3fee125877007369632ada7f4ee4018055 |