OpenAI-API-requests
Python classes that allow for easy interaction with the OpenAI API, based fully on web requests.
The classes are well documented within the code file.
Currently Available Classes
ChatGPTAgent
- Allows you to create an instance (object) of ChatGPT.
- Saves conversation history and supports tweaking all parameters like model, system prompt, temperature, etc.
- Methods:
GetResponse: Send a new message to the chatbot.ChangeSystemMessage: Change the system message without affecting conversation history.ClearHistory: Reset message history.
ImgChatGPTAgent
- Similar to
ChatGPTAgent, but introduces an additional method:GetResponseWithImg: Send a message containing an image file.
- Note: As of now, only ChatGPT 4o and 4o-mini support processing images.
DallEAgent
- Allows you to generate an image with the DALL-E AI image generator.
- Methods:
GetImage: Get the image as a PIL Image variable.GetImageURL: Get a link to the generated image.
Usage
You can download the package using PIP:
pip install EasyAPIOpenAI
Then, use it as follows:
import easyapiopenai as oai
agent = oai.ChatGPTAgent("api-key", 'gpt-3.5-turbo')
Alternatively, if you prefer not to use PIP or are working with MicroPython, download the source code into the same folder and write:
from APIWojOpenAI import *
Make sure to adjust the filename as necessary.
Then, you can use it like this:
agent = ChatGPTAgent("api-key", 'gpt-3.5-turbo')
The ChatGPTAgent class should work well on embedded MicroPython systems, such as Raspberry Pi Pico. In that case, remove other classes from the file and replace all import statements with:
import urequests as requests
Example Code
import easyapiopenai as oai
API_KEY = 'KEY' # OpenAI API key; always remember to secure it properly.
bot = oai.ChatGPTAgent(API_KEY, model="gpt-3.5-turbo", max_tokens=1000, role="Your name is Bob")
message = "Hello, who are you?" # Sample message
answer = bot.GetResponse(message) # Get answer
print(answer)
message = "Remember that my favourite animal is a lizard." # Second sample message
answer = bot.GetResponse(message) # Get next answer, continuing conversation
print(answer)
message = "What is my favourite animal?" # Third sample message, to prove it remembers
answer = bot.GetResponse(message) # Get next answer, continuing conversation
print(answer)
Output:
Hi there! My name is Bob. How can I assist you today?
Got it! Your favorite animal is a lizard. Would you like to talk about lizards or anything else related to them?
Your favorite animal is a lizard.
Known Errors and Things to Keep in Mind
- An incorrect API key, nonexistent AI model, or other impossible parameters will result in a 404 error.
ImgChatGPTAgentmay not remember the image for longer than one or two subsequent questions.- If chat history exceeds 100 messages, the AI might stop working. This behavior depends on the AI model; it has been observed with GPT-3.5-turbo.
Metadata
Release files for EasyAPIOpenAI 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| easyapiopenai-0.1.2.tar.gz | 5.9 kB | Without provenance | Details for easyapiopenai-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| EasyAPIOpenAI-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for EasyAPIOpenAI-0.1.2-py3-none-any.whl |
Total release size: 12.3 kB
Release files / easyapiopenai-0.1.2.tar.gz
| Download URL | easyapiopenai-0.1.2.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d98edbfd595238d7d9dd83c51be174962eef74d074605bc9b0cbbab09aeea9d
|
|
BLAKE2b-256 checksum How to use checksums |
6a73f7462ea70e55ee5f52ac17484a3b5094654458a5369ad76a1111e3663aa6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.3
|
Release files / EasyAPIOpenAI-0.1.2-py3-none-any.whl
| Download URL | EasyAPIOpenAI-0.1.2-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4db5919d3e44612d4728b6fd9fccf9a3083288b0cc6c63e80c4f434f74b7763a
|
|
BLAKE2b-256 checksum How to use checksums |
a37d4291bbf2ab94f753130f47ed5941815153080c9ac2e759dbe871ef7c4c9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.3
|
Security for EasyAPIOpenAI 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.