GPT-3.5-turbo-1106 là gì? Hướng dẫn bật JSON mode trong GPT-3.5-turbo-1106

01/02/2023

GPT-3.5-turbo-1106 là một trong những phiên bản mạnh mẽ và ổn định nhất của dòng mô hình ngôn ngữ GPT-3.5 do OpenAI phát triển. Không chỉ cải thiện hiệu suất và tốc độ phản hồi, phiên bản này còn hỗ trợ một tính năng quan trọng cho các lập trình viên: JSON mode – giúp kiểm soát định dạng đầu ra rõ ràng, chuẩn cấu trúc. Trong bài viết này, Tenten AI giải thích chi tiết GPT-3.5-turbo-1106 là gì? Cách bật JSON mode trong GPT-3.5-turbo-1106 và lý do tại sao tính năng này lại cực kỳ hữu ích.

GPT-3.5-turbo-1106 là gì ?

GPT-3.5-turbo-1106 là một mô hình ngôn ngữ lớn (LLM) được phát triển bởi OpenAI. Là phiên bản cập nhật của GPT-3.5-turbo, được phát hành vào tháng 10 năm 2023. GPT-3.5-turbo-1106 có một số cải tiến so với phiên bản trước, bao gồm:

  • Hiệu suất được cải thiện: GPT-3.5-turbo-1106 nhanh hơn và chính xác hơn GPT-3.5-turbo.
  • Khả năng tạo văn bản được cải thiện: GPT-3.5-turbo-1106 có thể tạo văn bản sáng tạo và hấp dẫn hơn GPT-3.5-turbo.
  • Khả năng theo dõi hướng dẫn được cải thiện: GPT-3.5-turbo-1106 có thể hiểu và thực hiện các hướng dẫn phức tạp hơn GPT-3.5-turbo.

Bài viết liên quan: GPT-3.5-turbo-0301 vs GPT-3.5-turbo-0613: Sự khác biệt giữa phiên bản GPT 3.5

So sánh GPT-3.5-turbo-1106 và GPT-3.5

Để hiểu rõ GPT-3.5-turbo-1106 là gì? Bạn cần so sánh chi tiết GPT-3.5-turbo-1106 và GPT-3.5

Hiệu suất Nhanh hơn và chính xác hơn Chậm hơn và ít chính xác hơn
Khả năng tạo văn bản Sáng tạo và hấp dẫn hơn Ít sáng tạo và hấp dẫn hơn
Khả năng theo dõi hướng dẫn Có thể hiểu và thực hiện các hướng dẫn phức tạp hơn Có thể hiểu và thực hiện các hướng dẫn đơn giản
Hỗ trợ JSON mode Không
Hỗ trợ parallel function calling Không
Cải thiện khả năng truy xuất thông tin Không

Một trong những cải tiến đáng chú ý nhất của GPT-3.5-turbo-1106 là hỗ trợ JSON mode. JSON mode cho phép mô hình tạo và hiểu các định dạng JSON. Điều này mở rộng khả năng của mô hình trong các ứng dụng như xử lý dữ liệu và tự động hóa.

Hướng dẫn bật JSON mode trong GPT-3.5-turbo-1106

Sau khi đã nắm rõ được GPT-3.5-turbo-1106 là gì, chúng ta sẽ đến với hướng dẫn bật JSON mode. Để sử dụng chế độ JSON mode, có thể sử dụng theo 2 cách.
1. Sử dụng trực tiếp trên ChatGPT UI.

2. Gọi thông qua API của ChatGPT.

Sử dụng JSON mode trên ChatGPT UI (Playground)

Bạn có thể truy cập trực tiếp tại đường dẫn sau: https://platform.openai.com/playground?mode=chat&model=gpt-3.5-turbo-1106

Cấu trúc phần user sẽ là: Give me the json for an object that represent (chủ đề).

Khi kết quả trả về đúng định dạng JSON, điều đó có nghĩa là đã bật được chế độ JSON mode.

Tuy nhiên, để giữ nguyên được cấu trúc cố định của 1 form JSON mà bạn đang cần thì sẽ phải kết hợp thêm cả Assistant và System.

