PabloSanchi / IBM-WatsonxAI-Spring-AI-Example

Example of IBM watsonx.ai with Spring AI
https://docs.spring.io/spring-ai/reference/1.0-SNAPSHOT/api/chat/watsonx-ai-chat.html
1 stars 2 forks source link
embeddings generative-ai ibm java spring-ai watsonx-ai

Watsonx AI Integration

Overview

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.

Features

Notes

Getting Started

  1. Clone the Repository
    git clone https://github.com/PabloSanchi/IBM-WatsonxAI-Spring-AI-Example
  2. Change Directory
    cd IBM-WatsonxAI-Spring-AI-Example
  3. 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 

Incoming updates to spring ai watsonxai integration: