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:
- answers must use Toyota official backed data rather than model world knowledge
- pricing, trim availability, fuel economy, Toyota Safety Sense, and legal disclaimers must be accurate
- the system must support the full dealer body and multiple front-end contexts
- prompt injection and malicious inputs must be blocked before inference
- non-deterministic LLM-generated summaries require data quality checks and evaluations before use
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"]
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
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
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
- The AWS/Toyota relationship discussed spans about seven and a half years.“I've actually been supporting Toyota for about seven and a half years.”transcript, stated
- The v1 system is deployed to the entire Toyota dealer body.“that first version of the system is deployed to the entire dealer body for the Toyota dealers”transcript, stated
- Toyota reports about 7,000-plus interactions per month through the system.“we're looking at about 7,000 plus interactions per month that is going through the system”transcript, stated
- The system supports Toyota North America vehicles from model years 2023 through 2026.“we support all Toyota North America vehicles from model years 2023 through 2026.”transcript, stated
- The ETL transform can process around 30 vehicles concurrently.“we are able to transform up to around 30 vehicles concurrently.”transcript, stated
- Runtime retrieval returns 30 documents per requested vehicle.“We will then retrieve, using the semantic search, 30 documents per vehicle that is asked about.”transcript, stated
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.
Expose raw JSON vehicle data directly to retrieval
Rejected because: Toyota needed natural-language summaries for semantic search while preserving raw data for citations.
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.
Patterns
rag-retrieval (retrieval)
Toyota retrieves official vehicle documents from OpenSearch Serverless and generates answers with Bedrock instead of relying on LLM world knowledge.
guardrails-io-filtering (security)
Prompt Guard checks incoming requests for prompt injection before the intent router performs inference.
eval-driven-development (evaluation)
New OpenSearch indexes are checked with synthetic tests derived from SME-approved golden Q&A data before use.
structured-output-contract (governance)
Toyota maps disclaimer codes to unaltered legal text and post-processes streaming output so responses meet legal and brand requirements.
observability-tracing (operations)
The platform forwards logs to Datadog and stores inference logs through SQS/Lambda/MongoDB for compliance reporting.
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.
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.
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.
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.
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.
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.
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
Outcomes
- Toyota deployed v1 of the RAG system to the entire Toyota dealer body.
- The system handles about 7,000-plus interactions per month.
- The assistant provides natural-language vehicle information on specifications, pricing, trims, and accessories.
- Responses are citation-backed and use Toyota official data sources.
- Toyota is building a v2 agentic platform on Bedrock AgentCore for more dynamic actions.
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.