[V041] Minor optimizations

This commit is contained in:
Farkhod Sadykov
2023-02-09 17:09:57 +01:00
parent a81858804c
commit bdbe12d745
5 changed files with 30 additions and 30 deletions
+3 -1
View File
@@ -1,2 +1,4 @@
*.egg-info
dist
dist
sgpt.spec
build
+1 -1
View File
@@ -41,7 +41,7 @@ sgpt --shell --execute "make all files in current directory read only"
# -> Execute shell command? [y/N]: y
# ...
```
At this point it is already can solve half of my Google searches, but how far we can push the limits of `text-davinci-003` model? Let's try some docker containers:
At this point it is already can solve half of most frequent Google searches, but how far we can push the limits of `text-davinci-003` model? Let's try some docker containers:
```shell
sgpt -se "start nginx using docker, forward 443 and 80 port, mount current folder with index.html"
# -> docker run -d -p 443:443 -p 80:80 -v $(pwd):/usr/share/nginx/html nginx
+3 -4
View File
@@ -2,11 +2,10 @@ from setuptools import setup, find_packages
setup(
name="shell_gpt",
version="0.4",
version="0.4.1",
packages=find_packages(),
py_modules=[
"sgpt",
"utils"
],
install_requires=[
"typer~=0.7.0",
@@ -19,8 +18,8 @@ setup(
],
},
author="Farkhod Sadykov",
author_email="farkhod.sadykov@gmail.com",
description="CLI App allows to query OpenAI Chat GPT models using API.",
author_email="farkhod@sadykov.dev",
description="CLI App allows to query OpenAI GPT-3 models using API.",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
url="https://github.com/ther1d/shell_gpt",
+23 -9
View File
@@ -1,28 +1,42 @@
import os
from time import sleep
from pathlib import Path
from getpass import getpass
import typer
import requests
from rich.progress import Progress, SpinnerColumn, TextColumn
from utils import loading_spinner
API_URL = "https://api.openai.com/v1/completions"
app_data_folder = os.path.expanduser('~/.config')
api_key_file = Path(app_data_folder) / "shell-gpt" / "api_key.txt"
DATA_FOLDER = os.path.expanduser('~/.config')
KEY_FILE = Path(DATA_FOLDER) / "shell-gpt" / "api_key.txt"
def get_api_key():
if not api_key_file.exists():
api_key = typer.prompt("Please enter your API secret key")
api_key_file.parent.mkdir(parents=True, exist_ok=True)
api_key_file.write_text(api_key)
if not KEY_FILE.exists():
api_key = getpass(prompt="Please enter your API secret key")
KEY_FILE.parent.mkdir(parents=True, exist_ok=True)
KEY_FILE.write_text(api_key)
else:
api_key = api_key_file.read_text()
api_key = KEY_FILE.read_text()
return api_key
def loading_spinner(func):
def wrapper(*args, **kwargs):
if not kwargs.pop("spinner"):
return func(*args, **kwargs)
with Progress(
SpinnerColumn(),
TextColumn("[green]Requesting OpenAI..."),
transient=True
) as progress:
progress.add_task("request")
return func(*args, **kwargs)
return wrapper
@loading_spinner
def openai_request(prompt, model, max_tokens, api_key):
headers = {
-15
View File
@@ -1,15 +0,0 @@
from rich.progress import Progress, SpinnerColumn, TextColumn
def loading_spinner(func):
def wrapper(*args, **kwargs):
if not kwargs.pop("spinner"):
return func(*args, **kwargs)
with Progress(
SpinnerColumn(),
TextColumn("[green]Requesting OpenAI..."),
transient=True
) as progress:
progress.add_task("request")
return func(*args, **kwargs)
return wrapper