AI-Powered Vehicle Information Platform for Dealership Sales Support

toyota · Automotive · 2025 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Automotive dealership sales support

Toyota needed to give dealer sales staff and customers authoritative vehicle answers during sales conversations, where buyers often arrive with detailed online research and ask questions about trims, pricing, specifications, accessories, and brand-compliant claims.

Constraints:

Architecture

Toyota's v1 production system is a custom RAG platform. Requests enter the TMNA Enterprise AI account through Route 53, WAF, Lambda@Edge authentication, and Entra ID, then pass Prompt Guard before an ECS intent router identifies the vehicle and opens a WebSocket conversation tracked in DynamoDB. The request goes through Cloudflare/WAF/API Gateway into Toyota Connected shared services, where an EKS-hosted stateless RAG app uses SageMaker embeddings over the latest query and prior five turns, searches OpenSearch Serverless for 30 documents per requested vehicle, and uses Anthropic models on Bedrock to stream citation-backed answers. Data ingestion uses Step Functions, Glue, Bedrock summarization, S3, EventBridge, OpenSearch ingest pipelines, and GitLab-runner evaluations.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  dealer-front-end-client["dealer-front-end-client"] --> enterprise-ai-edge["enterprise-ai-edge"]
  enterprise-ai-edge["enterprise-ai-edge"] --> prompt-guard["prompt-guard"]
  enterprise-ai-edge["enterprise-ai-edge"] --> intent-router["intent-router"]
  prompt-guard["prompt-guard"] --> intent-router["intent-router"]
  intent-router["intent-router"] --> conversation-history-store["conversation-history-store"]
  intent-router["intent-router"] --> rag-application["rag-application"]
  conversation-history-store["conversation-history-store"] --> rag-application["rag-application"]
  rag-application["rag-application"] --> sagemaker-embedding-service["sagemaker-embedding-service"]
  rag-application["rag-application"] --> opensearch-vector-store["opensearch-vector-store"]
  rag-application["rag-application"] --> bedrock-generation-service["bedrock-generation-service"]
  rag-application["rag-application"] --> compliance-logging-pipeline["compliance-logging-pipeline"]
  sagemaker-embedding-service["sagemaker-embedding-service"] --> opensearch-vector-store["opensearch-vector-store"]
  bedrock-generation-service["bedrock-generation-service"] --> vehicle-data-etl["vehicle-data-etl"]
  vehicle-data-etl["vehicle-data-etl"] --> opensearch-vector-store["opensearch-vector-store"]
  vehicle-data-etl["vehicle-data-etl"] --> evaluation-engine["evaluation-engine"]
  evaluation-engine["evaluation-engine"] --> rag-application["rag-application"]
  agentcore-v2-platform["agentcore-v2-platform"] --> rag-application["rag-application"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
dealer-front-end-client Dealer or customer-facing client that sends natural-language vehicle questions and receives streamed answers. enterprise-ai-edge
enterprise-ai-edge TMNA ingress layer with Route 53, WAF, Lambda@Edge auth, and Entra ID authorization. dealer-front-end-client, prompt-guard, intent-router
prompt-guard Toyota cybersecurity service that blocks prompt injection and malicious input before inference. enterprise-ai-edge, intent-router
intent-router ECS service that identifies the vehicle being discussed and creates the WebSocket conversation. prompt-guard, conversation-history-store, rag-application
conversation-history-store DynamoDB-backed conversation history managed in the Enterprise AI account. intent-router, rag-application
rag-application Stateless EKS service that embeds context, searches vehicle documents, calls Bedrock, post-processes output, and streams results. intent-router, sagemaker-embedding-service, opensearch-vector-store, bedrock-generation-service, compliance-logging-pipeline
sagemaker-embedding-service Generates embeddings for the current query and prior conversation turns. rag-application, opensearch-vector-store
opensearch-vector-store OpenSearch Serverless index containing vehicle summary chunks, embeddings, and raw citation data. rag-application, vehicle-data-etl
bedrock-generation-service Anthropic models hosted on Amazon Bedrock used to generate citation-backed vehicle answers and ETL summaries. rag-application, vehicle-data-etl
vehicle-data-etl Step Functions and Glue pipeline that extracts Toyota API data, summarizes JSON, checks quality, embeds, and loads OpenSearch. bedrock-generation-service, opensearch-vector-store, evaluation-engine
evaluation-engine GitLab-runner orchestration that generates synthetic tests from SME-approved golden data and scores RAG output. vehicle-data-etl, rag-application
compliance-logging-pipeline SQS, Lambda, MongoDB, Datadog, and reporting path for logs, observability, and compliance reporting. rag-application
agentcore-v2-platform Planned v2 agentic platform using Bedrock AgentCore, Strands, and MCP servers for dynamic actions such as vehicle availability. rag-application

Data flow

Official Toyota vehicle JSON is extracted from Toyota API servers into S3, transformed into chunked natural-language summaries by Bedrock, checked for critical facts, embedded, tied back to raw citation data, and loaded through timestamped OpenSearch indexes. At runtime, authenticated dealer or web requests pass Prompt Guard, vehicle intent routing, conversation tracking, weighted embedding generation over the current and previous five turns, semantic search, Bedrock generation, post-processing for disclaimers/citations, compliance logging, and streaming back to the front end.

4 supporting quotes
“we took all of our product data about the vehicles that comes from our manufacturing, our sales, and our marketing put that together inside of a pipeline”transcript, stated
“Before we perform any execution or inference on the intent router, we immediately route it to a solution that was built in-house by our cybersecurity team called Prompt Guard.”transcript, stated
“It'll first hit Amazon SageMaker. It will generate embeddings for not only the most recent query but the previous five turns of the conversation”transcript, stated
“we will perform a semantic search against our vector database, which is hosted inside of OpenSearch serverless.”transcript, stated

Why this architecture

Toyota built an in-house custom RAG system because vehicle answers must use official backed sources, cite raw data, preserve legal disclaimers, and pass cybersecurity and governance review. The system separates edge auth, prompt security, intent routing, stateless RAG, data ingestion, observability, and compliance logging so Toyota can serve the dealer network while maintaining brand, legal, and data controls. The planned v2 AgentCore platform exists because dynamic actions such as vehicle availability need tool orchestration beyond retrieval.

4 supporting quotes
“We did not want to rely on the world knowledge of LLMs in order to represent our vehicles.”transcript, stated
“any answer that the assistant sends needs to include contextually relevant disclaimers.”transcript, stated
“the RAG application is completely stateless. All conversation management is handled by the enterprise AI account.”transcript, stated
“version two, which is an agentic platform that we are building within Amazon Bedrock AgentCore.”transcript, stated

Models used: Amazon Bedrock · Anthropic models · Amazon SageMaker · OpenSearch Serverless · AWS Step Functions · AWS Glue · Amazon EventBridge · Amazon ECS · Amazon EKS · DynamoDB · SQS · MongoDB · Datadog · Amazon Bedrock AgentCore · Strands · MCP servers

Scale

Alternatives considered (roads not taken)

Rely on LLM world knowledge for vehicle answers

Rejected because: Toyota required official backed data, accurate citations, legal disclaimers, and brand-compliant wording.

“We did not want to rely on the world knowledge of LLMs in order to represent our vehicles.”transcript, stated
“we provide accurate citation-backed responses.”transcript, stated

Expose raw JSON vehicle data directly to retrieval

Rejected because: Toyota needed natural-language summaries for semantic search while preserving raw data for citations.

“we had to figure out a way to take these raw JSON data and then translate it into a usable format.”transcript, stated
“In addition to the processed fields, we also include the raw data that the processed field was generated from.”transcript, stated

Use the v1 RAG system for dynamic vehicle actions

Rejected because: Toyota is moving toward an AgentCore-based v2 for agentic actions that go beyond static vehicle information retrieval.

“version one of our system, which as Stephen said, is a RAG based implementation as well as where we're heading for version two”transcript, stated
“an agentic platform that we are building within Amazon Bedrock AgentCore.”transcript, stated

Patterns

rag-retrieval (retrieval)

Toyota retrieves official vehicle documents from OpenSearch Serverless and generates answers with Bedrock instead of relying on LLM world knowledge.

“we built this in-house as a custom RAG solution in order to meet our business needs.”transcript, stated

guardrails-io-filtering (security)

Prompt Guard checks incoming requests for prompt injection before the intent router performs inference.

“Prompt Guard is a solution that is intended to help identify and block malicious activities such as prompt injection.”transcript, stated

eval-driven-development (evaluation)

New OpenSearch indexes are checked with synthetic tests derived from SME-approved golden Q&A data before use.

“TMNA provided us with a golden set of data for one of our vehicles.”transcript, stated
“This synthetic test set can be generated for any of our vehicles.”transcript, stated

structured-output-contract (governance)

Toyota maps disclaimer codes to unaltered legal text and post-processes streaming output so responses meet legal and brand requirements.

“map it to an unaltered legal disclaimer text that must be shown whenever contextually relevant.”transcript, stated

observability-tracing (operations)

The platform forwards logs to Datadog and stores inference logs through SQS/Lambda/MongoDB for compliance reporting.

“We are also utilizing Datadog for our observability platform and we will forward all logs to this and export those to Datadog.”transcript, stated

Tradeoffs

Build a custom in-house RAG system.

Chose Toyota-controlled RAG over official backed sources over Generic off-the-shelf chatbot over model world knowledge.

Rationale: Vehicle information has legal, brand, pricing, trim, and citation requirements that require Toyota-owned data and controls.

“we integrate with Toyota official backed data sources.”transcript, stated
“we built this in-house as a custom RAG solution in order to meet our business needs.”transcript, stated

Use natural-language summaries for retrieval while retaining raw data.

Chose Summary chunks plus raw citation payloads over Raw JSON only or summaries only.

Rationale: Summaries improve semantic search, while raw data remains necessary for citations and legal disclaimer handling.

“generate natural language translations of this object that we then utilize in order to perform the semantic search.”transcript, stated
“In addition to the processed fields, we also include the raw data that the processed field was generated from.”transcript, stated

Keep the RAG application stateless.

Chose Enterprise AI account owns conversation state over Stateful RAG service.

Rationale: Separating conversation management from Toyota Connected's RAG app simplifies service boundaries and scaling.

“the RAG application is completely stateless. All conversation management is handled by the enterprise AI account.”transcript, stated

Gotchas (what bit them)

LLM-generated vehicle summaries can corrupt critical facts.

Root cause: The ETL uses Bedrock to translate raw JSON into natural-language summaries, and LLM calls are non-deterministic.

Resolution: Add data quality checks for critical information such as pricing details and trim availability before indexing.

“due to the non-deterministic nature of LLM output, it is up to us to ensure that these summarizations are accurate”transcript, stated
“data quality checks that verify the output of these summarizations and ensure the accuracy of critical pieces of information such as pricing details and trim availabilities.”transcript, stated

Legal disclaimers cannot be paraphrased away.

Root cause: Vehicle data contains disclaimer codes that must resolve to exact legal text when contextually relevant.

Resolution: Keep raw data alongside processed summaries and map disclaimer codes to unaltered legal disclaimer text during response post-processing.

“it has a disclaimer code in line that we have to parse and then map it to an unaltered legal disclaimer text”transcript, stated
“This raw data is important for us to actually perform the citations workflows”transcript, stated

Enterprise agent rollout needs centralized identity, guardrails, and observability.

Root cause: Multiple Toyota lines of business want agents, but security teams need confined environments and control.

Resolution: Use internal development platforms and AgentCore-style infrastructure to democratize agents with templates, identity, guardrails, and observability.

“deploy agents at scale within your own confined arguments and scale and identity and guardrails, so your security team's not freaking out”transcript, stated

Evaluation

Toyota evaluates both data-ingest quality and runtime RAG quality. Data quality checks verify LLM-generated summaries for pricing and trim availability. A GitLab-runner evaluation engine uses SME-approved golden Q&A data to create synthetic tests, invokes the deployed RAG application, and scores outputs with a council-of-LLMs approach against defined performance and answer-quality metrics.

Metrics: pricing-detail accuracy · trim-availability accuracy · citation correctness · RAG answer quality · synthetic test performance · dealer interaction volume · compliance reporting

4 supporting quotes
“created an evaluations engine that we have created and orchestrated a series of scripts utilizing GitLab Runners.”transcript, stated
“a series of question and answer pairs that has been proven from one of the SMEs over at TMNA.”transcript, stated
“utilizing a council of LLM approach to understand and gauge against a series of metrics that we've defined”transcript, stated
“we added data quality checks that verify the output of these summarizations”transcript, stated

Outcomes

The current production footprint covers all Toyota North America vehicles from model years 2023 through 2026, around 7,000-plus monthly interactions, and an ETL process capable of transforming about 30 vehicles concurrently.

4 supporting quotes
“deployed to the entire dealer body for the Toyota dealers”transcript, stated
“about 7,000 plus interactions per month that is going through the system”transcript, stated
“allows for users to ask natural language queries to learn about Toyota vehicle information.”transcript, stated
“version two, which is an agentic platform that we are building within Amazon Bedrock AgentCore.”transcript, stated