# Genie API

Giao diện Genie cung cấp các API cấp cao viết bằng C giúp các nhà phát triển tập trung vào logic ứng dụng mà không cần phải quản lý tính phức tạp trong suy luận LLM. Giao diện này tinh giản quy trình làm việc của LLM bằng cách ẩn đi các hoạt động phức tạp như mã hóa kỹ thuật số, tạo hoạt động embedding, quản lý bộ đệm KV và lấy mẫu.

Sơ đồ dưới đây cho thấy các chức năng cấp cao được API của Genie xử lý nội bộ. Nhà phát triển ứng dụng có thể dùng API viết bằng C của Genie để đặt cấu hình từng thành phần theo nhu cầu ứng dụng LLM của họ.

> 
> 
> ![../../_images/genie-c-workflow.png](data:image/png;base64,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)

Các thành phần API viết bằng C của Genie bao gồm:

> 
> 
> - **GenieDialog**: Xử lý các tương tác hội thoại cấp cao cho mô hình AI tạo sinh.
> - **GenieEmbedding**: Quản lý hoạt động embedding cho văn bản đầu vào.
> - **GenieProfile**: Cung cấp khả năng lập hồ sơ để đo lường các chỉ số hiệu suất.
> - **GenieSampler**: Xử lý các hoạt động lấy mẫu cho văn bản được tạo.
> - **GenieEngine**: Công cụ cốt lõi để chạy các mô hình AI tạo sinh.

Sau đây là luồng lệnh gọi mà ứng dụng có thể dùng cho API của Genie.

![../../_images/genie-callflow1.png](data:image/png;base64,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)

## Ứng dụng trò chuyện mẫu của AI Hub

Qualcom AI Hub cung cấp một [ứng dụng trò chuyện mẫu](https://github.com/quic/ai-hub-apps/tree/main/apps/windows/cpp/ChatApp) minh họa cách dùng API của Genie.

Ứng dụng này minh họa luồng và các chức năng mà nhà phát triển cần xử lý để bao gồm những nội dung sau:

> 
> 
> 1. Tạo câu lệnh cụ thể của LLM bằng trình xử lý câu lệnh (ví dụ: mô hình Llama).
> 2. Tạo và gọi giao diện Genie Dialogue để truy vấn LLM.
> 3. Xử lý các mã thông báo được tạo trong hàm gọi lại (callback function).
> 4. Giải phóng tài nguyên khi kết thúc ứng dụng.

Các API sau được dùng trong ứng dụng này.

> 
> 
> - **GenieDialogConfig\_createFromJson**: Tạo đối tượng cấu hình hội thoại từ chuỗi JSON. Cấu hình này xác định các tham số và hành vi cho hệ thống hội thoại.
> - **GenieDialog\_create**: Khởi tạo phiên bản hội thoại mới bằng cấu hình đã tạo.
> - **GenieDialog\_query**: Gửi thông tin đầu vào của người dùng đến hệ thống hội thoại và lấy phản hồi.
> - **GenieDialog\_free**: Giải phóng tài nguyên được phân bổ cho phiên bản hội thoại, đảm bảo quản lý bộ nhớ hiệu quả.
> - **GenieDialogConfig\_free**: Giải phóng các tài nguyên được phân bổ cho đối tượng cấu hình hội thoại.

## Câu hỏi thường gặp

- **Genie hỗ trợ những backend nào?**

    - Genie hỗ trợ GenAiTransformer (CPU), GPU và NPU.
- **Tôi có thể lấy cấu hình Genie mẫu ở đâu?**

    - Bạn có thể tìm thấy các tệp cấu hình Genie mẫu [tại đây](https://github.com/quic/ai-hub-apps/tree/main/tutorials/llm_on_genie/configs/genie).
- **Làm cách nào để tạo cấu phần phần mềm NPU cho LLM?**

    - Bạn có thể tạo cấu phần phần mềm để chạy LLM trên NPU bằng hướng dẫn này trên AI Hub: [Hướng dẫn của AI Hub](https://github.com/quic/ai-hub-apps/tree/main/tutorials/llm_on_genie).
- **Genie hiện hỗ trợ những mô hình nào?**

    - Xem [Qualcomm® AI Hub](https://aihub.qualcomm.com/compute/models?searchTerm=llm) để biết các model được Qualcomm tối ưu hóa và xác thực.
- **Làm cách nào để đặt cấu hình các tham số lấy mẫu, bộ tách từ (tokenizer), v.v. của LLM?**

    - Bạn có thể đặt cấu hình tham số lấy mẫu, bộ tách từ và các tham số khác thông qua tệp cấu hình Genie.
- **Kiểm tra cách dùng T2E với Genie cho LLM**

    - [Generative AI Inference Engine](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-100/genie-t2e-run.html)

Last Published: Dec 16, 2025

[Previous Topic
Genie NPU](https://docs.qualcomm.com/bundle/publicresource/80-62010-1VI/topics/genie-npu.md) [Next Topic
ORT GenAI](https://docs.qualcomm.com/bundle/publicresource/80-62010-1VI/topics/oga.md)