Trí thông minh dữ liệu Plato.
Tìm kiếm dọc & Ai.

Nâng cao AI đàm thoại bằng kỹ thuật định tuyến nâng cao với Amazon Bedrock | Dịch vụ web của Amazon

Ngày:

Trợ lý trí tuệ nhân tạo (AI) đàm thoại được thiết kế để cung cấp phản hồi chính xác, theo thời gian thực thông qua định tuyến truy vấn thông minh đến các chức năng AI phù hợp nhất. Với các dịch vụ AI tổng hợp của AWS như nền tảng Amazon, các nhà phát triển có thể tạo ra các hệ thống quản lý và đáp ứng yêu cầu của người dùng một cách thành thạo. Amazon Bedrock là một dịch vụ được quản lý toàn phần cung cấp nhiều lựa chọn mô hình nền tảng (FM) hiệu suất cao từ các công ty AI hàng đầu như AI21 Labs, Anthropic, Cohere, Meta, Stability AI và Amazon bằng cách sử dụng một API duy nhất, cùng với một loạt các các khả năng bạn cần để xây dựng các ứng dụng AI tổng quát có tính bảo mật, quyền riêng tư và AI có trách nhiệm.

Bài đăng này đánh giá hai cách tiếp cận chính để phát triển trợ lý AI: sử dụng các dịch vụ được quản lý như Đại lý cho Amazon Bedrockvà sử dụng các công nghệ nguồn mở như LangChain. Chúng tôi khám phá những lợi thế và thách thức của từng loại, vì vậy bạn có thể chọn con đường phù hợp nhất cho nhu cầu của mình.

Trợ lý AI là gì?

Trợ lý AI là một hệ thống thông minh có thể hiểu các truy vấn ngôn ngữ tự nhiên và tương tác với nhiều công cụ, nguồn dữ liệu và API khác nhau để thực hiện các tác vụ hoặc truy xuất thông tin thay mặt cho người dùng. Trợ lý AI hiệu quả sở hữu các khả năng chính sau:

  • Xử lý ngôn ngữ tự nhiên (NLP) và luồng đàm thoại
  • Tích hợp cơ sở kiến ​​thức và tìm kiếm ngữ nghĩa để hiểu và truy xuất thông tin liên quan dựa trên các sắc thái của bối cảnh hội thoại
  • Chạy các tác vụ, chẳng hạn như truy vấn cơ sở dữ liệu và tùy chỉnh AWS Lambda chức năng
  • Xử lý các cuộc hội thoại chuyên biệt và yêu cầu của người dùng

Chúng tôi chứng minh lợi ích của trợ lý AI bằng cách sử dụng tính năng quản lý thiết bị Internet of Things (IoT) làm ví dụ. Trong trường hợp sử dụng này, AI có thể giúp kỹ thuật viên quản lý máy móc hiệu quả bằng các lệnh tìm nạp dữ liệu hoặc tự động hóa các tác vụ, hợp lý hóa các hoạt động trong sản xuất.

Đại lý cho phương pháp tiếp cận Amazon Bedrock

Đại lý cho Amazon Bedrock cho phép bạn xây dựng các ứng dụng AI tổng quát có thể chạy các tác vụ gồm nhiều bước trên các hệ thống và nguồn dữ liệu của công ty. Nó cung cấp các khả năng chính sau:

  • Tự động tạo lời nhắc từ hướng dẫn, chi tiết API và thông tin nguồn dữ liệu, tiết kiệm hàng tuần nỗ lực kỹ thuật nhanh chóng
  • Truy xuất thế hệ tăng cường (RAG) để kết nối an toàn các đại lý với nguồn dữ liệu của công ty và cung cấp các phản hồi có liên quan
  • Điều phối và chạy các tác vụ nhiều bước bằng cách chia nhỏ các yêu cầu thành các chuỗi logic và gọi các API cần thiết
  • Khả năng hiển thị lý luận của tác nhân thông qua dấu vết chuỗi suy nghĩ (CoT), cho phép khắc phục sự cố và điều khiển hành vi của mô hình
  • Khả năng kỹ thuật nhắc nhở để sửa đổi mẫu lời nhắc được tạo tự động để tăng cường kiểm soát các tác nhân

