ChatGPT

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

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 suấtNhanh hơn và chính xác hơnChậm hơn và ít chính xác hơn
Khả năng tạo văn bảnSá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ẫnCó thể hiểu và thực hiện các hướng dẫn phức tạp hơnCó thể hiểu và thực hiện các hướng dẫn đơn giản
Hỗ trợ JSON modeKhông
Hỗ trợ parallel function callingKhông
Cải thiện khả năng truy xuất thông tinKhô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

Để 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!

Bài viết liên quan

Back to top button