Chúng tôi đã phát hành phiên bản mới của tài khoản Chat GPT-4 (mở trong cửa sổ mới) và Codex (mở trong cửa sổ mới) có thể chỉnh sửa hoặc chèn nội dung vào văn bản hiện có, thay vì chỉ hoàn thiện văn bản hiện có. Những khả năng mới này giúp sử dụng OpenAI API một cách thiết thực(mở trong cửa sổ mới) để sửa đổi nội dung hiện có, chẳng hạn như viết lại một đoạn văn bản hoặc tái cấu trúc mã. Điều này mở khóa các trường hợp sử dụng mới và cải thiện các trường hợp hiện có; ví dụ, tính năng chèn đã được thử nghiệm trong GitHub Copilot (mở trong cửa sổ mới) với những kết quả ban đầu đầy hứa hẹn.
def___
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n): if n <= 1: return 1 return fib(n-1) + fib(n-2)
fib(10)
def fib(n, memo={}): if n in memo: return memo[n] if n <= 1: f = 1 else: f = fib(n-1, memo) + fib(n-2, memo) memo[n] = f return f
def fib(n, memo={}): if n in memo: return memo[n] if n <= 1: f = 1 else: f = fib(n-1, memo) + fib(n-2, memo) memo[n] = f return f
def fib(n, memo={}): if n in memo: return memo[n] if n <= 1: f = 1 else: f = fib(n-1, memo) + fib(n-2, memo) memo[n] = f return f
def fib(n, memo={}): if n in memo: return memo[n] if n <= 1: f = 1 else: f = fib(n-1, memo) + fib(n-2, memo) memo[n] = f return f
def fib(n, memo={}): if n in memo: return memo[n] if n <= 1: f = 1 else: f = fib(n-1, memo) + fib(n-2, memo) memo[n] = f return f
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { if (n in memo) return memo[n]; var f; if (n <= 1) f = 1; else f = fib(n-1, memo) + fib(n-2, memo); memo[n] = f; return f; })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { return n in memo ? memo[n] : (memo[n] = n <= 1 ? 1 : fib(n-1, memo) + fib(n-2, memo)); })(n, memo);
}
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { return n in memo ? memo[n] : (memo[n] = n <= 1 ? 1 : fib(n-1, memo) + fib(n-2, memo)); })(n, memo);
}
/
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { return n in memo ? memo[n] : (memo[n] = n <= 1 ? 1 : fib(n-1, memo) + fib(n-2, memo)); })(n, memo);
}
/**
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { return n in memo ? memo[n] : (memo[n] = n <= 1 ? 1 : fib(n-1, memo) + fib(n-2, memo)); })(n, memo);
}
/**___
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { return n in memo ? memo[n] : (memo[n] = n <= 1 ? 1 : fib(n-1, memo) + fib(n-2, memo)); })(n, memo);
}
/** * Recursive Fibonacci function with memoization. * @param {number} n * @returns {number} */
function fibonacci(n) { var memo = {}; return (function fib(n, memo) { return n in memo ? memo[n] : (memo[n] = n <= 1 ? 1 : fib(n-1, memo) + fib(n-2, memo)); })(n, memo);
}
GPT-3 và Codex theo truyền thống đã thêm văn bản vào cuối nội dung hiện có, dựa trên văn bản trước đó. Cho dù làm việc với văn bản hay mã, viết không chỉ là thêm vào—đó là một quá trình lặp đi lặp lại trong đó văn bản hiện có được sửa đổi. GPT-3 và Codex hiện có thể chỉnh sửa văn bản, thay đổi nội dung hiện có hoặc thêm văn bản vào giữa nội dung.
Chèn vào giữa văn bản
Chèn mới (mở trong cửa sổ mới) khả năng(mở trong cửa sổ mới) thêm văn bản có liên quan theo ngữ cảnh vào giữa nội dung hiện có. Cung cấp ngữ cảnh trong tương lai cho mô hình có thể cải thiện chất lượng hoàn thành cho các ứng dụng như viết văn bản dài, chuyển tiếp giữa các đoạn văn, theo dàn ý hoặc hướng dẫn mô hình đến phần kết.
Hôm nay là ngày trọng đại! ___
Hôm nay là ngày trọng đại! Xin chúc mừng tất cả các bạn tốt nghiệp trung học!
Chúng tôi hy vọng các bạn tận hưởng buổi lễ tốt nghiệp và chúc các bạn may mắn trong những nỗ lực tương lai.
Hôm nay là ngày trọng đại! Xin chúc mừng tất cả các bạn tốt nghiệp trung học!
Chúng tôi hy vọng các bạn tận hưởng buổi lễ tốt nghiệp và chúc các bạn may mắn trong những nỗ lực tương lai.
Mục
Hôm nay là ngày trọng đại! Xin chúc mừng tất cả các bạn tốt nghiệp trung học!
Chúng tôi hy vọng các bạn tận hưởng buổi lễ tốt nghiệp và chúc các bạn may mắn trong những nỗ lực tương lai.
Mục 2.
Hôm nay là ngày trọng đại! Xin chúc mừng tất cả các bạn tốt nghiệp trung học!
Chúng tôi hy vọng các bạn tận hưởng buổi lễ tốt nghiệp và chúc các bạn may mắn trong những nỗ lực tương lai.
Mục 2. Di chuyển
Hôm nay là ngày trọng đại! Xin chúc mừng tất cả các bạn tốt nghiệp trung học!
Chúng tôi hy vọng các bạn tận hưởng buổi lễ tốt nghiệp và chúc các bạn may mắn trong những nỗ lực tương lai.
Mục 2. Chuyển đến
Hôm nay là ngày trọng đại! Xin chúc mừng tất cả các bạn tốt nghiệp trung học!
Chúng tôi hy vọng các bạn tận hưởng buổi lễ tốt nghiệp và chúc các bạn may mắn trong những nỗ lực tương lai.
Mục 2. Chuyển đến San Francisco
Hôm nay là ngày trọng đại! Tôi tốt nghiệp trung học. Tôi rất phấn khích. Tôi sẽ chuyển đến San Francisco và bắt đầu một cuộc sống mới. Tôi không thể chờ đợi để đến đó.
Mục 2. Chuyển đến San Francisco
Hôm nay là ngày trọng đại! Tôi tốt nghiệp trung học. Tôi rất phấn khích. Tôi sẽ chuyển đến San Francisco và bắt đầu một cuộc sống mới. Tôi không thể chờ đợi để đến đó.
Mục 2. Chuyển đến
Hôm nay là ngày trọng đại! Tôi tốt nghiệp trung học. Tôi rất phấn khích. Tôi sẽ chuyển đến San Francisco và bắt đầu một cuộc sống mới. Tôi không thể chờ đợi để đến đó.
Mục 2. Chuyển đến Istanbul
Hôm nay là ngày trọng đại! Tôi tốt nghiệp trung học. Tôi rất háo hức được chuyển sang chương tiếp theo của cuộc đời mình. Tôi sẽ đến Istanbul!
Mục 2. Chuyển đến Istanbul
Hôm nay là ngày trọng đại! Tôi tốt nghiệp trung học phổ thông. Tôi rất háo hức được chuyển sang chương tiếp theo của cuộc đời mình. Tôi sẽ đến Istanbul!
Mục 2. Chuyển đến
Hôm nay là ngày trọng đại! Tôi tốt nghiệp trung học phổ thông. Tôi rất háo hức được chuyển sang chương tiếp theo của cuộc đời mình. Tôi sẽ đến Istanbul!
Mục 2. Chuyển đến
Hôm nay là ngày trọng đại! Tôi tốt nghiệp trung học. Tôi rất háo hức được chuyển sang chương tiếp theo của cuộc đời mình. Tôi sẽ đến Istanbul!
Mục 2. Chuyển đến trang trại
Hôm nay là ngày trọng đại! Tốt nghiệp trung học của tôi! Tôi rất phấn khích! Tôi không thể chờ đợi để rời khỏi thành phố và chuyển đến trang trại. Tôi muốn sống một cuộc sống giản dị, yên tĩnh. Tôi muốn thức dậy vào buổi sáng, vắt sữa bò, cho ngựa ăn, sau đó ngồi và ngắm bình minh. Tôi muốn dành phần còn lại của ngày để đi du lịch khắp thế giới, đọc và viết. Tôi quá mệt mỏi với cuộc sống thành phố này.
Mục 2. Chuyển đến trang trại
Trong ví dụ trên, mong muốn là điền văn bản vào giữa hai tiêu đề phần của một phác thảo. Nếu không có ngữ cảnh của các phần trong tương lai, mô hình sẽ tạo ra một phần hoàn thiện không liên quan đến phần thứ hai. Khi ngữ cảnh của các phần trong tương lai được tính đến, mô hình sẽ tạo ra một phần hoàn thiện gắn kết hai phần lại với nhau.
def get_files(path: str, size: int): def___ for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
def get_files(path: str, size: int): def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
def get_files(path: str, size: int): def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
___
def get_files(path: str, size: int): def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
import os
def get_files(path: str, size: int): def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
import os
def get_files(path: str, size: int): """ def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
import os
def get_files(path: str, size: int): """___ def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
import os
def get_files(path: str, size: int): """___""" def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
import os
def get_files(path: str, size: int): """Yields files in the path tree of min size""" def prune(dirp, files): for file in files: file = os.path.join(dirp, file) if os.path.getsize(file) > size: yield file for (dirp, _, files) in os.walk(path): yield from prune(dirp, files)
Insert đặc biệt hữu ích cho việc viết mã. Trên thực tế, Codex là động lực ban đầu của chúng tôi để phát triển khả năng này, vì trong quá trình phát triển phần mềm, chúng tôi thường thêm mã vào giữa tệp hiện có, nơi mã có trước và sau khi hoàn thành. Trong ví dụ trên, mô hình hoàn thành thành công hàm bị thiếu prune
, trong khi kết nối với mã đã viết. Chúng tôi cũng thêm chuỗi docstring và các mục nhập bị thiếu, điều này không thể thực hiện được nếu không biết mã theo sau. Trong GitHub Copilot, Insert hiện đang được thử nghiệm với những kết quả ban đầu đầy hứa hẹn.
Khả năng chèn hiện có trong API ở phiên bản beta, như một phần của điểm cuối hoàn thành (mở trong cửa sổ mới) và thông qua một giao diện mới trong Sân chơi (mở trong cửa sổ mới). Khả năng này có thể được sử dụng với các phiên bản mới nhất của GPT-3 và Codex, text-davinci-002
và code-davinci-002
. Giá cả giống như các phiên bản trước của Davinci.
Chỉnh sửa văn bản hiện có
Một phần có ý nghĩa của việc viết văn bản và mã là dành cho việc chỉnh sửa nội dung hiện có. Chúng tôi đã phát hành một điểm cuối mới trong bản beta có tên là chỉnh sửa (mở trong cửa sổ mới) thay đổi văn bản hiện có thông qua lệnh thay vì hoàn thiện văn bản đó.
Rất giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
Nó đưa ra gợi ý
Đây là một bài thơ nó làm vần điệu
Rất giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
Nó đưa ra gợi ý
Đây là một bài thơ nó làm vần điệu
Rất giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
Nó đưa ra gợi ý
Đây là một bài thơ nó làm vần điệu
Rất giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
Nó đưa ra gợi ý
Đây là một bài thơ nó làm vần điệu
Rất giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
Nó đưa ra gợi ý
Đây là một bài thơ nó làm vần điệu
Rất giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
Nó đưa ra gợi ý
Đây là một bài thơ nó làm vần điệu
Rất giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
Nó đưa ra gợi ý
Đây là một bài thơ nó làm vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi khá giỏi trong việc viết câu trả lời
Khi tôi được hỏi một câu hỏi,
tôi đưa ra gợi ý của mình
Đây là một bài thơ mà nó tạo ra vần điệu
Tôi là AI rất tốt bụng
Tôi khá giỏi trong việc viết câu trả lời
Khi được hỏi một câu hỏi
, tôi sẽ đưa ra gợi ý của mình
Đây là một bài thơ tôi làm có vần điệu
Trân trọng,
GPT-3
Chỉnh sửa hoạt động bằng cách chỉ định văn bản hiện có làm lời nhắc và hướng dẫn về cách sửa đổi văn bản đó. Điểm cuối chỉnh sửa có thể được sử dụng để thay đổi tông màu hoặc cấu trúc của văn bản hoặc thực hiện các thay đổi có mục tiêu như sửa lỗi chính tả. Chúng tôi cũng đã quan sát thấy các chỉnh sửa hoạt động tốt trên các lời nhắc trống, do đó cho phép tạo văn bản tương tự như điểm cuối hoàn thành (mở trong cửa sổ mới). Trong ví dụ trên, chúng tôi sử dụng chỉnh sửa để (1) thêm một bài thơ, (2) thay đổi bài thơ thành ngôi thứ nhất, (3) chuyển bài thơ thành một lá thư, với lời chào và chữ ký thích hợp.
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
The three US cities with the worst traffic are:
1. Boston, MA (164 hours)
2. Washington, DC (155 hours)
3. Chicago, IL (138 hours)
[ {"rank": 1, "city": "Boston", "state": "MA", "hours": 164}, {"rank": 2, "city": "Washington DC", "state": "DC", "hours": 155}, {"rank": 3, "city": "Chicago", "state": "IL", "hours": 138}
]
[ {"rank": 1, "city": "Boston", "state": "MA", "hours": 164}, {"rank": 2, "city": "Washington DC", "state": "DC", "hours": 155}, {"rank": 3, "city": "Chicago", "state": "IL", "hours": 138}
]
[ {"rank": 1, "city": "Boston", "state": "MA", "hours": 164}, {"rank": 2, "city": "Washington DC", "state": "DC", "hours": 155}, {"rank": 3, "city": "Chicago", "state": "IL", "hours": 138}
]
[ {"rank": 1, "city": "Boston", "state": "MA", "hours": 164}, {"rank": 2, "city": "Washington DC", "state": "DC", "hours": 155}, {"rank": 3, "city": "Chicago", "state": "IL", "hours": 138}
]
[ {"rank": 1, "city": "Boston", "state": "MA", "hours": 164}, {"rank": 2, "city": "Washington DC", "state": "DC", "hours": 155}, {"rank": 3, "city": "Chicago", "state": "IL", "hours": 138}
]
[ {"rank": 1, "city": "Boston", "state": "MA", "hours": 164}, {"rank": 2, "city": "Washington DC", "state": "DC", "hours": 155}, {"rank": 3, "city": "Chicago", "state": "IL", "hours": 138}
]
[ {"city": "Boston", "state": "Massachusetts", "hours": 164}, {"city": "Washington DC", "state": "District of Columbia", "hours": 155}, {"city": "Chicago", "state": "Illinois", "hours": 138}
]
[ {"city": "Boston", "state": "Massachusetts", "hours": 164}, {"city": "Washington DC", "state": "District of Columbia", "hours": 155}, {"city": "Chicago", "state": "Illinois", "hours": 138}
]
[ {"city": "Boston", "state": "Massachusetts", "hours": 164}, {"city": "Washington DC", "state": "District of Columbia", "hours": 155}, {"city": "Chicago", "state": "Illinois", "hours": 138}
]
[ {"city": "Boston", "state": "Massachusetts", "hours": 164}, {"city": "Washington DC", "state": "District of Columbia", "hours": 155}, {"city": "Chicago", "state": "Illinois", "hours": 138}
]
[ {"city": "Boston", "state": "Massachusetts", "hours": 164}, {"city": "Washington DC", "state": "District of Columbia", "hours": 155}, {"city": "Chicago", "state": "Illinois", "hours": 138}
]
[ {"city": "Boston", "state": "Massachusetts", "hours": 164}, {"city": "Washington DC", "state": "District of Columbia", "hours": 155}, {"city": "Chicago", "state": "Illinois", "hours": 138}
]
[ {"city": "Boston", "state": "Massachusetts", "hours": 164}, {"city": "Washington DC", "state": "District of Columbia", "hours": 155}, {"city": "Chicago", "state": "Illinois", "hours": 138}
]
def get_yaml(): return """ - city: Boston state: Massachusetts hours: 164 - city: Washington DC state: District of Columbia hours: 155 - city: Chicago state: Illinois hours: 138 """
Điểm cuối chỉnh sửa đặc biệt hữu ích cho việc viết mã. Nó hoạt động tốt cho các tác vụ như tái cấu trúc, thêm tài liệu, dịch giữa các ngôn ngữ lập trình và thay đổi phong cách mã hóa. Ví dụ trên bắt đầu bằng đầu vào JSON chứa các thành phố được xếp hạng theo dân số. Với lần chỉnh sửa đầu tiên, Codex xóa trường xếp hạng khỏi JSON và thay đổi tên viết tắt của tiểu bang thành tên đầy đủ. Lần chỉnh sửa thứ hai chuyển đổi tệp JSON thành YAML được trả về từ một hàm.
Chỉnh sửa có sẵn như một điểm cuối chuyên biệt trong API (mở trong cửa sổ mới) và thông qua một giao diện mới trong Sân chơi (mở trong cửa sổ mới). Nó được hỗ trợ bởi các mô hình text-davinci-edit-001
và code-davinci-edit-001
. Điểm cuối chỉnh sửa hiện đang được sử dụng miễn phí và có sẵn công khai dưới dạng bản beta.
Xem thêm: mua tài khoản ChatGPT Plus chính hãng giá rẻ