Bạn có thể sử dụng Đại lý cho Amazon Bedrock và Cơ sở kiến ​​thức về Amazon Bedrock để xây dựng và triển khai trợ lý AI cho các trường hợp sử dụng định tuyến phức tạp. Chúng mang lại lợi thế chiến lược cho các nhà phát triển và tổ chức bằng cách đơn giản hóa việc quản lý cơ sở hạ tầng, nâng cao khả năng mở rộng, cải thiện bảo mật và giảm bớt khối lượng công việc nặng nhọc không phân biệt. Chúng cũng cho phép mã lớp ứng dụng đơn giản hơn vì logic định tuyến, vector hóa và bộ nhớ được quản lý hoàn toàn.

Tổng quan về giải pháp

Giải pháp này giới thiệu trợ lý AI đàm thoại được thiết kế riêng cho hoạt động quản lý và vận hành thiết bị IoT khi sử dụng Claude v2.1 của Anthropic trên Amazon Bedrock. Chức năng cốt lõi của trợ lý AI được điều chỉnh bởi một bộ hướng dẫn toàn diện, được gọi là lời nhắc hệ thống, trong đó mô tả khả năng và lĩnh vực chuyên môn của nó. Hướng dẫn này đảm bảo trợ lý AI có thể xử lý nhiều tác vụ khác nhau, từ quản lý thông tin thiết bị đến chạy các lệnh vận hành.

"""The following is the system prompt that outlines the full scope of the AI assistant's capabilities:
You are an IoT Ops agent that handles the following activities:
- Looking up IoT device information
- Checking IoT operating metrics (historical data)
- Performing actions on a device-by-device ID
- Answering general questions
You can check device information (Device ID, Features, Technical Specifications, Installation Guide, Maintenance and Troubleshooting, Safety Guidelines, Warranty, and Support) from the "IotDeviceSpecs" knowledge base.
Additionally, you can access device historical data or device metrics. The device metrics are stored in an Athena DB named "iot_ops_glue_db" in a table named "iot_device_metrics". 
The table schema includes fields for oil level, temperature, pressure, received_at timestamp, and device_id.
The available actions you can perform on the devices include start, shutdown, and reboot."""

Được trang bị những khả năng này, như được nêu chi tiết trong lời nhắc của hệ thống, trợ lý AI tuân theo quy trình làm việc có cấu trúc để giải quyết các câu hỏi của người dùng. Hình sau đây trình bày trực quan về quy trình công việc này, minh họa từng bước từ tương tác ban đầu của người dùng đến phản hồi cuối cùng.

trình bày trực quan về quy trình làm việc này, minh họa từng bước từ tương tác ban đầu của người dùng đến phản hồi cuối cùng.

Quy trình làm việc bao gồm các bước sau:

  1. Quá trình bắt đầu khi người dùng yêu cầu trợ lý thực hiện một nhiệm vụ; ví dụ: yêu cầu điểm dữ liệu tối đa cho một thiết bị IoT cụ thể device_xxx. Kiểu nhập văn bản này được ghi lại và gửi đến trợ lý AI.
  2. Trợ lý AI diễn giải văn bản nhập của người dùng. Nó sử dụng lịch sử hội thoại, nhóm hành động và cơ sở kiến ​​thức được cung cấp để hiểu ngữ cảnh và xác định các nhiệm vụ cần thiết.
  3. Sau khi phân tích cú pháp và hiểu ý định của người dùng, trợ lý AI sẽ xác định các nhiệm vụ. Điều này dựa trên các hướng dẫn được trợ lý diễn giải theo lời nhắc của hệ thống và thông tin đầu vào của người dùng.
  4. Sau đó, các tác vụ sẽ được chạy thông qua một loạt lệnh gọi API. Việc này được thực hiện bằng cách sử dụng Phản ứng nhắc nhở, chia nhiệm vụ thành một loạt các bước được xử lý tuần tự:
    1. Để kiểm tra số liệu thiết bị, chúng tôi sử dụng check-device-metrics nhóm hành động, bao gồm lệnh gọi API tới các hàm Lambda sau đó truy vấn amazon Athena cho dữ liệu được yêu cầu.
    2. Đối với các hành động trực tiếp trên thiết bị như bắt đầu, dừng hoặc khởi động lại, chúng tôi sử dụng action-on-device nhóm hành động gọi hàm Lambda. Chức năng này bắt đầu một quá trình gửi lệnh đến thiết bị IoT. Đối với bài đăng này, hàm Lambda gửi thông báo bằng cách sử dụng Dịch vụ Email Đơn giản của Amazon (SES của Amazon).
    3. Chúng tôi sử dụng Cơ sở Kiến thức cho Amazon Bedrock để tìm nạp từ dữ liệu lịch sử được lưu trữ dưới dạng phần nhúng trong Dịch vụ Tìm kiếm Mở của Amazon cơ sở dữ liệu vectơ.
  5. Sau khi hoàn thành nhiệm vụ, phản hồi cuối cùng sẽ được Amazon Bedrock FM tạo ra và truyền lại cho người dùng.
  6. Tổng đài viên của Amazon Bedrock tự động lưu trữ thông tin bằng phiên có trạng thái để duy trì cùng một cuộc trò chuyện. Trạng thái sẽ bị xóa sau khi hết thời gian chờ không hoạt động có thể định cấu hình.

