Với việc phát hành API, OpenAI đã mở ra khả năng đưa ChatGPT đến với mọi người. Giờ đây, bạn có thể tích hợp liền mạch các tính năng của ChatGPT vào ứng dụng của mình.
Hãy làm theo các bước sau để bắt đầu, cho dù bạn đang muốn tích hợp ChatGPT vào ứng dụng hiện có của mình hay phát triển những ứng dụng mới với nó.
1. Lấy key OpenAI API
Để bắt đầu sử dụng ChatGPT API , bạn cần lấy key API.
- Đăng ký hoặc đăng nhập vào nền tảng OpenAI chính thức.
- Sau khi đăng nhập, hãy nhấp vào tab API keys ở bên trái.
- Tiếp theo, nhấp vào nút Create new secret key để tạo key API.
- Bạn sẽ không thể xem lại key API, vì vậy hãy sao chép và lưu trữ ở nơi an toàn.
Lưu ý: Code được sử dụng trong dự án này có sẵn trong GitHub repository và bạn có thể sử dụng miễn phí theo giấy phép MIT.
2. Thiết lập môi trường phát triển
Bạn có thể sử dụng trực tiếp điểm cuối API hoặc tận dụng thư viện openai Python/JavaScript để bắt đầu xây dựng các ứng dụng hỗ trợ ChatGPT API . Hướng dẫn này sử dụng Python và thư viện openai-python.
Để bắt đầu:
- Tạo môi trường ảo Python
- Cài đặt thư viện openai và python-dotenv qua pip:
pip install openai python-dotenv
- Tạo file .env trong thư mục root của dự án để lưu trữ key API một cách an toàn.
- Tiếp theo, trong cùng một file, đặt biến OPENAI_API_KEY với giá trị key mà bạn đã sao chép trước đó:
OPENAI_API_KEY="YOUR_API_KEY"
Cảnh báo: Đảm bảo bạn không vô tình chia sẻ key API của mình thông qua kiểm soát phiên bản. Thêm file .gitignore vào thư mục root của dự án của bạn và thêm ".env" vào đó để bỏ qua file dotenv.
3. Thực hiện yêu cầu ChatGPT API
GPT-3.5 Turbo, GPT-4 và GPT-4 Turbo của API OpenAI là những mô hình tương tự mà ChatGPT sử dụng. Những mô hình mạnh mẽ này có khả năng hiểu và tạo ra văn bản và code ngôn ngữ tự nhiên. GPT-4 Turbo thậm chí có thể xử lý đầu vào hình ảnh, mở ra cánh cửa cho một số mục đích sử dụng bao gồm phân tích hình ảnh, phân tích tài liệu bằng số liệu và sao chép văn bản từ hình ảnh.
Xin lưu ý rằng ChatGPT API là thuật ngữ chung dùng để chỉ các API OpenAI sử dụng những mô hình dựa trên GPT, bao gồm các mô hình GPT-3.5 Turbo, GPT-4 và GPT-4 Turbo.
ChatGPT API chủ yếu được tối ưu hóa cho trò chuyện nhưng cũng hoạt động tốt cho các tác vụ hoàn thành văn bản. Cho dù bạn muốn tạo code, dịch ngôn ngữ hay soạn thảo tài liệu, API này đều có thể xử lý tất cả.
Lưu ý: Để có quyền truy cập vào API GPT-4, bạn cần thanh toán thành công từ $1 trở lên. Nếu không, bạn có thể gặp lỗi tương tự như "The model `gpt-4` does not exist or you do not have access to it".
Sử dụng API để hoàn thành cuộc trò chuyện
Bạn cần cấu hình mô hình trò chuyện để sẵn sàng cho lệnh gọi API. Đây là một ví dụ:
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI()
response = client.chat.completions.create(
model = "gpt-3.5-turbo-0125",
temperature = 0.8,
max_tokens = 3000,
response_format={ "type": "json_object" },
messages = [
{"role": "system", "content": "You are a funny comedian who tells dad jokes. The output should be in JSON format."},
{"role": "user", "content": "Write a dad joke related to numbers."},
{"role": "assistant", "content": "Q: How do you make 7 even? A: Take away the s."},
{"role": "user", "content": "Write one related to programmers."}
]
)
ChatGPT API gửi phản hồi theo định dạng sau:
Bạn có thể trích xuất nội dung từ phản hồi dưới dạng chuỗi JSON bằng code này:
print(response.choices[0].message.content)
Chạy code này sẽ tạo ra kết quả sau:
Code này minh họa lệnh gọi API ChatGPT bằng Python. Lưu ý rằng mô hình hiểu ngữ cảnh ("dad joke") và loại phản hồi (dạng hỏi đáp) mà chúng ta mong đợi, dựa trên những lời nhắc được cung cấp cho nó.
Phần quan trọng nhất của cấu hình là tham số messages chấp nhận một mảng đối tượng message. Mỗi đối tượng message chứa một role và contain. Bạn có thể sử dụng 3 loại role:
- system thiết lập bối cảnh và hành vi của trợ lý.
- user đưa ra hướng dẫn cho assistant. Người dùng cuối thường sẽ cung cấp thông tin này nhưng bạn cũng có thể cung cấp trước một số lời nhắc mặc định cho người dùng.
- assistant có thể bao gồm các câu trả lời mẫu.
Bạn có thể tùy chỉnh thêm tham số temperature và max_tokens của mô hình để có được đầu ra theo yêu cầu của mình.
Nhiệt độ càng cao thì tính ngẫu nhiên của đầu ra càng cao và ngược lại. Nếu bạn muốn câu trả lời của mình tập trung và dứt khoát hơn, hãy chọn giá trị nhiệt độ thấp hơn. Và nếu bạn muốn nó sáng tạo hơn, hãy sử dụng giá trị cao hơn. Giá trị nhiệt độ nằm trong khoảng từ 0 đến 2.
Giống như ChatGPT, API cũng có giới hạn từ. Sử dụng tham số max_tokens để giới hạn độ dài của phản hồi. Xin lưu ý rằng việc đặt giá trị max_tokens thấp hơn có thể gây ra sự cố vì nó có thể làm gián đoạn đầu ra giữa chừng.
Tại thời điểm viết bài, mô hình gpt-3.5-turbo có giới hạn token là 4.096, trong khi của gpt-4 là 8.192. Các mô hình gpt-3.5-turbo-0125 và gpt-4-turbo-preview mới nhất có giới hạn lần lượt là 16.385 và 128.000.
Sau nhu cầu cao từ các nhà phát triển, OpenAI đã giới thiệu chế độ JSON hướng dẫn mô hình luôn trả về một đối tượng JSON. Bạn có thể bật chế độ JSON bằng cách đặt reply_format thành { "type": "json_object" }. Hiện tại, tính năng này chỉ khả dụng trên các mô hình mới nhất: gpt-3.5-turbo-0125 và gpt-4-turbo-preview.
Bạn có thể cấu hình thêm mô hình bằng cách sử dụng các tham số khác do OpenAI cung cấp.
Sử dụng API ChatGPT để hoàn thành văn bản
Ngoài các tác vụ hội thoại nhiều lượt, API hoàn thành trò chuyện (API ChatGPT) còn thực hiện rất tốt việc hoàn thành văn bản. Ví dụ sau đây minh họa cách bạn có thể cấu hình API ChatGPT để hoàn thành văn bản:
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI()
response = client.chat.completions.create(
model = "gpt-3.5-turbo",
temperature = 0.8,
max_tokens = 3000,
messages = [
{"role": "system", "content": "You are a poet who creates poems that evoke emotions."},
{"role": "user", "content": "Write a short poem for programmers."}
]
)
print(response.choices[0].message.content)
Bạn thậm chí không cần cung cấp vai trò hệ thống và nội dung của nó. Chỉ cung cấp lời nhắc của người dùng sẽ thực hiện công việc cho bạn.
messages = [
{"role": "user", "content": "Write a short poem for programmers."}
]
Chạy đoạn code trên sẽ tạo ra một bài thơ cho lập trình viên, ví dụ: