This project demonstrates how to integrate IBM's Watsonx AI models into a Spring Boot application. The application provides endpoints for generating chat responses and text embeddings using the Watsonx AI chat and embedding models. As a contributor to the Spring AI module, I have implemented these integrations to enable seamless interactions with Watsonx AI.
git clone https://github.com/PabloSanchi/IBM-WatsonxAI-Spring-AI-Example
cd IBM-WatsonxAI-Spring-AI-Example
Configure Watsonx AI: Ensure you have your Watsonx AI credentials set up in your application properties or environment variables.
Example shcema:
spring:
ai:
watsonx:
ai:
base-url: ${WATSONX_BASE_URL}
stream-endpoint: ${WATSONX_STREAM_ENDPOINT}
text-endpoint: ${WATSONX_TEXT_ENDPOINT}
embedding-endpoint: ${WATSONX_EMBEDDING_ENDPOINT}
project-id: ${WATSONX_PROJECT_ID}
iam-token: ${WATSONX_IAM_TOKEN}
chat:
options:
model: ${WATSONX_CHAT_MODEL}
embedding:
options:
model: ${WATSONX_EMBEDDING_MODEL}
springdoc: swagger-ui: path: /swagger.html
5. **Run the APP**
6. **Go to the Swagger UI**: test the endpoints http://localhost:8080/swagger-ui/index.html
## Build
To build the project, run the following command:
```sh
./mvnw clean install
To run the project linter and formatter, run the following command:
./mvnw spring-javaformat:apply