nova-python/README.md

93 lines
2.1 KiB
Markdown
Raw Normal View History

2023-08-07 10:26:09 +02:00
# nova-python
🐍 Python library for accessing the Nova API
## Usage ##
2023-08-08 12:36:59 +02:00
Install the module
```sh
$ pip install nova-python
```
2023-08-07 10:26:09 +02:00
Import the module
```python
from nova_python import Endpoints, Models, NovaClient
```
Create an instance of NovaClient, using your API key
```python
client = NovaClient("YOUR_API_KEY")
```
nova_python currently implements two enums: Endpoints and Models. Those contain:
**Endpoints**
2023-08-07 10:26:09 +02:00
* `Endpoints.CHAT_COMPLETION`
* `Endpoints.MODERATION`
2023-08-07 10:26:09 +02:00
**Models**
* `Models.GPT3`
* `Models.GPT4`
* `Models.MODERATION_LATEST`
* `Models.MODERATION_STABLE`
2023-08-07 10:26:09 +02:00
Now, to make a request, use the `make_request` function. For example:
2023-08-07 10:26:09 +02:00
```python
from nova_python import Endpoints, Models, NovaClient
client = NovaClient("YOUR_API_KEY")
2023-08-15 14:00:35 +02:00
response = client.make_request(
2023-08-07 10:26:09 +02:00
endpoint=Endpoints.CHAT_COMPLETION,
model=Models.GPT3,
data=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
2023-08-07 16:15:45 +02:00
...
2023-08-07 10:26:09 +02:00
```
or
```python
from nova_python import Endpoints, Models, NovaClient
client = NovaClient("YOUR_API_KEY")
2023-08-15 14:00:35 +02:00
response = client.make_request(
endpoint=Endpoints.MODERATION,
model=Models.MODERATION_STABLE,
data=[{"input": "I'm going to kill them."}]
)
2023-08-07 16:15:45 +02:00
...
```
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.
2023-08-15 14:00:35 +02:00
You can access the response's json.data, by casting it to a string using the `str` method, like this:
2023-08-07 16:15:45 +02:00
```python
...
2023-08-15 14:00:35 +02:00
str(response)
2023-08-07 16:15:45 +02:00
...
```
2023-08-15 14:00:35 +02:00
but more importantly, you can use it's `get_message_content` function, to directly get access to the chat response. Used like this:
2023-08-07 16:15:45 +02:00
```
...
2023-08-15 14:00:35 +02:00
content = response.get_message_content()
2023-08-07 16:15:45 +02:00
...
```
2023-08-07 10:26:09 +02:00
*Happy prompting!*
<br><br>
## 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`
2023-08-07 10:26:09 +02:00
Made with 🩸 by Leander