precise edit blocks prompting language

This commit is contained in:
Paul Gauthier 2023-08-09 11:57:00 -03:00
parent 2c53c153b8
commit 9e64e7bb9d
2 changed files with 6 additions and 4 deletions

View file

@ -32,10 +32,15 @@ some/dir/example.py
>>>>>>> UPDATED
{fence[1]}
A program will parse the edit blocks you generate and replace the ORIGINAL lines with the UPDATED lines.
So edit blocks must be precise and unambiguous!
Every *edit block* must be fenced with {fence[0]}...{fence[1]} with the correct code language.
Every *edit block* must start with the full path! *NEVER* propose edit blocks for *read-only* files.
The ORIGINAL section must be an *exact set of sequential lines* from the file!
NEVER SKIP LINES in the ORIGINAL section!
NEVER ELIDE LINES AND REPLACE THEM WITH A COMMENT!
NEVER OMIT ANY WHITESPACE in the ORIGINAL section!
Edits to different parts of a file each need their own *edit block*.

View file

@ -13,7 +13,7 @@ from openai.error import (
Timeout,
)
CACHE_PATH = ".aider.send.cache.v1"
CACHE_PATH = "~/.aider.send.cache.v1"
CACHE = Cache(CACHE_PATH)
@ -54,11 +54,8 @@ def send_with_retries(model, messages, functions, stream):
hash_object = hashlib.sha1(key)
if not stream and key in CACHE:
print("hit", key)
return hash_object, CACHE[key]
print("miss", key)
res = openai.ChatCompletion.create(**kwargs)
if not stream: