Logo Zephyrnet

Nâng cao Amazon Connect và Lex với khả năng AI tổng quát | Dịch vụ web của Amazon

Ngày:

Các lựa chọn tự phục vụ hiệu quả ngày càng trở nên quan trọng đối với các trung tâm liên lạc, nhưng việc triển khai tốt chúng cũng đặt ra những thách thức đặc biệt.

Amazon cung cấp cho bạn Kết nối Amazon trung tâm liên lạc với các chức năng chatbot như khả năng nhận dạng giọng nói tự động (ASR) và hiểu ngôn ngữ tự nhiên (NLU) thông qua các kênh thoại và văn bản. Bot tiếp nhận lời nói hoặc văn bản nhập bằng ngôn ngữ tự nhiên, nhận biết ý định đằng sau thông tin đầu vào và đáp ứng ý định của người dùng bằng cách đưa ra phản hồi thích hợp.

Người gọi có thể có giọng, cách phát âm và ngữ pháp đa dạng. Kết hợp với tiếng ồn xung quanh, điều này có thể gây khó khăn cho việc nhận dạng giọng nói để hiểu chính xác các câu nói. Ví dụ: “Tôi muốn theo dõi đơn hàng của mình” có thể bị hiểu sai là “Tôi muốn vận chuyển chủ hàng của mình”. Những ý định không thành công như thế này khiến những khách hàng phải lặp lại, bị định tuyến không chính xác hoặc bị chuyển lên đại lý trực tiếp — khiến doanh nghiệp tốn nhiều chi phí hơn.

nền tảng Amazon dân chủ hóa quyền truy cập mô hình nền tảng (FM) để các nhà phát triển dễ dàng xây dựng và mở rộng quy mô các ứng dụng dựa trên AI tổng thể cho trung tâm liên lạc hiện đại. FM do Amazon Bedrock cung cấp, chẳng hạn như người khổng lồ AmazonClaude nhân loại, được đào tạo trước trên các bộ dữ liệu quy mô internet mang lại cho chúng khả năng NLU mạnh mẽ như phân loại câu, câu hỏi và câu trả lời cũng như nâng cao khả năng hiểu ngữ nghĩa bất chấp lỗi nhận dạng giọng nói.

Trong bài đăng này, chúng ta khám phá một giải pháp sử dụng FM do Amazon Bedrock cung cấp để nâng cao khả năng nhận dạng ý định của Amazon Lex được tích hợp với Amazon Connect, cuối cùng mang lại trải nghiệm tự phục vụ được cải thiện cho khách hàng của bạn.

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

Giải pháp sử dụng Kết nối Amazon, Amazon , AWS Lambdanền tảng Amazon theo các bước sau:

  1. Luồng liên hệ Amazon Connect tích hợp với bot Amazon Lex thông qua GetCustomerInput khối.
  2. Khi bot không nhận ra được ý định của người gọi và mặc định sử dụng ý định dự phòng, hàm Lambda sẽ được kích hoạt.
  3. Hàm Lambda lấy bản ghi lời nói của khách hàng và chuyển nó đến mô hình nền tảng trong Amazon Bedrock
  4. Sử dụng khả năng ngôn ngữ tự nhiên tiên tiến của mình, mô hình sẽ xác định ý định của người gọi.
  5. Sau đó, hàm Lambda sẽ hướng dẫn bot định tuyến cuộc gọi đến mục đích chính xác để thực hiện.

Bằng cách sử dụng các mô hình nền tảng Amazon Bedrock, giải pháp này cho phép bot Amazon Lex hiểu được ý định bất chấp lỗi nhận dạng giọng nói. Điều này giúp việc định tuyến và thực hiện đơn hàng diễn ra suôn sẻ, ngăn chặn tình trạng leo thang đến các tổng đài viên và sự lặp lại gây khó chịu cho người gọi.

Sơ đồ sau minh họa kiến ​​trúc giải pháp và quy trình làm việc.

Trong các phần sau, chúng ta xem xét các thành phần chính của giải pháp một cách chi tiết hơn.

Các hàm Lambda và Khung LangChain

Khi bot Amazon Lex gọi hàm Lambda, nó sẽ gửi một thông báo sự kiện chứa thông tin về bot và bản chép lại lời nói từ người gọi. Bằng cách sử dụng thông báo sự kiện này, hàm Lambda sẽ tự động truy xuất các ý định, mô tả ý định và cách diễn đạt ý định đã được định cấu hình của bot, đồng thời xây dựng lời nhắc bằng cách sử dụng LangChain, là một khung học máy (ML) nguồn mở cho phép các nhà phát triển tích hợp các mô hình ngôn ngữ lớn (LLM), nguồn dữ liệu và ứng dụng.