Tổng quan về kỹ thuật

Sơ đồ sau minh họa kiến ​​trúc để triển khai trợ lý AI với Đại lý cho Amazon Bedrock.

Sơ đồ kiến ​​trúc để triển khai trợ lý AI với Agents cho Amazon Bedrock.

Nó bao gồm các thành phần chính sau:

  • Giao diện đàm thoại – Giao diện đàm thoại sử dụng Streamlit, một thư viện Python nguồn mở giúp đơn giản hóa việc tạo các ứng dụng web tùy chỉnh, hấp dẫn về mặt hình ảnh cho máy học (ML) và khoa học dữ liệu. Nó được lưu trữ trên Dịch vụ container đàn hồi Amazon (Amazon ECS) với Cổng xa AWSvà được truy cập bằng Trình cân bằng tải ứng dụng. Bạn có thể sử dụng Fargate với Amazon ECS để chạy container mà không cần phải quản lý máy chủ, cụm hoặc máy ảo.
  • Đại lý cho Amazon Bedrock – Đại lý cho Amazon Bedrock hoàn thành các truy vấn của người dùng thông qua một loạt các bước suy luận và hành động tương ứng dựa trên Nhắc lại hành động:
    • Cơ sở kiến ​​thức về Amazon Bedrock – Cơ sở Kiến thức dành cho Amazon Bedrock cung cấp dịch vụ được quản lý hoàn toàn GIẺ để cung cấp cho trợ lý AI quyền truy cập vào dữ liệu của bạn. Trong trường hợp sử dụng của chúng tôi, chúng tôi đã tải thông số kỹ thuật của thiết bị lên một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Nó đóng vai trò là nguồn dữ liệu cho cơ sở tri thức.
    • Nhóm hành động – Đây là các lược đồ API được xác định có chức năng gọi các hàm Lambda cụ thể để tương tác với các thiết bị IoT và các dịch vụ AWS khác.
    • Nhân loại Claude v2.1 trên Amazon Bedrock – Mô hình này diễn giải các truy vấn của người dùng và sắp xếp luồng tác vụ.
    • Phần mềm nhúng Amazon Titan – Mô hình này đóng vai trò là mô hình nhúng văn bản, chuyển đổi văn bản ngôn ngữ tự nhiên—từ các từ đơn lẻ sang tài liệu phức tạp—thành các vectơ số. Điều này cho phép khả năng tìm kiếm vectơ, cho phép hệ thống khớp ngữ nghĩa các truy vấn của người dùng với các mục cơ sở kiến ​​thức phù hợp nhất để tìm kiếm hiệu quả.

Giải pháp này được tích hợp với các dịch vụ AWS như Lambda để chạy mã đáp lại lệnh gọi API, Athena để truy vấn tập dữ liệu, Dịch vụ OpenSearch để tìm kiếm thông qua cơ sở kiến ​​thức và Amazon S3 để lưu trữ. Các dịch vụ này phối hợp với nhau để mang lại trải nghiệm liền mạch cho việc quản lý vận hành thiết bị IoT thông qua các lệnh ngôn ngữ tự nhiên.

Lợi ích

