Lợi nhuận:
- Khả năng thiết lập kiến trúc LLM đám mây an toàn không giữ khóa API trên máy khách mà đi qua proxy phụ trợ
- Khả năng viết các tích hợp mạnh mẽ giúp tăng tốc độ cảm nhận khi phát trực tuyến và xử lý nhẹ nhàng các tình huống như hết thời gian chờ, lỗi mạng và giới hạn tốc độ
- Khả năng giảm chi phí bằng cách rút ngắn mã thông báo được gửi và đặt câu hỏi về sự cần thiết của dữ liệu cá nhân trước khi nó chuyển sang đám mây
AI trên thiết bị mạnh mẽ nhưng còn hạn chế. Khi bạn muốn thêm một “trợ lý trò chuyện thông minh” thực sự, tóm tắt văn bản dài hoặc sản xuất nội dung phức tạp vào một ứng dụng, bạn cần những mẫu quá lớn để vừa với điện thoại. Đây là lúc AI đám mây phát huy tác dụng: ứng dụng của bạn kết nối với mô hình ngôn ngữ lớn (LLM) thông qua API (Giao diện lập trình ứng dụng – giao diện tiêu chuẩn nơi hai phần mềm gửi và nhận dữ liệu với nhau). Trong phần này, chúng ta sẽ tìm hiểu cách tích hợp LLM đám mây vào ứng dụng di động một cách an toàn, nhanh chóng và tiết kiệm chi phí. Điểm nhấn quan trọng sẽ là bảo mật: tích hợp LLM được cài đặt không chính xác có thể làm rò rỉ khóa API của bạn và dẫn đến các hóa đơn trị giá hàng nghìn bảng Anh.
Nguyên tắc vàng của kiến trúc: giữ chìa khóa cho khách hàng
Sai lầm nguy hiểm nhất có thể mắc phải khi tích hợp AI trên đám mây là nhúng khóa API (mật khẩu bí mật cho phép sử dụng dịch vụ) trực tiếp vào mã ứng dụng di động. Các ứng dụng di động được tải xuống thiết bị của người dùng và mã có thể được đọc bằng kỹ thuật đảo ngược - phân tích ứng dụng đã biên dịch và xem nội dung bên trong nó. Nếu khóa của bạn nằm trong ứng dụng, ai đó có thể trích xuất nó và thực hiện các yêu cầu không giới hạn từ tài khoản của bạn.
Kiến trúc đúng là thế này: ứng dụng di động gửi yêu cầu đến máy chủ phụ trợ của riêng bạn (máy chủ proxy mà bạn kiểm soát); Chìa khóa chỉ nằm trên máy chủ; Máy chủ truy cập dịch vụ LLM và trả về phản hồi cho ứng dụng. Phần mềm trung gian này cũng cung cấp giới hạn tốc độ, ngăn chặn lạm dụng và kiểm soát chi phí.
Cách tiếp cận
chìa khóa ở đâu
Bảo mật
Chìa khóa nằm trong ứng dụng (FALSE)
Trong khách hàng, công cộng
Nó rò rỉ, hóa đơn nổ tung
Chìa khóa nằm ở phần phụ trợ (TRUE)
Trên máy chủ, ẩn
An toàn, có thể kiểm soát
Thận trọng: Khi bạn yêu cầu AI tích hợp LLM trên đám mây, nó có thể tạo ra một ví dụ ghi khóa trực tiếp vào mã ứng dụng để thuận tiện cho bạn. Đừng bao giờ xem trực tiếp điều này. Hãy nhớ thêm câu "Khóa API không nên có trên máy khách, hãy thông qua proxy phụ trợ" trong lời nhắc.
Truyền phát: tăng tốc độ cảm nhận
Các câu trả lời LLM có thể dài và mất vài giây để đưa ra toàn bộ. Để người dùng chờ đợi trên một màn hình trống là một trải nghiệm tồi tệ. Giải pháp là truyền trực tuyến - hiển thị từng câu trả lời khi nó được tạo. Người dùng theo dõi chính tả của văn bản, như trong ChatGPT; điều này làm tăng đáng kể tốc độ nhận thức và sự trôi chảy. Luồng trên thiết bị di động có nghĩa là thêm các phần (mã thông báo - đoạn văn bản do mô hình tạo ra) từ máy chủ vào giao diện khi chúng đến. Yêu cầu rõ ràng luồng khi in tích hợp với AI.
Mẹo: Thêm nút "tạm dừng" trong phản hồi phát trực tuyến. Người dùng có thể ngừng sản xuất khi nhận được câu trả lời mình muốn; Điều này vừa cải thiện trải nghiệm vừa giảm chi phí bằng cách cắt giảm việc tạo mã thông báo không cần thiết. Ở giữa câu trả lời dài, người dùng có thể đã tìm thấy câu trả lời của mình.
Quản lý chi phí, độ trễ và lỗi
Cloud LLM mang theo chi phí tiền (phí cho mỗi mã thông báo) và chi phí thời gian (độ trễ) với mỗi yêu cầu. Ba môn học là cần thiết. Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. Độ trễ: sử dụng phát trực tuyến, đặt thời gian chờ, thông báo cho người dùng nếu mạng chậm. Lỗi: mất mạng, dịch vụ có thể trả về 429 (quá nhiều yêu cầu) hoặc 500 (lỗi máy chủ); xử lý từng cái một cách nhẹ nhàng, đừng làm hỏng ứng dụng. Ngoài ra, LLM đôi khi đưa ra những câu trả lời vô nghĩa hoặc không chính xác (ảo giác); Thêm một lớp xác minh câu trả lời trong các lĩnh vực quan trọng.
ba trường hợp nhỏ
Trường hợp 1 - Chìa khóa bị rò rỉ. Một công ty khởi nghiệp đã nhúng khóa OpenAI trực tiếp vào ứng dụng React Native của mình để thoát ra nhanh chóng. Ba tuần sau khi ứng dụng được phát hành, khóa được thiết kế ngược và số tiền sử dụng trị giá 2.400 USD đã được thực hiện chỉ sau một đêm. Nhóm đã phải thu hồi khóa và thiết lập proxy phụ trợ. Bài học: Con đường tắt để thuận tiện đã trở thành con đường đắt đỏ nhất.
Trường hợp 2 - Tỷ lệ bỏ học giảm theo lưu lượng. Một ứng dụng giáo dục lần đầu tiên phát hành tính năng Hỏi đáp mà không cần phát trực tuyến; người dùng đã thoát sau 6 giây chờ đợi không hoạt động. Khi luồng được thêm vào, từ đầu tiên bắt đầu xuất hiện sau 0,8 giây và tỷ lệ bỏ qua giảm từ 48% xuống 12%. Cùng một mô hình, cùng tốc độ - chỉ khác nhau về cách trình bày.
Trường hợp 3 - Kiểm soát chi phí. Một ứng dụng đang gửi toàn bộ lịch sử trò chuyện đến mô hình cùng với mọi tin nhắn của người dùng; Trong các cuộc trò chuyện kéo dài, một yêu cầu đã đạt tới 8.000 mã thông báo, khiến chi phí tăng cao. Bằng cách chỉ gửi một vài tin nhắn cuối cùng và một bản tóm tắt, nhóm đã giảm 70% mã thông báo cho mỗi yêu cầu, giảm hóa đơn hàng tháng xuống còn một phần ba. Bài học: đo lường những gì bạn gửi.
Dấu nhắc yếu / Dấu nhắc mạnh
Lời nhắc yếu: "Thêm cuộc trò chuyện như ChatGPT vào ứng dụng của tôi."
Lời nhắc mạnh mẽ: "Thêm trợ lý trò chuyện vào ứng dụng iOS/Swift của tôi. Kiến trúc: ứng dụng gửi yêu cầu đến chương trình phụ trợ của riêng tôi, khóa API LLM KHÔNG có trên CLIENT, nó đi qua proxy. - Phản hồi phát trực tiếp, hiển thị từng chữ - Nút 'Dừng' làm gián đoạn quá trình sản xuất - Xử lý thời gian chờ, lỗi mạng, tình huống 429 và 500 một cách khéo léo - Rút ngắn lịch sử trò chuyện: gửi 6 tin nhắn cuối cùng + tóm tắt (kiểm soát chi phí)Giải thích sơ đồ kiến trúc trước, sau đó đưa ra mã máy khách và proxy riêng biệt."
Mẫu có thể sao chép
Mẫu kiến trúc bảo mật:"Thiết kế tích hợp LLM đám mây vào ứng dụng [nền tảng] của tôi. Quy tắc: Chỉ khóa API trong chương trình phụ trợ. Máy khách -> proxy của tôi -> LLM. Trong proxy: xác thực, giới hạn tốc độ cho mỗi người dùng, ghi nhật ký yêu cầu. Liệt kê riêng trách nhiệm của máy khách và proxy, sau đó xuất mã."
Mẫu phát trực tuyến: "Thêm phản hồi phát trực tuyến vào màn hình trò chuyện này:- Thêm đoạn mã vào bong bóng tin nhắn khi chúng đến- Hiển thị con trỏ/hoạt ảnh trong khi nhập- Có nút 'Dừng' để hủy luồng- Giữ nguyên một phần văn bản và cảnh báo nếu có lỗi trong khi luồng đang kết thúc[mã hiện có]"
Mẫu độ trễ chi phí:"Giảm chi phí và độ trễ trong tích hợp LLM này:- Làm cách nào để giảm mã thông báo được gửi (viết tắt lịch sử, tóm tắt)?- Trong trường hợp nào, mô hình nhỏ hơn/rẻ hơn là đủ?- Đề xuất chiến lược hết thời gian chờ và thử lại[code]"
Mẫu dung sai lỗi: "Làm cho cuộc gọi LLM này có khả năng linh hoạt:- Hành vi riêng biệt khi không có mạng, thời gian chờ, 429 (giới hạn tốc độ), 500 (máy chủ) - Thông báo phi kỹ thuật, lịch sự cho người dùng- Ghi chú xác minh chống lại nguy cơ ảo giác trong các câu trả lời quan trọng[code]"
Những lỗi thường gặp
- Nhúng khóa API vào ứng dụng. Lỗi bảo mật đắt tiền và phổ biến nhất; Chìa khóa chắc chắn nằm ở phía sau.
- Không sử dụng dòng chảy. Để người dùng chờ đợi câu trả lời dài sẽ khiến người dùng bỏ đi.
- Gửi toàn bộ lịch sử trò chuyện với mọi yêu cầu. Nó nhân chi phí mã thông báo và độ trễ.
- Bỏ qua các điều kiện lỗi. Nếu 429/500/thời gian chờ không được giải quyết, ứng dụng sẽ gặp sự cố hoặc bị treo.
- Coi câu trả lời LLM là chính xác mà không cần đặt câu hỏi. Ảo giác là có thật; Thêm lớp xác minh ở khu vực quan trọng.
- Gửi dữ liệu người dùng đến LLM không cần thiết. Hỏi xem dữ liệu cá nhân có cần thiết hay cần được che giấu trước khi chuyển lên đám mây.
Tóm lại
Cloud LLM mang đến những khả năng tuyệt vời không phù hợp trên thiết bị di động nhưng yêu cầu tính bảo mật và kỷ luật về chi phí. Nguyên tắc vàng: Khóa API không bao giờ có trên máy khách, nó đi qua proxy phụ trợ. Dòng chảy làm tăng đáng kể tốc độ cảm nhận và khả năng duy trì; Được hỗ trợ bởi nút "dừng". Chi phí được xác định bằng cách rút ngắn mã thông báo được gửi; Khả năng phục hồi đạt được bằng cách xử lý tất cả các trường hợp lỗi một cách khéo léo. Câu trả lời LLM có thể bao gồm ảo giác; Ở những khu vực quan trọng, việc xác minh là cần thiết và dữ liệu cá nhân được xem xét trước khi gửi lên đám mây.
Nhiệm vụ ứng dụng
Yêu cầu thiết kế proxy ứng dụng khách + phụ trợ từ AI bằng cách sử dụng “Mẫu kiến trúc bảo mật” cho tính năng “tóm tắt văn bản” hoặc “trò chuyện”. Xác minh rằng khóa API chỉ nằm ở phần phụ trợ trong thiết kế đã tạo. Sau đó trích xuất ít nhất hai cách để giảm mã thông báo được gửi với "Mẫu độ trễ chi phí" và viết thông báo lịch sự để hiển thị cho người dùng về tình trạng lỗi (ví dụ: 429).
danh sách kiểm tra
- [ ] Tôi đã xác minh rằng khóa API nằm ở phần phụ trợ chứ không phải trên máy khách
- [ ] Tôi đã truyền phát phản hồi và thêm nút 'tạm dừng'
- [ ] Tôi đã xử lý thời gian chờ, lỗi mạng, tình huống 429 và 500
- [ ] Tôi đã giảm mã thông báo đã gửi bằng chữ viết tắt/tóm tắt trước đây
- [ ] Tôi đã cân nhắc việc xác nhận nguy cơ ảo giác trong câu trả lời LLM
- [ ] Tôi đã kiểm tra sự cần thiết/che giấu dữ liệu cá nhân trước khi chuyển sang đám mây