Cấu hình
Hướng dẫn cấu hình và thiết lập cho Qwen Image Edit
Cấu hình Qwen Image Edit
Tài liệu này trình bày chi tiết các tùy chọn cấu hình khác nhau có sẵn để thiết lập SDK Qwen Image Edit và client API. Nó bao gồm cả các kịch bản cấu hình ban đầu và nâng cao.
1. Cấu hình ban đầu
Để bắt đầu sử dụng client Qwen Image Edit, bạn cần cấu hình khóa API và khu vực của mình.
1.1. Biến môi trường
Bạn nên cung cấp khóa API và khu vực của mình thông qua các biến môi trường thay vì mã hóa cứng chúng trực tiếp trong mã. Điều này giúp tăng cường bảo mật thông tin đăng nhập của bạn và cho phép chuyển đổi dễ dàng giữa các môi trường khác nhau.
export QWEN_IMAGE_EDIT_API_KEY="your_api_key_here"
export QWEN_IMAGE_EDIT_REGION="your_region_here" # ví dụ: us-east-1, eu-west-1
1.2. Thiết lập client
Hầu hết các SDK cho phép bạn truyền khóa API và khu vực trực tiếp vào hàm tạo hoặc phương thức cấu hình.
// JavaScript/TypeScript
import QwenImageEdit from 'qwen-image-edit';
const client = new QwenImageEdit({
apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
region: process.env.QWEN_IMAGE_EDIT_REGION,
});
// Ví dụ sử dụng
async function editImage() {
try {
const result = await client.edit({
image: 'https://example.com/image.jpg',
prompt: 'Chỉnh sửa hình ảnh',
});
console.log('Hình ảnh đã chỉnh sửa:', result.edited_image_url);
} catch (error) {
console.error('Lỗi:', error);
}
}
editImage();
# Python
import os
from qwen_image_edit_sdk import QwenImageEdit
client = QwenImageEdit(
api_key=os.environ.get("QWEN_IMAGE_EDIT_API_KEY"),
region=os.environ.get("QWEN_IMAGE_EDIT_REGION")
)
# Ví dụ sử dụng
def edit_image():
try:
result = client.edit(
image='https://example.com/image.jpg',
prompt='Chỉnh sửa hình ảnh'
)
print(f"Hình ảnh đã chỉnh sửa: {result.edited_image_url}")
except Exception as e:
print(f"Lỗi: {e}")
edit_image()
2. Cấu hình nâng cao
Các tùy chọn cấu hình bổ sung có sẵn để tùy chỉnh thêm hành vi của SDK.
2.1. Thời gian chờ yêu cầu
Đặt thời gian tối đa để chờ các lệnh gọi API hoàn thành.
// JavaScript/TypeScript
const client = new QwenImageEdit({
apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
region: process.env.QWEN_IMAGE_EDIT_REGION,
timeout: 30000, // 30 giây
});
2.2. Cơ chế thử lại
Cấu hình để tự động thử lại các yêu cầu không thành công trong trường hợp sự cố mạng tạm thời hoặc giới hạn tốc độ API.
// JavaScript/TypeScript
const client = new QwenImageEdit({
apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
region: process.env.QWEN_IMAGE_EDIT_REGION,
maxRetries: 5, // Tối đa 5 lần thử lại
retryDelay: 1000, // Độ trễ 1 giây cho lần thử lại đầu tiên (tăng theo cấp số nhân)
});
2.3. Bộ nhớ đệm
Bật các chiến lược bộ nhớ đệm để cải thiện hiệu suất cho các lệnh gọi API lặp lại.
// JavaScript/TypeScript (Ví dụ cấu hình bộ nhớ đệm)
const client = new QwenImageEdit({
apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
region: process.env.QWEN_IMAGE_EDIT_REGION,
cache: {
enabled: true,
ttl: 3600, // Thời gian tồn tại của bộ nhớ đệm 1 giờ
store: 'memory', // hoặc các bộ lưu trữ khác như 'redis', 'filesystem'
},
});
2.4. Cài đặt proxy
Nếu bạn cần định tuyến các yêu cầu thông qua máy chủ proxy:
// JavaScript/TypeScript
const client = new QwenImageEdit({
apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
region: process.env.QWEN_IMAGE_EDIT_REGION,
proxy: 'http://your.proxy.com:8080',
});
2.5. Cấu hình dành riêng cho môi trường
Xác định các cấu hình khác nhau cho các môi trường khác nhau như phát triển, dàn dựng và sản xuất.
// JavaScript/TypeScript
const config = {
development: {
apiKey: process.env.DEV_QWEN_API_KEY,
region: 'us-east-1',
logging: true,
},
production: {
apiKey: process.env.PROD_QWEN_API_KEY,
region: 'eu-west-1',
maxRetries: 10,
},
};
const environment = process.env.NODE_ENV || 'development';
const client = new QwenImageEdit(config[environment]);
2.6. Ghi nhật ký
Cấu hình hành vi ghi nhật ký của SDK. Điều này hữu ích cho việc gỡ lỗi và giám sát.
// JavaScript/TypeScript
const client = new QwenImageEdit({
apiKey: process.env.QWEN_IMAGE_EDIT_API_KEY,
region: process.env.QWEN_IMAGE_EDIT_REGION,
logging: {
level: 'debug', // Có thể là 'info', 'warn', 'error'
// customLogger: myCustomLoggerFunction // Cung cấp hàm ghi nhật ký tùy chỉnh của riêng bạn
},
});
3. Các phương pháp hay nhất về bảo mật
- Giữ an toàn khóa API: Không bao giờ đưa khóa API của bạn vào mã phía client hoặc kiểm soát phiên bản. Sử dụng các biến môi trường hoặc dịch vụ quản lý bí mật an toàn.
- Sử dụng HTTPS: Đảm bảo rằng HTTPS được sử dụng cho tất cả các giao tiếp API.
4. Mẹo hiệu suất
- Tối ưu hóa kích thước hình ảnh: Nén hoặc thay đổi kích thước hình ảnh thành kích thước và định dạng phù hợp trước khi gửi chúng đến API. Điều này làm giảm thời gian tải lên và chi phí xử lý.
- Sử dụng xử lý hàng loạt: Khi có thể, hãy nhóm nhiều yêu cầu chỉnh sửa thành một hoạt động hàng loạt duy nhất.
5. Công cụ giám sát và phát triển
- Giám sát việc sử dụng API: Sử dụng bảng điều khiển Qwen Image Edit để giám sát việc sử dụng API của bạn và đảm bảo bạn không vượt quá giới hạn hạn ngạch của mình.
- Gỡ lỗi: Gỡ lỗi các vấn đề bằng cách sử dụng các tính năng ghi nhật ký của SDK hoặc kiểm tra các phản hồi API.
6. Các phương pháp hay nhất chung
- Xử lý lỗi: Triển khai xử lý lỗi mạnh mẽ trong ứng dụng của bạn. Cung cấp phản hồi có ý nghĩa cho người dùng khi các lệnh gọi API không thành công.
- Xử lý không đồng bộ: Đối với các hoạt động chỉnh sửa hình ảnh chạy dài, hãy sử dụng các lệnh gọi API không đồng bộ và sử dụng webhook hoặc thăm dò trạng thái công việc để xử lý các phản hồi.