AWS affords highly effective generative AI providers, together with Amazon Bedrock, which permits organizations to create tailor-made use instances corresponding to AI chat-based assistants that give solutions based mostly on information contained within the clients’ paperwork, and far more. Many companies need to combine these cutting-edge AI capabilities with their present collaboration instruments, corresponding to Google Chat, to reinforce productiveness and decision-making processes.
This submit reveals how one can implement an AI-powered enterprise assistant, corresponding to a customized Google Chat app, utilizing the ability of Amazon Bedrock. The answer integrates giant language fashions (LLMs) together with your group’s information and gives an clever chat assistant that understands dialog context and gives related, interactive responses instantly throughout the Google Chat interface.
This resolution showcases methods to bridge the hole between Google Workspace and AWS providers, providing a sensible strategy to enhancing worker effectivity by way of conversational AI. By implementing this architectural sample, organizations that use Google Workspace can empower their workforce to entry groundbreaking AI options powered by Amazon Internet Providers (AWS) and make knowledgeable selections with out leaving their collaboration instrument.
With this resolution, you may work together instantly with the chat assistant powered by AWS out of your Google Chat setting, as proven within the following instance.
Answer overview
We use the next key providers to construct this clever chat assistant:
- Amazon Bedrock is a completely managed service that gives a alternative of high-performing basis fashions (FMs) from main AI firms corresponding to AI21 Labs, Anthropic, Cohere, Meta, Stability AI, and Amazon by way of a single API, together with a broad set of capabilities to construct generative AI purposes with safety, privateness, and accountable AI
- AWS Lambda, a serverless computing service, enables you to deal with the appliance logic, processing requests, and interplay with Amazon Bedrock
- Amazon DynamoDB enables you to retailer session reminiscence information to take care of context throughout conversations
- Amazon API Gateway enables you to create a safe API endpoint for the customized Google Chat app to speak with our AWS based mostly resolution.
The next determine illustrates the high-level design of the answer.
The workflow contains the next steps:
- The method begins when a consumer sends a message by way of Google Chat, both in a direct message or in a chat area the place the appliance is put in.
- The customized Google Chat app, configured for HTTP integration, sends an HTTP request to an API Gateway endpoint. This request comprises the consumer’s message and related metadata.
- Earlier than processing the request, a Lambda authorizer perform related to the API Gateway authenticates the incoming message. This verifies that solely official requests from the customized Google Chat app are processed.
- After it’s authenticated, the request is forwarded to a different Lambda perform that comprises our core utility logic. This perform is accountable for decoding the consumer’s request and formulating an acceptable response.
- The Lambda perform interacts with Amazon Bedrock by way of its runtime APIs, utilizing both the RetrieveAndGenerate API that connects to a information base, or the Converse API to speak instantly with an LLM obtainable on Amazon Bedrock. This additionally permits the Lambda perform to look by way of the group’s information base and generate an clever, context-aware response utilizing the ability of LLMs. The Lambda perform additionally makes use of a DynamoDB desk to maintain monitor of the dialog historical past, both instantly with a consumer or inside a Google Chat area.
- After receiving the generated response from Amazon Bedrock, the Lambda perform sends this reply again by way of API Gateway to the Google Chat app.
- Lastly, the AI-generated response seems within the consumer’s Google Chat interface, offering the reply to their query.
This structure permits for a seamless integration between Google Workspace and AWS providers, creating an AI-driven assistant that enhances info accessibility throughout the acquainted Google Chat setting. You’ll be able to customise this structure to attach different options that you simply develop in AWS to Google Chat.
Within the following sections, we clarify methods to deploy this structure.
Conditions
To implement the answer outlined on this submit, you could have the next:
- A Linux or MacOS growth setting with a minimum of 20 GB of free disk area. It may be an area machine or a cloud occasion. In the event you use an AWS Cloud9 occasion, be sure to have elevated the disk dimension to twenty GB.
- The AWS Command Line Interface (AWS CLI) put in in your growth setting. This instrument lets you work together with AWS providers by way of command line instructions.
- An AWS account and an AWS Identification and Entry Administration (IAM) principal with enough permissions to create and handle the assets wanted for this utility. In the event you don’t have an AWS account, confer with How do I create and activate a brand new Amazon Internet Providers account? To configure the AWS CLI with the related credentials, sometimes, you arrange an AWS entry key ID and secret entry key for a chosen IAM consumer with acceptable permissions.
- Request entry to Amazon Bedrock FMs. On this submit, we use both Anthropic’s Claude Sonnet 3 or Amazon Titan Textual content G1 Premier obtainable in Amazon Bedrock, however you too can select different fashions which are supported for Amazon Bedrock information bases.
- Optionally, an Amazon Bedrock information base created in your account, which lets you combine your individual paperwork into your generative AI purposes. In the event you don’t have an present information base, confer with Create an Amazon Bedrock information base. Alternatively, the answer proposes an possibility with out a information base, with solutions generated solely by the FM on the backend.
- A Enterprise or Enterprise Google Workspace account with entry to Google Chat. You additionally want a Google Cloud challenge with billing enabled. To examine that an present challenge has billing enabled, see Confirm the billing standing of your initiatives.
- Docker put in in your growth setting.
Deploy the answer
The applying introduced on this submit is on the market within the accompanying GitHub repository and offered as an AWS Cloud Growth Package (AWS CDK) challenge. Full the next steps to deploy the AWS CDK challenge in your AWS account:
- Clone the GitHub repository in your native machine.
- Set up the Python package deal dependencies which are wanted to construct and deploy the challenge. This challenge is ready up like a normal Python challenge. We suggest that you simply create a digital setting inside this challenge, saved beneath the
.venv
. To manually create a digital setting on MacOS and Linux, use the next command:
- After the initialization course of is full and the digital setting is created, you should utilize the next command to activate your digital setting:
- Set up the Python package deal dependencies which are wanted to construct and deploy the challenge. Within the root listing, run the next command:
- Run the cdk bootstrap command to arrange an AWS setting for deploying the AWS CDK utility.
- Run the script
init-script.bash
:
This script prompts you for the next:
- The Amazon Bedrock information base ID to affiliate together with your Google Chat app (confer with the conditions part). Hold this clean for those who determine to not use an present information base.
- Which LLM you need to use in Amazon Bedrock for textual content era. For this resolution, you may select between Anthropic’s Claude Sonnet 3 or Amazon Titan Textual content G1 – Premier
The next screenshot reveals the enter variables to the init-script.bash
script.
The script deploys the AWS CDK challenge in your account. After it runs efficiently, it outputs the parameter ApiEndpoint
, whose worth designates the invoke URL for the HTTP API endpoint deployed as a part of this challenge. Word the worth of this parameter since you use it later within the Google Chat app configuration.
The next screenshot reveals the output of the init-script.bash
script.
You may as well discover this parameter on the AWS CloudFormation console, on the stack’s Outputs tab.
Register a brand new app in Google Chat
To combine the AWS powered chat assistant into Google Chat, you create a customized Google Chat app. Google Chat apps are extensions that carry exterior providers and assets instantly into the Google Chat setting. These apps can take part in direct messages, group conversations, or devoted chat areas, permitting customers to entry info and take actions with out leaving their chat interface.
For our AI-powered enterprise assistant, we create an interactive customized Google Chat app that makes use of the HTTP integration technique. This strategy permits our app to obtain and reply to consumer messages in actual time, offering a seamless conversational expertise.
After you might have deployed the AWS CDK stack within the earlier part, full the next steps to register a Google Chat app within the Google Cloud portal:
- Open the Google Cloud portal and log in together with your Google account.
- Seek for “Google Chat API” and navigate to the Google Chat API web page, which helps you to construct Google Chat apps to combine your providers with Google Chat.
- If that is your first time utilizing the Google Chat API, select ACTIVATE. In any other case, select MANAGE.
- On the Configuration tab, beneath Software information, present the next info, as proven within the following screenshot:
- For App title, enter an app title (for instance,
bedrock-chat
). - For Avatar URL, enter the URL on your app’s avatar picture. As a default, you may present the Google chat product icon.
- For Description, enter an outline of the app (for instance,
Chat App with Amazon Bedrock
).
- For App title, enter an app title (for instance,
- Below Interactive options, activate Allow Interactive options.
- Below Performance, choose Obtain 1:1 messages and Be part of areas and group conversations, as proven within the following screenshot.
- Below Connection settings, present the next info:
- Choose App URL.
- For App URL, enter the Invoke URL related to the deployment stage of the HTTP API gateway. That is the
ApiEndpoint
parameter that you simply famous on the finish of the deployment of the AWS CDK template. - For Authentication Viewers, choose App URL, as proven within the following screenshot.
- Below Visibility, choose Make this Chat app obtainable to particular folks and teams in <your-company-name> and supply e-mail addresses for people and teams who can be approved to make use of your app. It’s good to add a minimum of your individual e-mail if you wish to entry the app.
- Select Save.
The next animation illustrates these steps on the Google Cloud console.
By finishing these steps, the brand new Amazon Bedrock chat app ought to be accessible on the Google Chat console for the individuals or teams that you simply approved in your Google Workspace.
To dispatch interplay occasions to the answer deployed on this submit, Google Chat sends requests to your API Gateway endpoint. To confirm the authenticity of those requests, Google Chat features a bearer token within the Authorization
header of each HTTPS request to your endpoint. The Lambda authorizer perform supplied with this resolution verifies that the bearer token was issued by Google Chat and focused at your particular app utilizing the Google OAuth shopper library. You’ll be able to additional customise the Lambda authorizer perform to implement extra management guidelines based mostly on Consumer or House objects included within the request from Google Chat to your API Gateway endpoint. This lets you fine-tune entry management, for instance, by limiting sure options to particular customers or limiting the app’s performance specifically chat areas, enhancing safety and customization choices on your group.
Converse together with your customized Google Chat app
Now you can converse with the brand new app inside your Google Chat interface. Hook up with Google Chat with an e-mail that you simply approved in the course of the configuration of your app and provoke a dialog by discovering the app:
- Select New chat within the chat pane, then enter the title of the appliance (
bedrock-chat
) within the search area. - Select Chat and enter a pure language phrase to work together with the appliance.
Though we beforehand demonstrated a utilization situation that includes a direct chat with the Amazon Bedrock utility, you too can invoke the appliance from inside a Google chat area, as illustrated within the following demo.
Customise the answer
On this submit, we used Amazon Bedrock to energy the chat-based assistant. Nevertheless, you may customise the answer to make use of a wide range of AWS providers and create an answer that matches your particular enterprise wants.
To customise the appliance, full the next steps:
- Edit the file
lambda/lambda-chat-app/lambda-chatapp-code.py
within the GitHub repository you cloned to your native machine throughout deployment. - Implement your enterprise logic on this file.
The code runs in a Lambda perform. Every time a request is processed, Lambda runs the lambda_handler
perform:
When Google Chat sends a request, the lambda_handler
perform calls the handle_post
perform.
- Let’s substitute the
handle_post
perform with the next code:
- Save your file, then run the next command in your terminal to deploy your new code:
The deployment ought to take a couple of minute. When it’s full, you may go to Google Chat and take a look at your new enterprise logic. The next screenshot reveals an instance chat.
Because the picture reveals, your perform will get the consumer message and an area title. You should use this area title as a singular ID for the dialog, which helps you to to handle historical past.
As you turn into extra aware of the answer, chances are you’ll need to discover superior Amazon Bedrock options to considerably broaden its capabilities and make it extra strong and versatile. Take into account integrating Amazon Bedrock Guardrails to implement safeguards custom-made to your utility necessities and accountable AI insurance policies. Take into account additionally increasing the assistant’s capabilities by way of perform calling, to carry out actions on behalf of customers, corresponding to scheduling conferences or initiating workflows. You can additionally use Amazon Bedrock Immediate Flows to speed up the creation, testing, and deployment of workflows by way of an intuitive visible builder. For extra superior interactions, you could possibly discover implementing Amazon Bedrock Brokers able to reasoning about advanced issues, making selections, and executing multistep duties autonomously.
Efficiency optimization
The serverless structure used on this submit gives a scalable resolution out of the field. As your consumer base grows or when you have particular efficiency necessities, there are a number of methods to additional optimize efficiency. You’ll be able to implement API caching to hurry up repeated requests or use provisioned concurrency for Lambda features to get rid of chilly begins. To beat API Gateway timeout limitations in situations requiring longer processing occasions, you may improve the mixing timeout on API Gateway, otherwise you would possibly substitute it with an Software Load Balancer, which permits for prolonged connection durations. You may as well fine-tune your alternative of Amazon Bedrock mannequin to stability accuracy and pace. Lastly, Provisioned Throughput in Amazon Bedrock enables you to provision the next stage of throughput for a mannequin at a set value.
Clear up
On this submit, you deployed an answer that permits you to work together instantly with a chat assistant powered by AWS out of your Google Chat setting. The structure incurs utilization value for a number of AWS providers. First, you can be charged for mannequin inference and for the vector databases you employ with Amazon Bedrock Data Bases. AWS Lambda prices are based mostly on the variety of requests and compute time, and Amazon DynamoDB costs depend upon learn/write capability models and storage used. Moreover, Amazon API Gateway incurs costs based mostly on the variety of API calls and information switch. For extra particulars about pricing, confer with Amazon Bedrock pricing.
There may additionally be prices related to utilizing Google providers. For detailed details about potential costs associated to Google Chat, confer with the Google Chat product documentation.
To keep away from pointless prices, clear up the assets created in your AWS setting whenever you’re completed exploring this resolution. Use the cdk destroy command to delete the AWS CDK stack beforehand deployed on this submit. Alternatively, open the AWS CloudFormation console and delete the stack you deployed.
Conclusion
On this submit, we demonstrated a sensible resolution for creating an AI-powered enterprise assistant for Google Chat. This resolution seamlessly integrates Google Workspace with AWS hosted information by utilizing LLMs on Amazon Bedrock, Lambda for utility logic, DynamoDB for session administration, and API Gateway for safe communication. By implementing this resolution, organizations can present their workforce with a streamlined solution to entry AI-driven insights and information bases instantly inside their acquainted Google Chat interface, enabling pure language interplay and data-driven discussions with out the necessity to change between totally different purposes or platforms.
Moreover, we showcased methods to customise the appliance to implement tailor-made enterprise logic that may use different AWS providers. This flexibility empowers you to tailor the assistant’s capabilities to their particular necessities, offering a seamless integration together with your present AWS infrastructure and information sources.
AWS affords a complete suite of cutting-edge AI providers to satisfy your group’s distinctive wants, together with Amazon Bedrock and Amazon Q. Now that you understand how to combine AWS providers with Google Chat, you may discover their capabilities and construct superior purposes!
In regards to the Authors
Nizar Kheir is a Senior Options Architect at AWS with greater than 15 years of expertise spanning numerous business segments. He presently works with public sector clients in France and throughout EMEA to assist them modernize their IT infrastructure and foster innovation by harnessing the ability of the AWS Cloud.
Lior Perez is a Principal Options Architect on the development staff based mostly in Toulouse, France. He enjoys supporting clients of their digital transformation journey, utilizing huge information, machine studying, and generative AI to assist resolve their enterprise challenges. He’s additionally personally obsessed with robotics and Web of Issues (IoT), and he continuously seems to be for brand new methods to make use of applied sciences for innovation.