Làm cách nào tích hợp Openai vào ứng dụng web của bạn (phần 5)

Xử li các lỗi và trường hợp bên lề

Không tích hợp nào là hoàn chỉnh mà không có xử lí lỗi đúng đắn. Hãy thêm một vài xử lí lỗi cơ bản tới lời gọi
API của chúng ta.

async function generateText(prompt) {

try {
const response = await openai.createCompletion({
model: ‘text-davinci-003’,
prompt: prompt,
temperature: 0.7,
max_tokens: 256,
});
if (response.data.choices.length === 0) {
throw new Error(‘No text generated’);
}
return response.data.choices[0].text;
} catch (error) {
console.error(‘Error generating text:’, error);
throw error;
}
}

Trong code cập nhật này, chúng ta check liệu trả lời có chứa text được khởi tạo nào. Nếu không, chúng ta ném ra
một lỗi. Cái này đảm bảo rằng app của chúng ta xử lí các trường hợp nơi lời gọi API thất bại hay trả về các kết
quả không mong đợi.

Tối ưu hóa hiệu suất

Hiệu suất là then chốt, đặc biệt khi làm việc với các lời gọi API. Hãy tối ưu hóa app của chúng ta để xử lí
nhiều yêu cầu hiệu quả.
Một cách để làm cái này là bằng cách thực hiện một cơ chế debouncing. Cái này đảm bảo rằng lời gọi API được
thực hiện chỉ sau người dùng dừng gõ trong một thời gian nhất định.

import { debounce } from ‘lodash’;

const debouncedGenerateText = debounce(generateText, 500);

const handleSubmit = async (e) => {
e.preventDefault();
try {
const text = await debouncedGenerateText(prompt);
setResponse(text);
} catch (error) {
console.error(‘Error:’, error);
}
};

Trong code này, chúng ta sử dụng hàm debounce của thư viện lodash để trì hoãn lời gọi API theo 500 milliseconds.
Cái này giúp giảm só lời gọi API và cải thiện hiệu suất.

Chia sẻ