Sau đó, mô hình nền tảng Amazon Bedrock sẽ được gọi bằng lời nhắc và nhận được phản hồi với mục đích và mức độ tin cậy được dự đoán. Nếu mức độ tin cậy lớn hơn ngưỡng đã đặt, chẳng hạn như 80%, thì hàm sẽ trả về ý định đã xác định cho Amazon Lex bằng một hành động tới ủy thác. Nếu mức độ tin cậy dưới ngưỡng, nó sẽ mặc định trở về mặc định FallbackIntent và một hành động để đóng nó.

Học tập trong ngữ cảnh, kỹ thuật nhanh chóng và gọi mô hình

Chúng tôi sử dụng phương pháp học tập trong ngữ cảnh để có thể sử dụng mô hình nền tảng nhằm hoàn thành nhiệm vụ này. Học trong ngữ cảnh là khả năng LLM học nhiệm vụ chỉ bằng cách sử dụng những gì có trong lời nhắc mà không cần đào tạo trước hoặc tinh chỉnh cho nhiệm vụ cụ thể.

Trong lời nhắc, trước tiên chúng tôi cung cấp hướng dẫn chi tiết những gì cần phải làm. Sau đó, hàm Lambda sẽ tự động truy xuất và đưa các ý định, mô tả ý định và lời phát biểu ý định đã được định cấu hình của bot Amazon Lex vào lời nhắc. Cuối cùng, chúng tôi cung cấp cho nó những hướng dẫn về cách đưa ra suy nghĩ và kết quả cuối cùng.

