Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 1.38 KB

code_editing_examples.md

File metadata and controls

63 lines (48 loc) · 1.38 KB

代码编辑实例

OpenAI的edits端点对于编辑代码特别有用。

与补全不同,edits需要两个输入:要编辑的文本和一条指令。

例如,如果你想编辑一个Python函数,你可以提供该函数的文本和一个指令,如 "add a docstring"。

输入code-davinci-edit-001的文本示例。

def tribonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    elif n == 2:
        return 1
    elif n == 3:
        return 2
    else:
        return tribonacci(n-1) + tribonacci(n-2) + tribonacci(n-3)

示例指令输入:

add a docstring
Add typing, using Python 3.9 conventions
improved the runtime
Add a test.
Translate to JavaScript (or Rust or Lisp or any language you like)

改进运行时间并翻译成JavaScript后的输出示例:

function tribonacci(n) {
  let a = 0;
  let b = 1;
  let c = 1;
  for (let i = 0; i < n; i++) {
    [a, b, c] = [b, c, a + b + c];
  }
  return a;
}

正如你所看到的,code-davinci-edit-001能够成功地将函数的运行时间从指数级降低到线性,以及从Python转换到JavaScript。

OpenAI Playground 中使用 code-davinci-edit-001 进行代码编辑实验。