Giải pháp này mang lại những lợi ích sau:

  • Độ phức tạp thực hiện:
    • Cần ít dòng mã hơn vì Tác nhân cho Amazon Bedrock loại bỏ phần lớn sự phức tạp cơ bản, làm giảm nỗ lực phát triển
    • Việc quản lý cơ sở dữ liệu vectơ như Dịch vụ OpenSearch được đơn giản hóa vì Cơ sở Kiến thức dành cho Amazon Bedrock xử lý việc vectơ hóa và lưu trữ
    • Việc tích hợp với nhiều dịch vụ AWS khác nhau được sắp xếp hợp lý hơn thông qua các nhóm hành động được xác định trước
  • Kinh nghiệm của nhà phát triển:
    • Bảng điều khiển Amazon Bedrock cung cấp giao diện thân thiện với người dùng để phát triển, thử nghiệm và phân tích nguyên nhân gốc rễ (RCA) nhanh chóng, nâng cao trải nghiệm tổng thể của nhà phát triển
  • Nhanh nhẹn và linh hoạt:
    • Đại lý cho Amazon Bedrock cho phép nâng cấp liền mạch lên các FM mới hơn (chẳng hạn như Claude 3.0) khi chúng có sẵn, nhờ đó giải pháp của bạn luôn cập nhật những tiến bộ mới nhất
    • Định mức và giới hạn dịch vụ do AWS quản lý, giúp giảm chi phí giám sát và mở rộng cơ sở hạ tầng
  • An ninh:
    • Amazon Bedrock là dịch vụ được quản lý toàn phần, tuân thủ các tiêu chuẩn tuân thủ và bảo mật nghiêm ngặt của AWS, có khả năng đơn giản hóa việc đánh giá bảo mật của tổ chức

Mặc dù Đại lý cho Amazon Bedrock cung cấp giải pháp hợp lý và được quản lý để xây dựng các ứng dụng AI đàm thoại nhưng một số tổ chức có thể thích cách tiếp cận nguồn mở hơn. Trong những trường hợp như vậy, bạn có thể sử dụng các khung như LangChain mà chúng tôi sẽ thảo luận trong phần tiếp theo.

Phương pháp định tuyến động LangChain

LangChain là một khung mã nguồn mở giúp đơn giản hóa việc xây dựng AI đàm thoại bằng cách cho phép tích hợp các mô hình ngôn ngữ lớn (LLM) và khả năng định tuyến động. Với Ngôn ngữ biểu thức LangChain (LCEL), các nhà phát triển có thể xác định định tuyến, cho phép bạn tạo các chuỗi không xác định trong đó đầu ra của bước trước xác định bước tiếp theo. Định tuyến giúp cung cấp cấu trúc và tính nhất quán trong tương tác với LLM.

Đối với bài đăng này, chúng tôi sử dụng ví dụ tương tự như trợ lý AI để quản lý thiết bị IoT. Tuy nhiên, điểm khác biệt chính là chúng ta cần xử lý các lời nhắc của hệ thống một cách riêng biệt và coi mỗi chuỗi là một thực thể riêng biệt. Chuỗi định tuyến quyết định chuỗi đích dựa trên đầu vào của người dùng. Quyết định được đưa ra với sự hỗ trợ của LLM bằng cách chuyển lời nhắc của hệ thống, lịch sử trò chuyện và câu hỏi của người dùng.

Tổng quan về giải pháp

Sơ đồ sau minh họa quy trình làm việc của giải pháp định tuyến động.

Quy trình làm việc của giải pháp định tuyến động với LangChain

Quy trình làm việc bao gồm các bước sau:

  1. Người dùng đưa ra câu hỏi cho trợ lý AI. Ví dụ: “Số liệu tối đa cho thiết bị 1009 là gì?”
  2. LLM đánh giá từng câu hỏi cùng với lịch sử trò chuyện từ cùng một phiên để xác định bản chất của câu hỏi đó và thuộc lĩnh vực chủ đề nào (chẳng hạn như SQL, hành động, tìm kiếm hoặc SME). LLM phân loại đầu vào và chuỗi định tuyến LCEL lấy đầu vào đó.
  3. Chuỗi bộ định tuyến chọn chuỗi đích dựa trên đầu vào và LLM được cung cấp lời nhắc hệ thống sau:
