### Install and Clone the Repository Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-mcp-example/spring-ai-alibaba-mcp-manual-example/sqlite/ai-mcp-sqlite-chatbot/README.md These commands clone the Spring AI examples repository from GitHub and navigate into the specific directory for the SQLite chatbot example. ```Bash git clone https://github.com/spring-projects/spring-ai-examples.git cd model-context-protocol/sqlite/chatbot ``` -------------------------------- ### Run the Next.js Development Server Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-scene-example/frontend/README.md These shell commands start the Next.js development server. You can use the command corresponding to your preferred package manager (npm, yarn, pnpm, or bun). After running one of these commands, the application will be accessible at http://localhost:8080. ```bash npm run dev # or yarn dev # or pnpm dev # or bun dev ``` -------------------------------- ### Install uvx Package Manager Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-mcp-example/spring-ai-alibaba-mcp-manual-example/sqlite/ai-mcp-sqlite/README.md Command to install the uvx (Universal Package Manager), which is a prerequisite for setting up the project environment. Follow the instructions at the provided URL. ```bash # Follow installation instructions at: https://docs.astral.sh/uv/getting-started/installation/ ``` -------------------------------- ### Initialize and Run a Vue.js Project Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md A sequence of shell commands to initialize a new Vue.js project using `npm create vue@latest`, install dependencies with `yarn`, format the code, and run the development server. It also includes a command to add the Ant Design Vue library. ```shell # add vite vue project # https://vuejs.org/guide/scaling-up/tooling.html # Vue CLI is the official webpack-based toolchain for Vue. # It is now in maintenance mode and we recommend starting new projects with Vite unless you rely on specific webpack-only features. # Vite will provide superior developer experience in most cases. # note your env version # node v18.0.0 # yarn 1.22.21 npm create vue@latest yarn yarn format # run it yarn dev # main com yarn add ant-design-vue@4.x ``` -------------------------------- ### Clone Repository and Navigate to Project Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-mcp-example/spring-ai-alibaba-mcp-manual-example/sqlite/ai-mcp-sqlite/README.md These commands clone the Spring AI examples repository from GitHub and navigate into the specific directory for the model context protocol demo. ```bash git clone https://github.com/spring-projects/spring-ai-examples.git cd model-context-protocol/sqlite/simple ``` -------------------------------- ### Clone and Build the Project Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md Commands to clone the project repository from GitHub, navigate into the project directory, and build the application using Maven. ```sh git clone https://github.com/springaialibaba/spring-ai-alibaba-examples.git cd spring-ai-alibaba-translate-example mvn clean install ``` -------------------------------- ### Run the Spring Boot Application Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md Command to run the Spring Boot application using the Maven plugin. The application will start on the default port 8080. ```sh mvn spring-boot:run ``` -------------------------------- ### Build and Deploy the Vue.js Project Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Contains the command to build the application for production and instructions on where to place the generated files. The `dist/assets` and `dist/index.html` are copied to the backend's static resource and template paths respectively. ```shell yarn build ``` -------------------------------- ### Test DashScope Translation Endpoint with cURL Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md An example cURL command to test the simple DashScope translation endpoint. It sends a GET request with text, source language, and target language as URL parameters. ```sh curl "http://localhost:8080/api/dashscope/translate/simple?text=你好,世界!&sourceLanguage=中文&targetLanguage=英文" ``` -------------------------------- ### Run the Packaged Application Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/README.md Execute the compiled JAR file from the target directory to start the Spring Boot application. ```shell java -jar ./target/playground-flight-booking-0.0.1-SNAPSHOT.jar ``` -------------------------------- ### Run Cloud RAG Example with cURL Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-rag-example/rag-elasticsearch-example/README.md These cURL commands show how to use the cloud-based RAG service. The first command initiates the document import process on the cloud, and the second command sends a query for retrieval and generation using the cloud infrastructure. ```bash 1. start application. 2. import document by using curl http request. curl -X GET http://127.0.0.1:8080/ai/cloud/rag/importDocument 3. retrieval and generation curl -G 'http://127.0.0.1:8080/ai/cloud/rag' --data-urlencode 'message=如何快速开始spring ai alibaba' ``` -------------------------------- ### Run Local RAG Example with cURL Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-rag-example/rag-elasticsearch-example/README.md These cURL commands demonstrate how to interact with the local RAG service. The first command imports a document into the local vector database, and the second command performs retrieval and generation based on a Chinese-language query. ```bash 1. start application. 2. import document by using curl http request. curl -X GET http://127.0.0.1:8080/ai/rag/importDocument 3. retrieval and generation curl -G 'http://127.0.0.1:8080/ai/rag' --data-urlencode 'message=如何快速开始spring ai alibaba' ``` -------------------------------- ### Embed an Icon using a Component Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Shows how to use an `` component to display an SVG icon from a library like `icones.js.org`. This example renders a 'pulse-ring' spinner, a common UI element for indicating loading states. ```html ``` -------------------------------- ### Call the Application Service Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-observability-example/observability-arms-example/README.md Use this curl command to send a request to the '/joke' endpoint of the running application. This action will generate observability data that can be viewed in the ARMS console. ```bash curl --location 'http://localhost:8080/joke' ``` -------------------------------- ### Initialize Pgvector Table for RAG Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-rag-example/rag-pgvector-example/README.md This SQL script sets up the PostgreSQL database for the RAG example. It enables the 'uuid-ossp' extension for UUID generation, creates a 'vector_store' table to hold document content, metadata, and embeddings, and adds an HNSW index to optimize vector similarity searches. ```sql CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE TABLE IF NOT EXISTS vector_store ( id uuid DEFAULT uuid_generate_v4() PRIMARY KEY, content text, metadata json, embedding vector(1536) ); CREATE INDEX ON vector_store USING HNSW (embedding vector_cosine_ops); ``` -------------------------------- ### API Endpoint for Basic Translation with DashScope Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md This API endpoint translates a given text string using a DashScope model. It accepts the text, source language, and target language as GET request parameters. ```APIDOC - URL: /api/dashscope/translate/simple - Method: GET - Description: Translate text using DashScope model #### Request Parameters - text: The text to be translated - sourceLanguage: Source language (default: "中文" - Chinese) - targetLanguage: Target language (default: "英文" - English) #### Response ```json { "translatedText": "Hello, World!" } ``` ``` -------------------------------- ### Mark Incomplete Functions with a TODO Notification Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Demonstrates how to mark an incomplete function using a notification utility. This example shows a `globalQuestion` function that calls `devTool.todo` to indicate it's a work in progress, which is a useful convention for team development. ```javascript /** * this function is showing some tips about our Q&A * TODO */ function globalQuestion() { devTool.todo("show Q&A tips") } ``` -------------------------------- ### Test File Translation Endpoint with cURL Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md An example cURL command to test the file translation endpoint. It sends a POST request with a file and the target language to the `/api/translate/file` endpoint. ```sh curl -X POST http://localhost:8080/api/translate/file \ -F "file=@/path/to/your/file.txt" \ -F "targetLang=Chinese" ``` -------------------------------- ### Build and Run the Application with Aliyun Agent Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-observability-example/observability-arms-example/README.md These shell commands first build the Spring Boot project using Maven, then set the required API key as an environment variable. Finally, it runs the application JAR with the Aliyun Java Agent and system properties for the ARMS license key, application name, and region ID to enable observability. ```bash mvn clean package -Dmvn.test.skip=true export AI_DASHSCOPE_API_KEY=${AI_DASHSCOPE_API_KEY} java \ -javaagent:./src/javaagent/AliyunJavaAgent/aliyun-java-agent.jar \ -Darms.licenseKey=${ARMS_LICENSE_KEY} \ -Darms.appName=${ARMS_APP_NAME} \ -Daliyun.javaagent.regionId=${ARMS_REGION_ID} \ -jar ./target/observability-arms-example-1.0.0.jar ``` -------------------------------- ### Configure Axios Base URL for API Requests Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Illustrates how to configure a global `axios` instance by setting a `baseURL`. This allows developers to easily switch between different environments, such as mock and production APIs, by changing a single configuration value. ```typescript // request.ts const service: AxiosInstance = axios.create({ // change this to decide where to go baseURL: '/mock', timeout: 30 * 1000 }) ``` -------------------------------- ### Import a File via API Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-rag-example/rag-pgvector-example/README.md This cURL command demonstrates how to import a file for RAG processing by sending a POST request to the `/ai/rag/importFileV2` endpoint. The specified file will be processed and its contents stored in the vector database. ```bash curl -X POST http://localhost:8080/ai/rag/importFileV2 \ -F "file=@/path/to/your/file" ``` -------------------------------- ### Create a Mock API Response with Mock.js Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Demonstrates how to use `Mock.js` to intercept API calls to a specific path (`/mock/metrics/cluster`) and return a predefined mock data structure. This is useful for front-end development and testing without requiring a live backend. ```javascript // define a mock api import Mock from 'mockjs' Mock.mock('/mock/metrics/cluster', 'get', { code: 200, message: '成功', data: { all: Mock.mock('@integer(100, 500)'), application: Mock.mock('@integer(80, 200)'), consumers: Mock.mock('@integer(80, 200)'), providers: Mock.mock('@integer(80, 200)'), services: Mock.mock('@integer(80, 200)'), versions: ["dubbo-golang-3.0.4"], protocols: ["tri"], rules: [], configCenter: "127.0.0.1:2181", registry: "127.0.0.1:2181", metadataCenter: "127.0.0.1:2181", grafana: "127.0.0.1:3000", prometheus: "127.0.0.1:9090" } }) // import in main.ts import './api/mock/mockCluster.js' ``` -------------------------------- ### API Endpoint for Streaming Translation with DashScope Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md This API endpoint provides a streaming translation of a given text string using a DashScope model, which is useful for real-time applications like a typewriter effect. The response is a stream of translated text. ```APIDOC - URL: /api/dashscope/translate/stream - Method: GET - Description: Stream translation text using DashScope model, supporting real-time typewriter effect #### Request Parameters - text: The text to be translated - sourceLanguage: Source language (default: "中文" - Chinese) - targetLanguage: Target language (default: "英文" - English) #### Response Streaming text response ``` -------------------------------- ### Ark LLM API Configuration in YAML Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-chat-example/ark-chat/README.md This YAML configuration is required in `application.yml` to connect a Spring AI application with Ark LLM. It uses the OpenAI configuration path due to Ark LLM's API compatibility, requiring an `api-key` and `model-id` to be set. ```yaml spring: ai: openai: api-key: ${OPENAI_API_KEY} # Ark LLM API Key | Ark LLM 的 API Key model-id: ${OPENAI_MODEL_ID} # Ark LLM Model ID (Access Point ID) | Ark LLM 的模型 ID(Access Point ID) ``` -------------------------------- ### Declare an API Endpoint Request Function in TypeScript Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Provides an example of how to define a function `getClusterInfo` that makes a GET request to the `/metrics/cluster` endpoint using a pre-configured `axios` instance. The function accepts parameters and returns a Promise, following a common pattern for abstracting data fetching logic. ```typescript import request from '@/base/http/request' export const getClusterInfo = (params: any):Promise => { return request({ url: '/metrics/cluster', method: 'get', params }) } ``` -------------------------------- ### Build Frontend Assets Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/README.md Run this command to build the frontend assets using the `build-frontend` Maven profile. This step is only necessary if you have made changes to the frontend code. ```shell mvn clean compile -Pbuild-frontend ``` -------------------------------- ### Build the Application JAR Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/README.md Use the Maven wrapper to clean the project and package the application into an executable JAR file. ```shell ./mvnw clean package ``` -------------------------------- ### Run the Application with Predefined Questions Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-mcp-example/spring-ai-alibaba-mcp-manual-example/sqlite/ai-mcp-sqlite/README.md This command uses the Maven wrapper to run the Spring Boot application. In this mode, it executes a series of preset database queries against the SQLite database. ```bash ./mvnw spring-boot:run ``` -------------------------------- ### Add Spring AI Alibaba Maven Dependency Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/README.md To integrate Spring AI with Alibaba's Dashscope services, add the `spring-ai-alibaba-starter-dashscope` dependency to your project's `pom.xml` file. ```xml org.springframework.ai spring-ai-alibaba-starter-dashscope 1.0.0.1 ``` -------------------------------- ### Spring AI Feature and API Index Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-rag-example/rag-etl-pipeline-example/src/main/resources/data/spring-ai.html A comprehensive index of Spring AI's features and integrations. This includes various AI models for chat, embeddings, images, and audio, as well as support for numerous vector databases and advanced concepts like RAG, Tool Calling, and Multimodality. It also lists utilities for service connections and development guidelines. ```APIDOC Embedding Models: - Azure OpenAI - Mistral AI - MiniMax - OCI GenAI - Ollama - (ONNX) Transformers - OpenAI - PostgresML - QianFan - VertexAI (Text Embedding, Multimodal Embedding) - watsonx.AI - ZhiPu AI Image Models: - Azure OpenAI - OpenAI - Stability - ZhiPuAI - QianFan Audio Models: - Transcription API (Azure OpenAI, OpenAI) - Text-To-Speech (TTS) API (OpenAI) Moderation Models: - OpenAI Vector Databases: - Azure AI Service - Azure Cosmos DB - Apache Cassandra - Chroma - Couchbase - Elasticsearch - GemFire - MariaDB - Milvus - MongoDB Atlas - Neo4j - OpenSearch - Oracle - PGvector - Pinecone - Qdrant - Redis - SAP Hana - Typesense - Weaviate Core Features: - Retrieval Augmented Generation (RAG) - ETL Pipeline - Structured Output - Tool Calling - Model Context Protocol (MCP) - Multimodality - Observability - Prompts - AI Model Evaluation Service Connections: - Docker Compose - Testcontainers - Cloud Bindings ``` -------------------------------- ### Create Function Callbacks from MCP Tools in Java Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-mcp-example/spring-ai-alibaba-mcp-manual-example/sqlite/ai-mcp-sqlite/README.md This Java code defines a Spring bean that creates a list of `McpFunctionCallback` instances. It uses the `McpSyncClient` to discover available tools from the MCP server and converts each one into a function callback that Spring AI can use to interact with the database. ```java @Bean public List functionCallbacks(McpSyncClient mcpClient) { return mcpClient.listTools(null) .tools() .stream() .map(tool -> new McpFunctionCallback(mcpClient, tool)) .toList(); } ``` -------------------------------- ### Define the Chat Client Bean in Java Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-mcp-example/spring-ai-alibaba-mcp-manual-example/sqlite/ai-mcp-sqlite/README.md This Java code defines a Spring `CommandLineRunner` bean that configures and builds a `ChatClient`. It injects the MCP function callbacks and uses the client to run a predefined prompt against the SQLite database, demonstrating a simple, programmatic interaction with the AI model. ```java @Bean @Profile("!chat") public CommandLineRunner predefinedQuestions(ChatClient.Builder chatClientBuilder, List functionCallbacks, ConfigurableApplicationContext context) { return args -> { var chatClient = chatClientBuilder.defaultFunctions(functionCallbacks.toArray(new McpFunctionCallback[0])) .build(); // Run Predefined Questions System.out.println(chatClient.prompt( "Can you connect to my SQLite database and tell me what products are available, and their prices?").call().content()); // ... }; } ``` -------------------------------- ### API Endpoint for Custom Parameter Translation with DashScope Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md This API endpoint allows for text translation using DashScope with custom model parameters. It takes text, source language, and target language as input. ```APIDOC - URL: /api/dashscope/translate/custom - Method: GET - Description: Use DashScope translation with custom model parameters #### Request Parameters - text: The text to be translated - sourceLanguage: Source language (default: "中文" - Chinese) - targetLanguage: Target language (default: "英文" - English) #### Response ```json { "translatedText": "Hello, World!" } ``` ``` -------------------------------- ### Set OpenAI API Key Environment Variable Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-mcp-example/spring-ai-alibaba-mcp-manual-example/sqlite/ai-mcp-sqlite/README.md This command sets the necessary OpenAI API key as an environment variable. The application requires this key to authenticate with OpenAI's language models. ```bash export OPENAI_API_KEY='your-api-key-here' ``` -------------------------------- ### Initialize UI and Context After Page Load Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-rag-example/rag-etl-pipeline-example/src/main/resources/data/阿里云百炼.html This JavaScript snippet executes after the initial loading phase. It sets up internationalization messages, injects a loading spinner into the UI via innerHTML, and defines a context object for a fast login feature. ```javascript var aliyunConsoleI18nMessage = {}; aliyunConsoleI18nMessage = ONE_CONSOLE_TOOL.extend(window["visage_zh-cn"], aliyunConsoleI18nMessage); var ALIYUN_VISAGE_MESSAGE = aliyunConsoleI18nMessage; var aliyunConsoleOverlay = document.getElementById('AliyunConsoleOverlay'); aliyunConsoleOverlay.innerHTML = '' window.FastLoginContext = { tenantName: 'website', }; ``` -------------------------------- ### Invoke an API on Component Mount in Vue Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Shows how to call an asynchronous API function (`getClusterInfo`) within Vue's `onMounted` lifecycle hook. It uses `async/await` to fetch data and handle the response when the component is first rendered. ```typescript onMounted(async () => { let {data} = await getClusterInfo({}) }) ``` -------------------------------- ### Configure Dashscope in application.properties Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/README.md Configure the Dashscope API key and chat model in your `application.properties` file. The API key is expected to be provided via an environment variable named `AI_DASHSCOPE_API_KEY`. ```properties spring.ai.dashscope.api-key=${AI_DASHSCOPE_API_KEY} spring.ai.dashscope.chat.options.model=qwen-max ``` -------------------------------- ### Define and Use Global CSS Variables in JavaScript Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-agent-example/playground-flight-booking/frontend/README.md Illustrates how to create a reactive global CSS variable using Vue's `ref`. The `PRIMARY_COLOR` is exported and can be imported in other JavaScript files or referenced in CSS to maintain a consistent theme. ```javascript // if you want use the global css var, such as primary color // create a reactive reference to a var by 'ref' export const PRIMARY_COLOR = ref('#17b392') // In js import {PRIMARY_COLOR} from '@/base/constants' // In CSS, use __null for explicit reference to prevent being cleared by code formatting. let __null = PRIMARY_COLOR ``` -------------------------------- ### Delete a File via API Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-rag-example/rag-pgvector-example/README.md This cURL command shows how to delete a specific file from the vector database by sending a DELETE request to the `/ai/rag/deleteFiles` endpoint. The `fileId` of the file to be removed must be included as a query parameter. ```bash curl -X DELETE 'http://localhost:8080/ai/rag/deleteFiles?fileId={fileId}' ``` -------------------------------- ### API Endpoint for File Translation with Ollama Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-usecase-example/spring-ai-alibaba-translate-example/README-en.md This API endpoint translates the content of an uploaded file to a specified target language using an Ollama model. The request must be a multipart/form-data POST request containing the file and target language. ```APIDOC - URL: /api/translate/file - Method: POST - Description: Translates the content of the uploaded file to the specified target language. #### Request Parameters - file: The file to be translated (multipart/form-data) - targetLang: The target language for translation (e.g., "Chinese") #### Response ```json { "translatedText": "你好,世界!" } ``` ``` -------------------------------- ### Configure Spring AI Alibaba Tool Calling Services Source: https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-tool-calling-example/README.md This YAML configuration enables and configures multiple tool-calling services for a Spring AI application. It sets up integrations for Baidu Translate, Baidu Maps, a local time service, and WeatherAPI. API keys and secrets must be provided through environment variables like `BAIDU_TRANSLATE_APP_ID`, `BAIDU_MAP_API_KEY`, `WEATHER_API_KEY`, and `AI_DASHSCOPE_API_KEY`. ```yaml spring: ai: alibaba: toolcalling: baidu: translate: enabled: true app-id: ${BAIDU_TRANSLATE_APP_ID} secret-key: ${BAIDU_TRANSLATE_SECRET_KEY} map: enabled: true apiKey: ${BAIDU_MAP_API_KEY} time: enabled: true weather: enabled: true api-key: ${WEATHER_API_KEY} dashscope: api-key: ${AI_DASHSCOPE_API_KEY} ```