Mẫu lời nhắc sau đây đã được thử nghiệm trên các mô hình tạo văn bản Anthropic Claude Instant v1.2 và Anthropic Claude v2. Chúng tôi sử dụng các thẻ XML để cải thiện hiệu suất của mô hình tốt hơn. Chúng tôi cũng thêm chỗ để mô hình suy nghĩ trước khi xác định mục đích cuối cùng nhằm cải thiện tốt hơn lý do đưa ra lựa chọn mục đích phù hợp. Các {intent_block} chứa ID ý định, mô tả ý định và cách phát biểu ý định. Các {input} khối chứa lời nói được phiên âm từ người gọi. Ba dấu backticks (“`) được thêm vào cuối để giúp mô hình xuất ra khối mã nhất quán hơn. MỘT <STOP> trình tự được thêm vào để ngăn chặn nó tạo ra thêm.

"""
Human: You are a call center agent. You try to understand the intent given an utterance from the caller.

The available intents are as follows, the intent of the caller is highly likely to be one of these.
<intents>
{intents_block} </intents>
The output format is:
<thinking>
</thinking>

<output>
{{
     "intent_id": intent_id,
     "confidence": confidence
}}
</output><STOP>

For the given utterance, you try to categorize the intent of the caller to be one of the intents in <intents></intents> tags.
If it does not match any intents or the utterance is blank, respond with FALLBCKINT and confidence of 1.0.
Respond with the intent name and confidence between 0.0 and 1.0.
Put your thinking in <thinking></thinking> tags before deciding on the intent.

Utterance: {input}

Assistant: ```"""

Sau khi mô hình được gọi, chúng ta nhận được phản hồi sau từ mô hình nền tảng:

<thinking>
The given utterance is asking for checking where their shipment is. It matches the intent order status.
</thinking>

{
    "intent": "ORDERSTATUSID",
    "confidence": 1.0
}
```

Lọc các ý định có sẵn dựa trên thuộc tính phiên luồng liên hệ

Khi sử dụng giải pháp như một phần của luồng liên hệ Amazon Connect, bạn có thể nâng cao hơn nữa khả năng của LLM trong việc xác định mục đích chính xác bằng cách chỉ định thuộc tính phiên available_intents trong “Lấy ý kiến ​​của khách hàng” chặn bằng danh sách ý định được phân tách bằng dấu phẩy, như minh họa trong ảnh chụp màn hình sau. Khi làm như vậy, hàm Lambda sẽ chỉ bao gồm các ý định được chỉ định này như một phần của lời nhắc tới LLM, giảm số lượng ý định mà LLM phải xử lý. Nếu available_intents thuộc tính phiên không được chỉ định, tất cả ý định trong bot Amazon Lex sẽ được sử dụng theo mặc định.

Phản hồi của hàm Lambda với Amazon Lex

Sau khi LLM xác định được ý định, hàm Lambda sẽ phản hồi theo định dạng cụ thể được Amazon Lex yêu cầu để xử lý phản hồi.

Nếu tìm thấy mục đích phù hợp trên ngưỡng tin cậy, nó sẽ trả về loại hành động hộp thoại Delegate để hướng dẫn Amazon Lex sử dụng ý định đã chọn và sau đó trả lại ý định đã hoàn thành cho Amazon Connect. Đầu ra phản hồi như sau:

{
    "sessionState": {
        "dialogAction": {
        "type": "Delegate"
        },
        "intent": {
        "name": intent,
        "state": "InProgress",
        }
    }
}

Nếu mức độ tin cậy dưới ngưỡng hoặc ý định không được nhận dạng thì loại hành động hộp thoại Đóng được trả về để hướng dẫn Amazon Lex đóng FallbackIntentvà trả lại quyền điều khiển cho Amazon Connect. Đầu ra phản hồi như sau:

{
    "sessionState": {
        "dialogAction": {
        "type": "Close"
        },
        "intent": {
        "name": intent,
        "state": "Fulfilled",
        }
    }
}

Mã nguồn hoàn chỉnh cho mẫu này có sẵn trong GitHub.

Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn có các điều kiện tiên quyết sau:

Thực hiện giải pháp

Để thực hiện giải pháp, hãy hoàn thành các bước sau:

  1. Sao chép kho lưu trữ
    git clone https://github.com/aws-samples/amazon-connect-with-amazon-lex-genai-capabilities
    cd amazon-connect-with-amazon-lex-genai-capabilities

  2. Chạy lệnh sau để khởi tạo môi trường và tạo một Đăng ký container đàn hồi Amazon (Amazon ECR) cho hình ảnh hàm Lambda của chúng tôi. Cung cấp Khu vực AWS và tên kho lưu trữ ECR mà bạn muốn tạo.
    bash ./scripts/build.sh region-name repository-name

  3. Cập nhật ParameterValue các lĩnh vực trong scripts/parameters.json tập tin:
    • ParameterKey ("AmazonECRImageUri") – Nhập URL kho lưu trữ từ bước trước.
    • ParameterKey ("AmazonConnectName") – Nhập một tên duy nhất.
    • ParameterKey ("AmazonLexBotName") – Nhập một tên duy nhất.
    • ParameterKey ("AmazonLexBotAliasName") – Mặc định là “prodversion”; bạn có thể thay đổi nó nếu cần thiết.
    • ParameterKey ("LoggingLevel") – Mặc định là “THÔNG TIN”; bạn có thể thay đổi nó nếu cần thiết. Các giá trị hợp lệ là DEBUG, WARN và ERROR.
    • ParameterKey ("ModelID") – Mặc định là “anthropic.claude-instant-v1”; bạn có thể thay đổi nó nếu bạn cần sử dụng một mô hình khác.
    • ParameterKey ("AmazonConnectName") – Mặc định là “0.75”; bạn có thể thay đổi nó nếu bạn cần cập nhật điểm tin cậy.
  4. Chạy lệnh để tạo ngăn xếp CloudFormation và triển khai các tài nguyên:
    bash ./scripts/deploy.sh region cfn-stack-name

Nếu không muốn xây dựng luồng liên hệ từ đầu trong Amazon Connect, bạn có thể nhập luồng mẫu được cung cấp cùng với kho lưu trữ này filelocation: /contactflowsample/samplecontactflow.json.

  1. Đăng nhập vào Phiên bản Amazon Connect. Tài khoản phải được chỉ định một hồ sơ bảo mật bao gồm quyền chỉnh sửa các luồng.
  2. Trên bảng điều khiển Amazon Connect, trong ngăn điều hướng, bên dưới Định tuyến, chọn Dòng liên lạc.
  3. Tạo một luồng mới cùng loại với luồng bạn đang nhập.
  4. Chọn Luồng lưu và nhập.
  5. Chọn tệp cần nhập và chọn Nhập khẩu.

Khi luồng được nhập vào luồng hiện có, tên của luồng hiện có cũng được cập nhật.

  1. Xem xét và cập nhật mọi tài liệu tham khảo đã được giải quyết hoặc chưa được giải quyết khi cần thiết.
  2. Để lưu luồng đã nhập, hãy chọn Lưu. Để xuất bản, hãy chọn Lưu và xuất bản.
  3. Sau khi bạn tải luồng liên hệ lên, hãy cập nhật các cấu hình sau:
    • Cập nhật GetCustomerInput chặn với tên và phiên bản bot Amazon Lex chính xác.
    • Trong Quản lý số điện thoại, hãy cập nhật số đó với luồng liên hệ hoặc IVR đã nhập trước đó.

Xác minh cấu hình

Xác minh rằng hàm Lambda được tạo bằng ngăn xếp CloudFormation có vai trò IAM với các quyền truy xuất bot và thông tin ý định từ Amazon Lex (quyền liệt kê và đọc) cũng như các quyền thích hợp của Amazon Bedrock (quyền liệt kê và đọc).

Trong bot Amazon Lex, đối với bí danh và ngôn ngữ đã định cấu hình của bạn, hãy xác minh rằng hàm Lambda đã được thiết lập chính xác. Cho FallBackIntent, xác nhận rằng Fulfillmentis đặt thành Active để có thể chạy chức năng bất cứ khi nào FallBackIntent được kích hoạt.

Tại thời điểm này, bot Amazon Lex của bạn sẽ tự động chạy chức năng Lambda và giải pháp sẽ hoạt động trơn tru.

Kiểm tra giải pháp

Hãy xem cấu hình ý định, mô tả và cách phát âm mẫu trong Amazon Lex và xem LLM hoạt động tốt như thế nào với dữ liệu đầu vào mẫu có lỗi chính tả, lỗi ngữ pháp và thậm chí là một ngôn ngữ khác.

Hình dưới đây hiển thị ảnh chụp màn hình của ví dụ của chúng tôi. Phía bên trái hiển thị tên ý định, mô tả của nó và cách phát âm mẫu một từ. Không cần cấu hình nhiều trên Amazon Lex, LLM có thể dự đoán mục đích chính xác (phía bên phải). Trong thử nghiệm này, chúng tôi có một thông báo thực hiện đơn giản từ mục đích chính xác.

Làm sạch

Để dọn sạch tài nguyên của bạn, hãy chạy lệnh sau để xóa kho lưu trữ ECR và ngăn xếp CloudFormation:

bash ./scripts/cleanup.sh region repository-name cfn-stack-name

Kết luận

Bằng cách sử dụng Amazon Lex được tăng cường bằng LLM do Amazon Bedrock cung cấp, bạn có thể cải thiện hiệu suất nhận dạng ý định của các bot của mình. Điều này mang lại trải nghiệm tự phục vụ liền mạch cho nhiều nhóm khách hàng đa dạng, thu hẹp khoảng cách giữa giọng nói và đặc điểm giọng nói độc đáo, đồng thời cuối cùng là nâng cao sự hài lòng của khách hàng.

Để tìm hiểu sâu hơn và tìm hiểu thêm về AI tổng quát, hãy xem các tài nguyên bổ sung sau:

Để biết thêm thông tin về cách bạn có thể thử nghiệm giải pháp tự phục vụ tổng quát được hỗ trợ bởi AI, hãy xem Triển khai tính năng trả lời câu hỏi tự phục vụ bằng giải pháp QnABot trên AWS do Amazon Lex cung cấp với Amazon Kendra và các mô hình ngôn ngữ lớn.


Về các tác giả

Hamza Nadeem là Kiến trúc sư giải pháp chuyên gia kết nối Amazon tại AWS, có trụ sở tại Toronto. Ông làm việc với các khách hàng trên khắp Canada để hiện đại hóa Trung tâm Liên hệ của họ và cung cấp giải pháp cho những thách thức riêng về tương tác với khách hàng cũng như các yêu cầu kinh doanh của họ. Trong thời gian rảnh rỗi, Hamza thích đi du lịch, đá bóng và thử các công thức nấu ăn mới cùng vợ.

Đoạn Srivastava là Kiến trúc sư giải pháp tại Amazon Web Services (AWS), giúp khách hàng doanh nghiệp áp dụng và di chuyển đám mây thành công. Trong sự nghiệp chuyên nghiệp của mình, anh ấy đã tham gia rất nhiều vào các dự án chuyển đổi kỹ thuật số phức tạp. Anh ấy cũng đam mê xây dựng các giải pháp sáng tạo xung quanh các khía cạnh không gian địa lý của địa chỉ.

Than ôi Ross là Kiến trúc sư giải pháp tại AWS có trụ sở tại Toronto, Canada. Anh ấy giúp khách hàng đổi mới bằng các giải pháp AI/ML và Generative AI để mang lại kết quả kinh doanh thực tế. Ông đã làm việc với nhiều khách hàng khác nhau từ bán lẻ, dịch vụ tài chính, công nghệ, dược phẩm và những khách hàng khác. Trong thời gian rảnh rỗi, anh yêu thích hoạt động ngoài trời và tận hưởng thiên nhiên cùng gia đình.

Sangeetha Kamatkar là Kiến trúc sư giải pháp tại Amazon Web Services (AWS), giúp khách hàng áp dụng và di chuyển đám mây thành công. Cô làm việc với khách hàng để tạo ra các kiến ​​trúc đám mây có khả năng mở rộng cao, linh hoạt và linh hoạt nhằm giải quyết các vấn đề kinh doanh của khách hàng. Khi rảnh rỗi, cô nghe nhạc, xem phim và làm vườn vào mùa hè.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img