Phần Assistant sẽ hỗ trợ định dạng format output của JSON sẽ như thế nào. Còn System và User sẽ đóng vai trò là gợi ý lời nhắc ra định dạng. Như ví dụ ảnh trên, chúng ta đã có 1 đoạn JSON cố định.

{
  "title": "Tên miền Tenten",
  "description": "Tên miền Tenten cung cấp các dịch vụ đăng ký tên miền và hosting với sự tin cậy và chất lượng cao."
}

Tuy nhiên, kết quả này không chắc chắn 100%. Assistant (trợ lý) bản chất sẽ dựa theo nội dung của User, nên khi viết đoạn trong Assistant thì hãy đảm bảo trong User cũng phải khai báo tương tự. Ví dụ thêm:

Sử dụng JSON mode qua API của OpenAI

Tương tự như sử dụng ở giao diện ChatGPT UI. ChatGPT cần dữ liệu ở định dạng tuân theo một lược đồ đáng tin cậy, nhất quán và có thể dự đoán được.

Lý tưởng nhất là bạn muốn phân tích phản hồi từ ChatGPT trong mã và làm điều gì đó hữu ích.

response = client.chat.completions.create(
  model="gpt-3.5-turbo-1106",
  timeout=10,
  response_format=
  { "type": "json_object" },
  messages=[
    {
      "role": "user",
      "content": f"""Give me the JSON for an object that represents about synopsis include (title and description about 20 words) the following introduction regarding {query}.
      Output string should be {language} language."""
    },
    {
      "role": "assistant",
      "content": """
      {"title":"string",
      "description":"string"}"""
    },
    {
      "role": "system",
      "content": "You are an assistant that generates JSON. You always return just the JSON with no additional description or context."
    }
  ],
  temperature=1,
  max_tokens=1000,
  top_p=1,
  frequency_penalty=0,
  presence_penalty=0
)
response1=f"{response.choices[0].message.content}"
print(response1)

Ta được kết quả trả về:

Ngoài ra, bạn có thể tham khảo đoạn sau.

/ Use the openai package from npm to call ChatGPT
import OpenAI from "openai";

// Create a new instance of the openai client with our API key
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });

// Call ChatGPT's completions endpoint and ask for some JSON
const gptResponse = await openai.chat.completions.create({
    model: "gpt-3.5-turbo",
    temperature: 1,
    messages: [
        {
            role: "user",
            content: "Give me the JSON for an object that represents a cat."
        }
    ],
});

// Attempt to read the response as JSON,
// Will most likely fail with a SyntaxError...
const json = JSON.parse(gptResponse.choices[0].message.content);

Nhưng điều này sẽ chỉ hoạt động nếu gptResponse.choices[0].message.contentJSON hợp lệ mọi lúc.

Vì vậy, có thể đưa ra sẵn định dạng JSON format với type:

type Cat = {
    name: string,
    colour: "brown" | "grey" | "black",
    age: number
}

// Read the response JSON and type it to our Cat object schema
const json = <Cat>JSON.parse(gptResponse.choices[0].message.content);

Tuy nhiên, không thể dựa vào ChatGPT để trả về JSON hợp lệ ở định dạng có thể dự đoán được. Có rất nhiều lỗi có thể gây ra lỗi cho app đang sử dụng, đặc biệt khi tính nhất quán là yếu tố then chốt.

Điều này trở thành một vấn đề thực sự khi bạn viết mã dựa vào phản hồi thời gian thực từ ChatGPT để kích hoạt các hành động hoặc cập nhật cụ thể.

Chúc các bạn thành công!

Chia sẻ lên

Hãy để TENTEN AI
đồng hành cùng bạn trong hành trình
chuyển đổi số.

Đăng ký để nhận tư vấn

Bộ phận kinh doanh: (8h00 - 17h30)
Customer Care Department:Bộ phận CSKH: (8h00 - 17h30)
Technical Support(24/7):Hỗ trợ kĩ thuật (24/7): (8h00 - 17h30)
Hỗ trợ hoá đơn: (8h00 - 17h30)
Hỗ trợ gia hạn (8h00 - 17h30)