Amazon Bedrock Brokers presents builders the flexibility to construct and configure autonomous brokers of their functions. These brokers assist customers full actions based mostly on organizational information and consumer enter, orchestrating interactions between basis fashions (FMs), information sources, software program functions, and consumer conversations.
Amazon Bedrock brokers use the ability of huge language fashions (LLMs) to carry out complicated reasoning and motion technology. This strategy is impressed by the ReAct (reasoning and appearing) paradigm, which mixes reasoning traces and task-specific actions in an interleaved method.
Amazon Bedrock brokers use LLMs to interrupt down duties, work together dynamically with customers, run actions by means of API calls, and increase information utilizing Amazon Bedrock Information Bases. The ReAct strategy permits brokers to generate reasoning traces and actions whereas seamlessly integrating with firm methods by means of motion teams. By providing accelerated improvement, simplified infrastructure, enhanced capabilities by means of chain-of-thought (CoT) prompting, and improved accuracy, Amazon Bedrock Brokers permits builders to quickly construct refined AI options that mix the ability of LLMs with customized actions and information bases, all with out managing underlying complexity.
Internet search APIs empower builders to seamlessly combine highly effective search capabilities into their functions, offering entry to huge troves of web information with only a few strains of code. These APIs act as gateways to stylish search engines like google and yahoo, permitting functions to programmatically question the online and retrieve related outcomes together with webpages, pictures, information articles, and extra.
By utilizing internet search APIs, builders can improve their functions with up-to-date info from throughout the web, enabling options like content material discovery, development evaluation, and clever suggestions. With customizable parameters for refining searches and structured response codecs for parsing, internet search APIs supply a versatile and environment friendly resolution for harnessing the wealth of data obtainable on the internet.
Amazon Bedrock Brokers presents a robust resolution for enhancing chatbot capabilities, and when mixed with internet search APIs, they deal with a important buyer ache level. On this put up, we reveal the right way to use Amazon Bedrock Brokers with an online search API to combine dynamic internet content material in your generative AI software.
Advantages of integrating an online search API with Amazon Bedrock Brokers
Let’s discover how this integration can revolutionize your chatbot expertise:
- Seamless in-chat internet search – By incorporating internet search APIs into your Amazon Bedrock brokers, you possibly can empower your chatbot to carry out real-time internet searches with out forcing customers to depart the chat interface. This retains customers engaged inside your software, bettering total consumer expertise and retention.
- Dynamic info retrieval – Amazon Bedrock brokers can use internet search APIs to fetch up-to-date info on a variety of matters. This makes positive that your chatbot supplies probably the most present and related responses, enhancing its utility and consumer belief.
- Contextual responses – Amazon Bedrock agent makes use of CoT prompting, enabling FMs to plan and run actions dynamically. By way of this strategy, brokers can analyze consumer queries and decide when an online search is important or—if enabled—collect extra info from the consumer to finish the duty. This enables your chatbot to mix info from APIs, information bases, and up-to-date web-sourced content material, making a extra pure and informative dialog circulation. With these capabilities, brokers can present responses which can be higher tailor-made to the consumer’s wants and the present context of the interplay.
- Enhanced drawback fixing – By integrating internet search APIs, your Amazon Bedrock agent can deal with a broader vary of consumer inquiries. Whether or not it’s troubleshooting a technical concern or offering business insights, your chatbot turns into a extra versatile and invaluable useful resource for customers.
- Minimal setup, most affect – Amazon Bedrock brokers simplify the method of including internet search performance to your chatbot. With only a few configuration steps, you possibly can dramatically broaden your chatbot’s information base and capabilities, all whereas sustaining a streamlined UI.
- Infrastructure as code – You should utilize AWS CloudFormation or the AWS Cloud Growth Equipment (AWS CDK) to deploy and handle Amazon Bedrock brokers.
By addressing the client problem of increasing chatbot performance with out complicating the consumer expertise, the mixture of internet search APIs and Amazon Bedrock brokers presents a compelling resolution. This integration permits companies to create extra succesful, informative, and user-friendly chatbots that hold customers engaged and glad inside a single interface.
Resolution overview
This resolution makes use of Amazon Bedrock Brokers with an online search functionality that integrates exterior search APIs (SerpAPI and Tavily AI) with the agent. The structure consists of the next key parts:
- An Amazon Bedrock agent orchestrates the interplay between the consumer and search APIs, dealing with the chat periods and optionally long-term reminiscence
- An AWS Lambda perform implements the logic for calling exterior search APIs and processing outcomes
- Exterior search APIs (SerpAPI and Tavily AI) present internet search capabilities
- Amazon Bedrock FMs generate pure language responses based mostly on search outcomes
- AWS Secrets and techniques Supervisor securely shops API keys for exterior companies
The answer circulation is as follows:
- Consumer enter is acquired by the Amazon Bedrock agent, powered by Anthropic Claude 3 Sonnet on Amazon Bedrock.
- The agent determines if an online search is important, or comes again to the consumer with clarifying questions.
- If required, the agent invokes one in every of two Lambda features to carry out an online search: SerpAPI for up-to-date occasions or Tavily AI for internet research-heavy questions.
- The Lambda perform retrieves the API secrets and techniques securely from Secrets and techniques Supervisor, calls the suitable search API, and processes the outcomes.
- The agent generates the ultimate response based mostly on the search outcomes.
- The response is returned to the consumer after ultimate output guardrails are utilized.
The next determine is a visible illustration of the system we’re going to implement.
We reveal two strategies to construct this resolution. To arrange the agent on the AWS Administration Console, we use the brand new agent builder. The next GitHub repository comprises the Python AWS CDK code to deploy the identical instance.
Conditions
Be sure to have the next conditions:
Amazon Bedrock brokers assist fashions like Amazon Titan Textual content and Anthropic Claude fashions. Every mannequin has completely different capabilities and pricing. For the total listing of supported fashions, see Supported areas and fashions for Amazon Bedrock Brokers.
For this put up, we use the Anthropic Claude 3 Sonnet mannequin.
Configure the online search APIs
Each SERPER (SerpAPI) and Tavily AI present internet search APIs that may be built-in with Amazon Bedrock brokers by calling their REST-based API endpoints from a Lambda perform. Nonetheless, they’ve some key variations that may affect once you would use every one:
- SerpAPI supplies entry to a number of search engines like google and yahoo, together with Google, Bing, Yahoo, and others. It presents granular management over search parameters and consequence sorts (for instance, natural outcomes, featured snippets, pictures, and movies). SerpAPI could be higher suited to duties requiring particular search engine options or once you want outcomes from a number of search engines like google and yahoo.
- Tavily AI is particularly designed for AI brokers and LLMs, specializing in delivering related and factual outcomes. It presents options like together with solutions, uncooked content material, and pictures in search outcomes. It supplies customization choices akin to search depth (primary or superior) and the flexibility to incorporate or exclude particular domains. It’s optimized for pace and effectivity in delivering real-time outcomes.
You’d use SerpAPI in case you want outcomes from particular search engines like google and yahoo or a number of engines, and Tavily AI when relevance and factual accuracy are essential.
In the end, the selection between SerpAPI and Tavily AI is dependent upon your particular analysis necessities, the extent of management you want over search parameters, and whether or not you prioritize normal search engine capabilities or AI-optimized outcomes.
For the instance on this put up, we selected to make use of each and let the agent determine which API is the extra acceptable one, relying on the query or immediate. The agent also can decide to name each if one doesn’t present a adequate reply. Each SerpAPI and Tavily AI present a free tier that can be utilized for the instance on this put up.
For each APIs, API keys are required and can be found from Serper and Tavily.
We securely retailer the obtained API keys in Secrets and techniques Supervisor. The next examples create secrets and techniques for the API keys:
If you enter instructions in a shell, there’s a threat of the command historical past being accessed or utilities gaining access to your command parameters. For extra info, see Mitigate the dangers of utilizing the AWS CLI to retailer your AWS Secrets and techniques Supervisor secrets and techniques.
Now that the APIs are configured, you can begin constructing the online search Amazon Bedrock agent.
Within the following part, we current two strategies to create your agent: by means of the console and utilizing the AWS CDK. Though the console path presents a extra visible strategy, we strongly suggest utilizing the AWS CDK for deploying the agent. This technique not solely supplies a extra strong deployment course of, but in addition lets you study the underlying code. Let’s discover each choices that can assist you select one of the best strategy on your wants.
Construct an online search Amazon Bedrock agent utilizing the console
Within the first instance, you construct an online search agent utilizing the Amazon Bedrock console to create and configure the agent, after which the Lambda console to configure and deploy a Lambda perform.
Create an online search agent
To create an online search agent utilizing the console, full the next steps:
- On the Amazon Bedrock console, select Brokers within the navigation pane.
- Select Create agent.
- Enter a reputation for the agent (akin to
websearch-agent
) and an optionally available description, then select Create.
You at the moment are within the new agent builder, the place you possibly can entry and edit the configuration of an agent.
- For Agent useful resource function, depart the default Create and use a brand new service function
This feature routinely creates the AWS Id and Entry Administration (IAM) function assumed by the agent.
- For the mannequin, select Anthropic and Claude 3 Sonnet.
- For Directions for the Agent, present clear and particular directions to inform the agent what it ought to do. For the online search agent, enter:
- Select Add within the Motion teams
Motion teams are how brokers can work together with exterior methods or APIs to get extra info or carry out actions.
- For Enter motion group title, enter
action-group-web-search
for the motion group. - For Motion group kind, choose Outline with perform particulars so you possibly can specify features and their parameters as JSON as an alternative of offering an Open API schema.
- For Motion group invocation, arrange what the agent does after this motion group is recognized by the mannequin. As a result of we wish to name the online search APIs, choose Fast create a brand new Lambda perform.
With this selection, Amazon Bedrock creates a primary Lambda perform on your agent that you would be able to later modify on the Lambda console for the use case of calling the online search APIs. The agent will predict the perform and performance parameters wanted to fulfil its aim and go the parameters to the Lambda perform.
- Now, configure the 2 features of the motion group—one for the SerpAPI Google search, and one for the Tavily AI search.
- For every of the 2 features, for Parameters, add
search_query
with an outline.
It is a parameter of kind String and is required by every of the features.
- Select Create to finish the creation of the motion group.
We use the next parameter descriptions:
We encourage you to attempt to add a goal web site as an additional parameter to the motion group features. Check out the lambda perform code and infer the settings.
You can be redirected to the agent builder console.
- Select Save to save lots of your agent configuration.
Configure and deploy a Lambda perform
Full the next steps to replace the motion group Lambda perform:
- On the Lambda console, find the brand new Lambda perform with the title
action-group-web-search-
. - Edit the offered beginning code and implement the online search use case:
The code is truncated for brevity. The total code is on the market on GitHub.
- Select Deploy.
The perform is configured with a resource-based coverage that enables Amazon Bedrock to invoke the perform. Because of this, you don’t must replace the IAM function utilized by the agent.
As a part of the Fast create a brand new Lambda perform choice chosen earlier, the agent builder configured the perform with a resource-based coverage that enables the Amazon Bedrock service principal to invoke the perform. There is no such thing as a must replace the IAM function utilized by the agent. Nonetheless, the perform wants permission to entry API keys saved in Secrets and techniques Supervisor.
- On the perform particulars web page, select the Configuration tab, then select Permissions.
- Select the hyperlink for Position title to open the function on the IAM console.
- Open the JSON view of the IAM coverage underneath Coverage title and select Edit to edit the coverage.
- Add the next assertion, which supplies the Lambda perform the required entry to learn the API keys from Secrets and techniques Supervisor. Alter the Area code as wanted, and supply your AWS account ID.
Check the agent
You’re now prepared to check the agent.
- On the Amazon Bedrock console, on the
websearch-agent
particulars web page, select Check. - Select Put together to organize the agent and check it with the newest adjustments.
- As check enter, you possibly can ask a query akin to “What are the newest information from AWS?”
- To see the small print of every step of the agent orchestration, together with the reasoning steps, select Present hint (already opened within the previous screenshot).
This helps you perceive the agent selections and debug the agent configuration if the consequence isn’t as anticipated. We encourage you to analyze how the directions for the agent and the instrument directions are handed to the agent by inspecting the traces of the agent.
Within the subsequent part, we stroll by means of deploying the online search agent with the AWS CDK.
Construct an online search Amazon Bedrock agent with the AWS CDK
Each AWS CloudFormation and AWS CDK assist have been launched for Amazon Bedrock Brokers, so you possibly can develop and deploy the previous agent fully in code.
The AWS CDK instance on this put up makes use of Python. The next are the required steps to deploy this resolution:
- Set up the AWS CDK model 2.174.3 or later and arrange your AWS CDK Python surroundings with Python 3.11 or later.
- Clone the GitHub repository and set up the dependencies.
- Run AWS CDK bootstrapping in your AWS account.
The construction of the pattern AWS CDK software repository is:
- /app.py file – Incorporates the top-level definition of the AWS CDK app
- /cdk folder – Incorporates the stack definition for the online search agent stack
- /lambda folder – Incorporates the Lambda perform runtime code that handles the calls to the Serper and Tavily AI APIs
- /check folder – Incorporates a Python script to check the deployed agent
To create an Amazon Bedrock agent, the important thing assets required are:
- An motion group that defines the features obtainable to the agent
- A Lambda perform that implements these features
- The agent itself, which orchestrates the interactions between the FMs, features, and consumer conversations
AWS CDK code to outline an motion group
The next Python code defines an motion group as a Degree 1 (L1) assemble. L1 constructs, also called AWS CloudFormation assets, are the lowest-level constructs obtainable within the AWS CDK and supply no abstraction. At the moment, the obtainable Amazon Bedrock AWS CDK constructs are L1. With the action_group_executor
parameter of AgentActionGroupProperty
, you outline the Lambda perform containing the enterprise logic that’s carried out when the motion is invoked.
After the Amazon Bedrock agent determines the API operation that it must invoke in an motion group, it sends info alongside related metadata as an enter occasion to the Lambda perform.
The next code reveals the Lambda handler perform that extracts the related metadata and populated fields from the request physique parameters to find out which perform (Serper or Tavily AI) to name. The extracted parameter is search_query
, as outlined within the previous motion group perform. The whole Lambda Python code is on the market within the GitHub repository.
Lastly, with the CfnAgent
AWS CDK assemble, specify an agent as a useful resource. The auto_prepare=True
parameter creates a DRAFT model of the agent that can be utilized for testing.
Deploy the AWS CDK software
Full the next steps to deploy the agent utilizing the AWS CDK:
- Clone the instance AWS CDK code:
- Create a Python digital surroundings, activate it, and set up Python dependencies (just be sure you’re utilizing Python 3.11 or later):
- To deploy the agent AWS CDK instance, run the cdk deploycommand:
When the AWS CDK deployment is completed, it is going to output values for agent_id and agent_alias_id:
For instance:
Make an observation of the outputs; you want them to check the agent within the subsequent step.
Check the agent
To check the deployed agent, a Python script is on the market within the check/
folder. You have to be authenticated utilizing an AWS account and an AWS_REGION
surroundings variable set. For particulars, see Configure the AWS CLI.
To run the script, you want the output values and to go in a query utilizing the -prompt parameter:
For instance, with the outputs we acquired from the previous cdk deploy command, you’ll run the next:
You’d obtain the next response (output is truncated for brevity):
Clear up
To delete the assets deployed with the agent AWS CDK instance, run the next command:
Use the next instructions to delete the API keys created in Secrets and techniques Supervisor:
Key concerns
Let’s dive into some key concerns when integrating internet search into your AI methods.
API utilization and price administration
When working with exterior APIs, it’s essential to be sure that your fee limits and quotas don’t develop into bottlenecks on your workload. Commonly examine and determine limiting components in your system and validate that it could possibly deal with the load because it scales. This would possibly contain implementing a sturdy monitoring system to trace API utilization, organising alerts for once you’re approaching limits, and creating methods to gracefully deal with rate-limiting eventualities.
Moreover, rigorously think about the associated fee implications of exterior APIs. The quantity of content material returned by these companies straight interprets into token utilization in your language fashions, which may considerably affect your total prices. Analyze the trade-offs between complete search outcomes and the related token consumption to optimize your system’s effectivity and cost-effectiveness. Take into account implementing caching mechanisms for ceaselessly requested info to cut back API calls and related prices.
Privateness and safety concerns
It’s important to totally overview the pricing and privateness agreements of your chosen internet search supplier. The agentic methods you’re constructing can doubtlessly leak delicate info to those suppliers by means of the search queries despatched. To mitigate this threat, think about implementing information sanitization strategies to take away or masks delicate info earlier than it reaches the search supplier. This turns into particularly essential when constructing or enhancing safe chatbots and internally going through methods—educating your customers about these privateness concerns is subsequently of utmost significance.
So as to add an additional layer of safety, you possibly can implement guardrails, akin to these offered by Amazon Bedrock Guardrails, within the Lambda features that decision the online search. This extra safeguard might help shield towards inadvertent info leakage to internet search suppliers. These guardrails might embrace sample matching to detect potential personally identifiable info (PII), enable and deny lists for sure sorts of queries, or AI-powered content material classifiers to flag doubtlessly delicate info.
Localization and contextual search
When designing your internet search agent, it’s essential to think about that end-users are accustomed to the search expertise offered by customary internet browsers, particularly on cell units. These browsers typically provide extra context as a part of an online search, considerably enhancing the relevance of outcomes. Key elements of localization and contextual search embrace language concerns, geolocation, search historical past and personalization, and time and date context. For language concerns, you possibly can implement language detection to routinely determine the consumer’s most well-liked language or present it by means of the agent’s session context.
Consult with Management agent session context for particulars on the right way to present session context in Amazon Bedrock Brokers for extra particulars.
It’s necessary to assist multilingual queries and outcomes, utilizing a mannequin that helps your particular language wants. Geolocation is one other important issue; using the consumer’s approximate location (with permission) can present geographically related outcomes. Search historical past and personalization can drastically improve the consumer expertise. Take into account implementing a system (with consumer consent) to recollect current searches and use this context for consequence rating. You’ll be able to customise an Amazon Bedrock agent with the session state characteristic. Including a consumer’s location attributes to the session state is a possible implementation choice.
Moreover, enable customers to set persistent preferences for consequence sorts, akin to preferring movies over textual content articles. Time and date context can be very important; use the consumer’s native time zone for time-sensitive queries like “newest information on quarterly numbers of firm XYZ, now,” and think about seasonal context for queries that may have completely different meanings relying on the time of yr.
As an illustration, with out offering such additional info, a question like “What’s the present climate in Zurich?” might yield outcomes for any Zurich globally, be it in Switzerland or varied areas within the US. By incorporating these contextual parts, your search agent can distinguish {that a} consumer in Europe is probably going asking about Zurich, Switzerland, whereas a consumer in Illinois could be within the climate at Lake Zurich. To implement these options, think about making a system that safely collects and makes use of related consumer context. Nonetheless, all the time prioritize consumer privateness and supply clear opt-in mechanisms for information assortment. Clearly talk what information is getting used and the way it enhances the search expertise. Provide customers granular management over their information and the flexibility to decide out of personalised options. By rigorously balancing these localization and contextual search parts, you possibly can create a extra intuitive and efficient internet search agent that gives extremely related outcomes whereas respecting consumer privateness.
Efficiency optimization and testing
Efficiency optimization and testing are important elements of constructing a sturdy internet search agent. Implement complete latency testing to measure response occasions for varied question sorts and content material lengths throughout completely different geographical areas. Conduct load testing to simulate concurrent customers and determine system limits if relevant to your software. Optimize your Lambda features for chilly begins and runtime, and think about using Amazon CloudFront to cut back latency for world customers. Implement error dealing with and resilience measures, together with fallback mechanisms and retry logic. Arrange Amazon CloudWatch alarms for key metrics akin to API latency and error charges to allow proactive monitoring and fast response to efficiency points.
To check the answer finish to finish, create a dataset of questions and proper solutions to check if adjustments to your system enhance or deteriorate the data retrieval capabilities of your app.
Migration methods
For organizations contemplating a migration from open supply frameworks like LangChain to Amazon Bedrock Brokers, it’s necessary to strategy the transition strategically. Start by mapping your present ReAct agent’s logic to the Amazon Bedrock brokers’ motion teams and Lambda features. Establish any gaps in performance and plan for various options or customized improvement the place vital. Adapt your present API calls to work with the Amazon Bedrock API and replace authentication strategies to make use of IAM roles and insurance policies.
Develop complete check suites to verify functionalities are accurately replicated within the new surroundings. One vital benefit of Amazon Bedrock brokers is the flexibility to implement a gradual rollout. By utilizing the agent alias ID, you possibly can rapidly direct site visitors between completely different variations of your agent, permitting for a clean and managed migration course of. This strategy lets you check and validate your new implementation with a subset of customers or queries earlier than totally transitioning your total system.
By rigorously balancing these concerns—from API utilization and prices to privateness issues, localization, efficiency optimization, and migration methods—you possibly can create a extra clever, environment friendly, and user-friendly search expertise that respects particular person preferences and information safety rules. As you construct and refine your internet search agent with Amazon Bedrock, hold these components in thoughts to supply a sturdy, scalable, and accountable AI system.
Increasing the answer
With this put up, you’ve taken step one in the direction of revolutionizing your functions with Amazon Bedrock Brokers and the ability of agentic workflows with LLMs. You’ve not solely realized the right way to combine dynamic internet content material, but in addition gained insights into the intricate relationship between AI brokers and exterior info sources.
Transitioning your present methods to Amazon Bedrock brokers is a seamless course of, and with the AWS CDK, you possibly can handle your agentic AI infrastructure as code, offering scalability, reliability, and maintainability. This strategy not solely streamlines your improvement course of, but in addition paves the best way for extra refined AI-driven functions that may adapt and develop with your corporation wants.
Develop your horizons and unlock much more capabilities:
- Hook up with an Amazon Bedrock information base – Increase your brokers’ information by integrating them with a centralized information repository, enabling your AI to attract upon an enormous, curated pool of data tailor-made to your particular area.
- Embrace streaming – Use the ability of streaming responses to supply an enhanced consumer expertise and foster a extra pure and interactive dialog circulation, mimicking the real-time nature of human dialogue and retaining customers engaged all through the interplay.
- Expose ReAct prompting and gear use – Parse the streaming output in your frontend to visualise the agent’s reasoning course of and gear utilization, offering invaluable transparency and interpretability on your customers, constructing belief, and permitting customers to grasp and confirm the AI’s decision-making course of.
- Make the most of reminiscence for Amazon Bedrock Brokers – Amazon Bedrock brokers can retain a abstract of their conversations with every consumer and are capable of present a clean, adaptive expertise if enabled. This lets you give additional context for duties like internet search and matters of curiosity, making a extra personalised and contextually conscious interplay over time.
- Give additional context – As outlined earlier, context issues. Attempt to implement extra consumer context by means of the session attributes that you would be able to present by means of the session state. Consult with Management agent session context for the technical implementations, and think about how this context can be utilized responsibly to reinforce the relevance and accuracy of your agent’s responses.
- Add agentic internet analysis – Brokers help you construct very refined workflows. Our system isn’t restricted to a easy internet search. The Lambda perform also can function an surroundings to implement an agentic internet analysis with multi-agent collaboration, enabling extra complete and nuanced info gathering and evaluation.
What different instruments would you utilize to enhance your agent? Consult with the aws-samples GitHub repo for Amazon Bedrock Brokers to see what others have constructed and think about how these instruments could be built-in into your individual distinctive AI options.
Conclusion
The way forward for generative AI is right here, and Amazon Bedrock Brokers is your gateway to unlocking its full potential. Embrace the ability of agentic LLMs and expertise the transformative affect they’ll have in your functions and consumer experiences. As you embark on this journey, keep in mind that the true energy of AI lies not simply in its capabilities, however in how we thoughtfully and responsibly combine it into our methods to resolve real-world issues and improve human experiences.
If you need us to comply with up with a second put up tackling any factors mentioned right here, be happy to depart a remark. Your engagement helps form the course of our content material and makes positive we’re addressing the matters that matter most to you and the broader AI neighborhood.
On this put up, you could have seen the steps wanted to combine dynamic internet content material and harness the total potential of generative AI, however don’t cease right here. Transitioning your present methods to Amazon Bedrock brokers is a seamless course of, and with the AWS CDK, you possibly can handle your agentic AI infrastructure as code, offering scalability, reliability, and maintainability.
Concerning the Authors
Philipp Kaindl is a Senior Synthetic Intelligence and Machine Studying Specialist Options Architect at AWS. With a background in information science and mechanical engineering, his focus is on empowering clients to create lasting enterprise affect with the assistance of AI. Join with Philipp on LinkedIn.
Markus Rollwagen is a Senior Options Architect at AWS, based mostly in Switzerland. He enjoys deep dive technical discussions, whereas keeping track of the massive image and the client targets. With a software program engineering background, he embraces infrastructure as code and is captivated with all issues safety. Join with Markus on LinkedIn.