Cách khắc phục groq.NotFoundError: Giải quyết lỗi 404 Model Not Found

beginner🧠 AI Tools2026-05-17| Python 3.8+, Groq Python SDK, Mọi hệ điều hành (Linux, macOS, Windows)

Error Message

groq.NotFoundError: Error code: 404 - {'error': {'message': "The model '...' does not exist", 'type': 'invalid_request_error', 'code': 'model_not_found'}}
#groq#llm#api-error#python#llama3

TL;DR: Cách khắc phục nhanh

Lỗi này xuất hiện khi Groq API không nhận diện được chuỗi ký tự bạn đã truyền vào tham số model. Thông thường, đó chỉ là lỗi đánh máy hoặc sử dụng tên viết tắt như llama3 thay vì ID đầy đủ, chẳng hạn như llama-3.1-8b-instant.

Để khắc phục ngay lập tức, hãy cập nhật mã của bạn với một Model ID hợp lệ từ danh sách:

# Thay đổi dòng này:
completion = client.chat.completions.create(model="llama3", ...)

# Thành dòng này (ID Llama 3.1 hiện tại):
completion = client.chat.completions.create(model="llama-3.1-8b-instant", ...)

Tại sao lỗi này xảy ra?

Bạn thấy lỗi 404 trong console? Điều đó có nghĩa là API không thể tìm thấy tài nguyên cụ thể mà bạn đang yêu cầu. Không giống như một số nhà cung cấp khác tự động chuyển hướng tên ngắn sang phiên bản mới nhất, Groq yêu cầu chuỗi model chính xác. Đây là một vấn đề phổ biến, thường do ba nguyên nhân chính:

  • Thiếu hậu tố: Quên phiên bản hoặc cửa sổ ngữ cảnh (ví dụ: sử dụng mixtral-8x7b thay vì mixtral-8x7b-32768).
  • Model đã ngừng hỗ trợ: Cố gắng sử dụng một model cũ như llama3-8b-8192 sau khi nó đã được thay thế bởi dòng llama-3.1 hoặc 3.2.
  • Ký tự ẩn: Khoảng trắng thừa hoặc ký tự dòng mới trong tệp .env có thể làm hỏng yêu cầu.

Các bước khắc phục chi tiết

1. Liệt kê các Model đang hoạt động qua SDK

Đừng đoán tên model nữa. Bạn có thể lấy danh sách trực tiếp các model đang hoạt động từ Groq. Đây là cách đáng tin cậy nhất để xem những gì hiện đang được hỗ trợ trong khu vực của bạn.

from groq import Groq
import os

client = Groq(api_key=os.environ.get("GROQ_API_KEY"))

# Lấy danh sách tất cả các model hiện có
models = client.models.list()

print("Các Model ID hợp lệ hiện tại:")
for model in models.data:
    print(f"- {model.id}")

Chạy script này và sao chép chính xác chuỗi ký tự. Nếu llama-3.2-3b-preview có trong danh sách, hãy sử dụng chính xác văn bản đó.

2. Sử dụng các Model ID đã cập nhật

Tên model thay đổi khi Groq cập nhật cơ sở hạ tầng của mình. Hãy đảm bảo cấu hình của bạn khớp với các mẫu phổ biến được sử dụng vào cuối năm 2024:

  • Llama 3.1 8B: llama-3.1-8b-instant
  • Llama 3.1 70B: llama-3.1-70b-versatile
  • Llama 3.2 1B (Preview): llama-3.2-1b-preview
  • Mixtral 8x7b: mixtral-8x7b-32768

3. Làm sạch các biến môi trường

Nếu bạn tải tên model từ tệp .env, một khoảng trắng thừa ở cuối sẽ gây ra lỗi 404. Hãy sử dụng .strip() để làm sạch dữ liệu đầu vào trước khi đưa vào client.

import os
from groq import Groq

# Lấy từ môi trường với giá trị dự phòng
RAW_MODEL_NAME = os.getenv("GROQ_MODEL_NAME", "llama-3.1-8b-instant")

# Loại bỏ khoảng trắng ngoài ý muốn
CLEAN_MODEL_NAME = RAW_MODEL_NAME.strip()

client = Groq()
# Bây giờ sử dụng CLEAN_MODEL_NAME trong lệnh gọi API của bạn

Xác minh khắc phục lỗi

Chạy script tối giản này để xác nhận mọi thứ đang hoạt động. Nếu nó in ra phản hồi, cấu hình model của bạn đã ổn định.

from groq import Groq

client = Groq()

try:
    chat_completion = client.chat.completions.create(
        messages=[{"role": "user", "content": "Kiểm tra"}],
        model="llama-3.1-8b-instant",
    )
    print("Thành công! Đã tìm thấy model.")
except Exception as e:
    print(f"Vẫn thất bại: {e}")

Mẹo chuyên nghiệp cho môi trường Production

Đừng để việc một model ngừng hỗ trợ làm hỏng ứng dụng của bạn. Hãy định nghĩa các Model ID trong một tệp config.py trung tâm thay vì viết cứng (hardcoding) chúng trong nhiều tệp. Đối với các ứng dụng quan trọng, hãy bọc các lệnh gọi trong khối try-except. Việc bắt lỗi groq.NotFoundError cụ thể cho phép bạn ghi lại cảnh báo rõ ràng cho đội ngũ kỹ thuật để họ có thể cập nhật Model ID ngay lập tức.

Tài liệu tham khảo thêm

Related Error Notes