summaryrefslogtreecommitdiff
path: root/py/complete.py
diff options
context:
space:
mode:
authorMartin Bielik <mx.bielik@gmail.com>2023-03-13 20:52:45 +0100
committerMartin Bielik <mx.bielik@gmail.com>2023-03-13 20:52:45 +0100
commit60f123341288df77a466528f2f1875f81c0cc450 (patch)
tree975c2c3cc7b72bd1dfe61691af15e9722ef1ea1d /py/complete.py
parent81d6561754df9f7d544bbab0047e09ac27f86728 (diff)
downloadvim-ai-60f123341288df77a466528f2f1875f81c0cc450.tar.gz
stream complete/edit commands
Diffstat (limited to '')
-rw-r--r--py/complete.py25
1 files changed, 18 insertions, 7 deletions
diff --git a/py/complete.py b/py/complete.py
index c37cbd0..705dd90 100644
--- a/py/complete.py
+++ b/py/complete.py
@@ -8,11 +8,22 @@ prompt = vim.eval("prompt")
openai.api_key = load_api_key()
-response = openai.Completion.create(
- model="text-davinci-003",
- prompt=prompt,
- max_tokens=1000,
- temperature=0.1
-)
+if prompt.strip():
-output = response['choices'][0]['text']
+ response = openai.Completion.create(
+ model="text-davinci-003",
+ prompt=prompt,
+ max_tokens=1000,
+ temperature=0.1,
+ stream=True,
+ )
+
+ generating_text = False
+ for resp in response:
+ text = resp['choices'][0].get('text', '')
+ if not text.strip() and not generating_text:
+ continue # trim newlines from the beginning
+
+ generating_text = True
+ vim.command("normal! a" + text)
+ vim.command("redraw")