"""Given the user question below, classify it as one of the candidate prompts. You may want to modify the input considering the chat history and the context of the question. 
Sometimes the user may just assume that you have the context of the conversation and may not provide a clear input. Hence, you are being provided with the chat history for more context. 
Respond with only a Markdown code snippet containing a JSON object formatted EXACTLY as specified below. 
Do not provide an explanation to your classification beside the Markdown, I just need to know your decision on which destination and next_inputs
<candidate prompt>
physics: Good for answering questions about physics
sql: sql: Good for querying sql from AWS Athena. User input may look like: get me max or min for device x?
lambdachain: Good to execute actions with Amazon Lambda like shutting down a device or turning off an engine User input can be like, shutdown device x, or terminate process y, etc.
rag: Good to search knowledgebase and retrieve information about devices and other related information. User question can be like: what do you know about device x?
default: if the input is not well suited for any of the candidate prompts above. this could be used to carry on the conversation and respond to queries like provide a summary of the conversation
</candidate prompt>"""

LLM đánh giá câu hỏi của người dùng cùng với lịch sử trò chuyện để xác định bản chất của truy vấn và chủ đề đó thuộc lĩnh vực nào. Sau đó, LLM sẽ phân loại đầu vào và đưa ra phản hồi JSON theo định dạng sau:

<Markdown>
```json
{{
"destination": string  name of the prompt to use
"next_inputs": string  a potentially modified version of the original input
}}
```

Chuỗi bộ định tuyến sử dụng phản hồi JSON này để gọi chuỗi đích tương ứng. Có bốn chuỗi đích theo chủ đề cụ thể, mỗi chuỗi có lời nhắc hệ thống riêng:

  1. Các truy vấn liên quan đến SQL được gửi đến chuỗi đích SQL để tương tác với cơ sở dữ liệu. Bạn có thể sử dụng LCEL để xây dựng Chuỗi SQL.
  2. Các câu hỏi hướng đến hành động gọi chuỗi đích Lambda tùy chỉnh để chạy các hoạt động. Với LCEL, bạn có thể xác định của riêng mình chức năng tùy chỉnh; trong trường hợp của chúng tôi, đó là chức năng chạy hàm Lambda được xác định trước để gửi email có ID thiết bị được phân tích cú pháp. Ví dụ đầu vào của người dùng có thể là “Tắt thiết bị 1009”.
  3. Các yêu cầu tập trung vào tìm kiếm sẽ tiến tới GIẺ chuỗi đích để truy xuất thông tin.
  4. Các câu hỏi liên quan đến SME sẽ được chuyển đến chuỗi điểm đến của chuyên gia/SME để có những hiểu biết chuyên sâu.
  5. Mỗi chuỗi đích lấy đầu vào và chạy các mô hình hoặc chức năng cần thiết:
    1. Chuỗi SQL sử dụng Athena để chạy truy vấn.
    2. Chuỗi RAG sử dụng Dịch vụ OpenSearch để tìm kiếm ngữ nghĩa.
    3. Chuỗi Lambda tùy chỉnh chạy các hàm Lambda cho các hành động.
    4. Chuỗi chuyên gia/SME cung cấp thông tin chuyên sâu bằng cách sử dụng mô hình Amazon Bedrock.
  6. Các phản hồi từ mỗi chuỗi điểm đến được LLM xây dựng thành những hiểu biết sâu sắc mạch lạc. Những hiểu biết sâu sắc này sau đó được gửi đến người dùng, hoàn thành chu trình truy vấn.
  7. Đầu vào và phản hồi của người dùng được lưu trữ trong Máy phát điện Amazon để cung cấp ngữ cảnh cho LLM cho phiên hiện tại và từ các tương tác trong quá khứ. Khoảng thời gian tồn tại của thông tin trong DynamoDB do ứng dụng kiểm soát.

Tổng quan về kỹ thuật

Sơ đồ sau minh họa kiến ​​trúc của giải pháp định tuyến động LangChain.

Sơ đồ kiến ​​trúc của giải pháp định tuyến động LangChain

Ứng dụng web được xây dựng trên Streamlit được lưu trữ trên Amazon ECS với Fargate và được truy cập bằng Trình cân bằng tải ứng dụng. Chúng tôi sử dụng Claude v2.1 của Anthropic trên Amazon Bedrock làm LLM của mình. Ứng dụng web tương tác với mô hình bằng thư viện LangChain. Nó cũng tương tác với nhiều dịch vụ AWS khác, chẳng hạn như Dịch vụ OpenSearch, Athena và DynamoDB để đáp ứng nhu cầu của người dùng cuối.

