Dùng OpenAI Responses API gửi yêu cầu AI đầu tiên bằng Python và kiểm tra kết quả

Dùng OpenAI Responses API gửi yêu cầu AI đầu tiên bằng Python và kiểm tra kết quả

Bạn muốn một chương trình Python gửi yêu cầu cho AI và in câu trả lời, nhưng chưa biết bắt đầu từ đâu? Bài này giúp bạn tạo lần gọi Responses API đầu tiên, nhìn được văn bản trả về và số token đã dùng. Nếu đã cài Python và có quyền tạo khóa API, bạn có thể làm bản thử trong khoảng 20 phút. Sau đó hãy kiểm tra kết quả trên một ví dụ nhỏ trước khi đưa vào ứng dụng thật.

Responses API là cách ứng dụng của bạn gửi đầu vào đến mô hình OpenAI và nhận phản hồi. Nó khác với việc gõ trực tiếp trong giao diện ChatGPT: ở đây chương trình của bạn chủ động gọi API bằng một khóa riêng. Hướng dẫn bắt đầu chính thức của OpenAI dùng thư viện Python openai, phương thức client.responses.create và response.output_text. Bài này đi chậm hơn ví dụ đó để người mới hiểu từng bước.

🧰 Chuẩn bị

Bạn cần Python có pip, một terminal và tài khoản có quyền dùng OpenAI API Platform. Tạo khóa API trong trang quản lý của chính bạn. Quyền truy cập mô hình, hạn mức và chi phí có thể thay đổi theo tài khoản hoặc dự án, nên kiểm tra trong bảng điều khiển trước khi chạy thử. Để giới hạn rủi ro chi phí, đặt cảnh báo và mức chi tiêu phù hợp cho dự án. Tài liệu vận hành của OpenAI giải thích cách giữ khóa an toàn và theo dõi chi tiêu.

Đừng dán khóa vào bài đăng, ảnh chụp màn hình, tệp mã nguồn hoặc câu hỏi gửi cho trợ lý AI. Ở máy cá nhân, đặt khóa trong biến môi trường. Khi làm ứng dụng cho người khác, giữ khóa ở phía máy chủ hoặc nơi quản lý bí mật của dự án. Trình duyệt của khách truy cập không được nhận khóa.

Chuẩn bị một câu hỏi có đáp án bạn tự kiểm tra được. Ví dụ trong bài dùng một đoạn thông báo nội bộ giả để thử tóm tắt. Nếu bạn chưa rõ cách viết yêu cầu, hãy xem hướng dẫn viết prompt cho người mới. Nếu bạn mới làm ứng dụng với AI, bài nhập môn vibe coding giúp bạn hiểu vì sao phải chạy thử từng phần nhỏ.

🪜 Làm từng bước

1. Tạo thư mục thử và cài thư viện

Mở terminal trong một thư mục mới. Tạo môi trường Python riêng nếu bạn đã quen cách làm này, rồi cài thư viện chính thức:

python3 -m pip install openai

Trên một số máy, lệnh gọi Python là python thay cho python3. Sau khi cài, thử python3 -m pip show openai để chắc thư viện nằm trong đúng môi trường sẽ chạy tệp.

2. Đặt khóa trong biến môi trường

Trên macOS hoặc Linux, nhập lệnh sau trong cùng cửa sổ terminal mà bạn sẽ chạy Python. Thay phần trong ngoặc vuông bằng khóa thật của bạn:

export OPENAI_API_KEY="[khóa API của bạn]"

Trên PowerShell, dùng $env:OPENAI_API_KEY = "[khóa API của bạn]" cho phiên đang mở. Đừng lưu dòng chứa khóa thật vào Git. Theo quickstart của OpenAI, thư viện tự đọc OPENAI_API_KEY từ môi trường. Nếu bạn đóng terminal và mở lại, biến đặt cho phiên cũ có thể không còn; hãy cấu hình cách lưu bí mật phù hợp với máy hoặc dự án, không đưa khóa vào tệp sẽ công khai.

3. Viết một yêu cầu nhỏ bằng Python

Tạo tệp first_response.py. Đoạn mã dưới đây gửi một thông báo giả, yêu cầu tóm tắt bằng hai câu và in văn bản AI trả về. Model ID gpt-6-astra theo ví dụ Python trong tài liệu chính thức. Nếu dự án của bạn không có quyền dùng mô hình đó, mở danh mục mô hình trong API Platform và thay bằng model ID mà tài khoản được phép sử dụng.

from openai import OpenAI

client = OpenAI()

source_text = (
    "Nhóm hỗ trợ sẽ họp vào thứ Sáu lúc 9 giờ. "
    "Mỗi thành viên gửi ba vấn đề khách gặp nhiều nhất trước thứ Năm. "
    "Trưởng nhóm sẽ chốt hai việc cần sửa trong tuần sau."
)

response = client.responses.create(
    model="gpt-6-astra",
    input=(
        "Tóm tắt thông báo sau bằng đúng hai câu tiếng Việt. "
        "Chỉ dùng chi tiết có trong thông báo, không tự thêm người hoặc ngày: "
        + source_text
    ),
)

print(response.output_text)

if response.usage is not None:
    print("Token đầu vào:", response.usage.input_tokens)
    print("Token đầu ra:", response.usage.output_tokens)

Ở đây, OpenAI() tạo đối tượng để gọi API. responses.create nhận tên mô hình và nội dung đầu vào. output_text là cách tiện để lấy phần văn bản mà thư viện gom từ phản hồi. Tài liệu tạo văn bản của OpenAI lưu ý không nên tự giả định văn bản luôn nằm ở phần tử đầu tiên của response.output, vì phản hồi có thể có nhiều mục khác nhau.

Trường usage cho biết lượng token được ghi nhận. Token là đơn vị hệ thống dùng để đếm đầu vào và đầu ra; chúng không bằng số từ hiển thị trên màn hình. Hướng dẫn đếm token của OpenAI giải thích rằng token đầu ra có thể bao gồm phần không nhìn thấy trong câu trả lời. Nếu bạn muốn hiểu khái niệm trước khi xem hóa đơn, đọc bài giải thích token.

4. Chạy tệp và tự đối chiếu

Trong terminal đã đặt khóa, chạy:

python3 first_response.py

Bạn nên thấy một đoạn tóm tắt hai câu và hai con số token. Đừng coi nội dung minh họa trong bài là kết quả chắc chắn trên máy bạn: cách diễn đạt có thể khác giữa các lần gọi hoặc mô hình. Tự đối chiếu ba điểm: buổi họp có đúng thứ Sáu lúc 9 giờ, hạn gửi thông tin có đúng trước thứ Năm, và quyết định cuối cùng có đúng là chọn hai việc sửa trong tuần sau không.

Nếu câu trả lời bịa một ngày cụ thể, tên người hay kết quả cuộc họp, hãy xem đó là lỗi cần sửa. Đầu tiên làm đầu vào rõ hơn. Sau đó yêu cầu trích đúng câu gốc cho từng ý quan trọng. Với dữ liệu công việc thật, người phụ trách vẫn phải duyệt trước khi gửi cho khách hoặc đưa vào báo cáo.

5. Kiểm tra lỗi phổ biến trước khi mở rộng

Nếu terminal báo không tìm thấy openai, hãy kiểm tra pip và Python có cùng môi trường không. Nếu báo thiếu khóa, xem OPENAI_API_KEY đã được đặt trong đúng terminal hay chưa. Nếu API báo không có quyền truy cập mô hình, kiểm tra model ID và quyền của dự án trong bảng điều khiển, đừng đoán một tên mô hình khác. Lỗi hạn mức hoặc thanh toán cần được xử lý ở dự án API; chạy lại liên tục không giúp mở quyền.

Khi bản thử nhỏ hoạt động, hãy ghi lại câu đầu vào, model ID, kết quả mong đợi, phản hồi thực tế và số token. Bộ năm thông tin này giúp bạn thấy thay đổi nào làm kết quả tốt lên hoặc tệ đi. Trước khi đặt API sau một nút bấm công khai, thêm kiểm soát lỗi, giới hạn chi tiêu, kiểm tra dữ liệu riêng tư và thử với vài ví dụ khó hơn. Hướng dẫn đưa ứng dụng vào vận hành là điểm bắt đầu cho bước đó.

✅ Kết quả mẫu

Với thông báo giả ở trên, một câu trả lời hợp lệ có thể là: “Nhóm hỗ trợ họp vào thứ Sáu lúc 9 giờ, sau khi mỗi thành viên gửi ba vấn đề khách gặp nhiều nhất trước thứ Năm. Trưởng nhóm sẽ chọn hai việc cần sửa trong tuần sau.” Đây chỉ là ví dụ minh họa do bài viết soạn, không phải phản hồi đã chạy từ API. Điều cần kiểm chứng là chương trình nhận được văn bản, không thêm dữ kiện ngoài nguồn và in được số token khi phản hồi có usage.

Thử thay thông báo bằng một đoạn khác. Nếu mô hình thêm ý mới, đối chiếu với đoạn gốc. Đầu ra AI luôn cần tiêu chí kiểm tra.

💡 Mẹo để kết quả tốt hơn

Bắt đầu từ một việc có đáp án. Tóm tắt một đoạn ngắn dễ kiểm tra hơn yêu cầu “viết chiến lược công ty”. Khi bản thử chính xác, tăng độ dài và độ khó từ từ.

Tách dữ liệu nguồn khỏi chỉ dẫn. Ghi rõ phần nào là thông báo cần tóm tắt và phần nào là yêu cầu của bạn. Nếu đầu vào chứa lời chỉ dẫn của người khác, đừng mặc nhiên để những lời đó đổi nhiệm vụ của ứng dụng.

Theo dõi chi phí bằng số liệu thật. usage của một phản hồi giúp bạn ước lượng quy mô; chi phí phụ thuộc mô hình và bảng giá đang áp dụng. Kiểm tra số liệu trong API Platform thay vì nhân một ví dụ duy nhất thành dự báo cho cả tháng.

⚠️ Giới hạn cần biết

Mã mẫu chỉ minh họa một lời gọi văn bản. Nó chưa có xử lý ngoại lệ, giới hạn số yêu cầu, lưu lịch sử, kiểm soát người dùng hay cơ chế bảo vệ dữ liệu cho sản phẩm thật. Không đặt khóa trong ứng dụng chạy ở trình duyệt hay phần mã được gửi cho khách. Không đưa tài liệu mật vào ví dụ công khai.

Một phản hồi HTTP thành công chứng minh yêu cầu đã được API xử lý, không chứng minh nội dung đúng. Mô hình có thể bỏ sót, hiểu sai hoặc viết một câu nghe hợp lý nhưng không có trong nguồn. Giữ bước đối chiếu của con người cho quyết định có hậu quả về tài chính, pháp lý, an toàn hoặc khách hàng.

❓ Câu hỏi thường gặp

Có cần biết lập trình nhiều mới thử được không? Không. Bạn chỉ cần tạo tệp Python, đặt biến môi trường và chạy lệnh. Nhưng trước khi đưa mã vào sản phẩm, cần người hiểu bảo mật và vận hành rà lại.

Có thể dán khóa API thẳng vào first_response.py cho nhanh không? Không nên. Tệp rất dễ bị đẩy lên Git hoặc chia sẻ nhầm. Dùng biến môi trường hoặc hệ thống quản lý bí mật của dự án.

Vì sao bài dùng output_text thay vì lấy output[0]? Phản hồi có thể chứa nhiều mục. Tài liệu OpenAI khuyên dùng thuộc tính tiện ích này khi muốn gom văn bản đầu ra, thay vì giả định vị trí cố định.

Số token có phải đúng bằng số chữ tôi nhìn thấy không? Không. Token là đơn vị đếm khác từ; token đầu ra có thể bao gồm phần không hiện trong câu trả lời. Xem trường usage và số liệu chi phí thực tế của dự án.

Nếu model ID trong ví dụ không dùng được thì sao? Kiểm tra danh sách mô hình và quyền của dự án API. Thay bằng một model ID được hỗ trợ trong tài khoản, rồi thử lại cùng đầu vào để so sánh kết quả.

#OpenAIAPI #ResponsesAPI #Python #VibeCoding #AIChoCongViec

Doanh nghiệp muốn giới thiệu sản phẩm AI tới bạn đọc Vibe AI Coder? Xem gói tài trợ

Bài viết liên quan