src | ||
.gitignore | ||
Cargo.toml | ||
LICENSE | ||
pyproject.toml | ||
README.md |
nova-python
🐍 Python library for accessing the Nova API
Usage
Install the module
$ pip install nova-python
Import the module
from nova_python import Endpoints, Models, NovaClient
Create an instance of NovaClient, using your API key
client = NovaClient("YOUR_API_KEY")
nova_python currently implements two enums: Endpoints and Models. Those contain:
Endpoints
Endpoints.CHAT_COMPLETION
Endpoints.MODERATION
Models
Models.GPT3
Models.GPT4
Models.MODERATION_LATEST
Models.MODERATION_STABLE
Now, to make a request, use the make_request
function. For example:
from nova_python import Endpoints, Models, NovaClient
client = NovaClient("YOUR_API_KEY")
reponse = client.make_request(
endpoint=Endpoints.CHAT_COMPLETION,
model=Models.GPT3,
data=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
...
or
from nova_python import Endpoints, Models, NovaClient
client = NovaClient("YOUR_API_KEY")
reponse = client.make_request(
endpoint=Endpoints.MODERATION,
model=Models.MODERATION_STABLE,
data=[{"input": "I'm going to kill them."}]
)
...
If everything goes to plan, you'll receive a string containing JSON-Data, which you can then use in your project.
Note, that when using chat completion, as special ChatResponse-Instance get's returned.
You can access the reponse's json.data, by casting it to a string using the str
method, like this:
...
str(reponse)
...
but more importantly, you can use it's get_message_content
function, to directly get access to the chat reponse. Used like this:
...
content = reponse.get_message_content()
...
Happy prompting!
FAQ
Q: I keep getting RuntimeError: error sending request for url (https://api.nova-oss.com/v1/moderations): operation timed out
A: Try passing a higher value than 30 as seconds_until_timeout
to make_request
Made with 🩸 by Leander