Lợi ích

Giải pháp này mang lại những lợi ích sau:

  • Độ phức tạp thực hiện:
    • Mặc dù yêu cầu nhiều mã hơn và phát triển tùy chỉnh, LangChain mang lại sự linh hoạt và khả năng kiểm soát cao hơn đối với logic định tuyến cũng như khả năng tích hợp với nhiều thành phần khác nhau.
    • Việc quản lý cơ sở dữ liệu vectơ như Dịch vụ OpenSearch yêu cầu nỗ lực thiết lập và cấu hình bổ sung. Quá trình vector hóa được thực hiện trong mã.
    • Việc tích hợp với các dịch vụ AWS có thể cần nhiều mã và cấu hình tùy chỉnh hơn.
  • Kinh nghiệm của nhà phát triển:
    • Cách tiếp cận dựa trên Python và tài liệu phong phú của LangChain có thể hấp dẫn các nhà phát triển đã quen thuộc với Python và các công cụ nguồn mở.
    • Việc phát triển và gỡ lỗi nhanh chóng có thể đòi hỏi nhiều nỗ lực thủ công hơn so với việc sử dụng bảng điều khiển Amazon Bedrock.
  • Nhanh nhẹn và linh hoạt:
    • LangChain hỗ trợ nhiều loại LLM, cho phép bạn chuyển đổi giữa các mô hình hoặc nhà cung cấp khác nhau, thúc đẩy tính linh hoạt.
    • Bản chất nguồn mở của LangChain cho phép cải tiến và tùy chỉnh theo hướng cộng đồng.
  • An ninh:
    • Là một khung nguồn mở, LangChain có thể yêu cầu đánh giá và kiểm tra bảo mật nghiêm ngặt hơn trong các tổ chức, có khả năng tăng thêm chi phí.

Kết luận

Trợ lý AI đàm thoại là công cụ biến đổi để hợp lý hóa các hoạt động và nâng cao trải nghiệm người dùng. Bài đăng này khám phá hai cách tiếp cận mạnh mẽ bằng cách sử dụng dịch vụ AWS: Đại lý được quản lý cho Amazon Bedrock và định tuyến động LangChain mã nguồn mở, linh hoạt. Sự lựa chọn giữa các phương pháp này phụ thuộc vào yêu cầu của tổ chức bạn, ưu tiên phát triển và mức độ tùy chỉnh mong muốn. Bất kể con đường đã chọn, AWS đều trao quyền cho bạn tạo ra các trợ lý AI thông minh nhằm cách mạng hóa các hoạt động tương tác giữa doanh nghiệp và khách hàng

Tìm mã giải pháp và nội dung triển khai trong Kho GitHub, nơi bạn có thể làm theo các bước chi tiết cho từng phương pháp đàm thoại AI.


Về các tác giả

Ameer Hakme là Kiến trúc sư giải pháp AWS có trụ sở tại Pennsylvania. Anh cộng tác với các Nhà cung cấp phần mềm độc lập (ISV) ở khu vực Đông Bắc, hỗ trợ họ thiết kế và xây dựng các nền tảng hiện đại và có thể mở rộng trên Đám mây AWS. Là chuyên gia về AI/ML và AI tổng quát, Ameer giúp khách hàng khai thác tiềm năng của những công nghệ tiên tiến này. Trong thời gian rảnh rỗi, anh ấy thích đi xe máy và dành thời gian vui vẻ cho gia đình.

Sharon Li là Kiến trúc sư giải pháp AI/ML tại Amazon Web Services có trụ sở tại Boston, với niềm đam mê thiết kế và xây dựng các ứng dụng Generative AI trên AWS. Cô cộng tác với khách hàng để tận dụng các dịch vụ AI/ML của AWS cho các giải pháp đổi mới.

Kawsar Kamal là kiến ​​trúc sư giải pháp cấp cao tại Amazon Web Services với hơn 15 năm kinh nghiệm trong lĩnh vực bảo mật và tự động hóa cơ sở hạ tầng. Anh ấy giúp khách hàng thiết kế và xây dựng các giải pháp DevSecOps và AI/ML có thể mở rộng trong Đám mây.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?