diff --git a/pom.xml b/pom.xml index 3c4b986..a70002c 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ io.github.vishalmysore tools4ai - 0.9.4 + 0.9.5 ch.qos.logback diff --git a/src/main/java/org/example/ComplexActionExample.java b/src/main/java/org/example/ComplexActionExample.java index a40f58c..cfa19e3 100644 --- a/src/main/java/org/example/ComplexActionExample.java +++ b/src/main/java/org/example/ComplexActionExample.java @@ -3,6 +3,7 @@ import com.t4a.processor.AIProcessingException; import com.t4a.processor.ActionProcessor; import lombok.extern.java.Log; +import org.example.actions.AddRestaurantAction; /** * This will create the Player Pojo in real time and call the action diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index 8fdea10..a6353c6 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -1,31 +1,9 @@ package org.example; -import com.google.cloud.vertexai.VertexAI; -import com.google.cloud.vertexai.api.Content; -import com.google.cloud.vertexai.api.FunctionDeclaration; -import com.google.cloud.vertexai.api.GenerateContentResponse; -import com.google.cloud.vertexai.api.Tool; -import com.google.cloud.vertexai.generativeai.*; -import com.t4a.action.BlankAction; -import com.t4a.api.AIAction; -import com.t4a.api.JavaMethodExecutor; -import com.t4a.predict.Predict; -import com.t4a.predict.PredictionLoader; import com.t4a.processor.AIProcessingException; import com.t4a.processor.ActionProcessor; -import com.t4a.processor.OpenAiActionProcessor; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.PathItem; -import io.swagger.v3.parser.converter.SwaggerConverter; import lombok.extern.java.Log; -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.core.type.filter.AnnotationTypeFilter; - -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.util.*; +import org.example.actions.GoogleSearchAction; @Log public class Main { diff --git a/src/main/java/org/example/OpenAIActionExample.java b/src/main/java/org/example/OpenAIActionExample.java new file mode 100644 index 0000000..00cfa9f --- /dev/null +++ b/src/main/java/org/example/OpenAIActionExample.java @@ -0,0 +1,34 @@ +package org.example; + +import com.t4a.processor.AIProcessingException; +import com.t4a.processor.OpenAiActionProcessor; +import lombok.extern.java.Log; +import org.example.actions.AddRestaurantAction; + +@Log +public class OpenAIActionExample { + public static void main(String[] args) throws AIProcessingException { + OpenAiActionProcessor processor = new OpenAiActionProcessor(); + String promptTxt ="Sachin Tendulkar is very good cricket player, " + + "he joined the sports on 24032022, he has played 300 matches " + + "and his max score is 400. Can you send him a congratulations email"; + String response = (String)processor.processSingleAction(promptTxt); + response = processor.query(promptTxt,response); + log.info(response); + + + promptTxt = "Sachin Tendulkar is very good cricket player, \" +\n" + + " \"he joined the sports on 24032022, he has played 300 matches \" +\n" + + " \"and his max score is 400." + + "can you book Maharaja restaurant in " + + "Toronto for Sachin Tendulkar and 4 people on 12th may. Please notify him and the restaurant "; + response = (String)processor.processSingleAction(promptTxt); + log.info(response); + + promptTxt ="Maharaja restaurant in \" +\n" + + " \"Toronto for Sachin Tendulkar and 4 people on 12th may"; + response = (String)processor.processSingleAction(promptTxt, new AddRestaurantAction()); + log.info(response); + + } +} diff --git a/src/main/java/org/example/PojoExample.java b/src/main/java/org/example/PojoExample.java index 237bb5e..9aedaf1 100644 --- a/src/main/java/org/example/PojoExample.java +++ b/src/main/java/org/example/PojoExample.java @@ -7,6 +7,8 @@ import com.t4a.predict.PromptTransformer; import com.t4a.processor.AIProcessingException; import lombok.extern.java.Log; +import org.example.pojo.Player; +import org.example.pojo.RestaurantPojo; import org.example.util.DateDeserializer; import java.util.Date; diff --git a/src/main/java/org/example/TranslationPojoExample.java b/src/main/java/org/example/TranslationPojoExample.java new file mode 100644 index 0000000..e1fb6f9 --- /dev/null +++ b/src/main/java/org/example/TranslationPojoExample.java @@ -0,0 +1,14 @@ +package org.example; + +import com.t4a.predict.OpenAIPromptTransformer; +import com.t4a.processor.AIProcessingException; +import org.example.pojo.MyTranslatePojo; + +public class TranslationPojoExample { + public static void main(String[] args) throws AIProcessingException { + OpenAIPromptTransformer tra = new OpenAIPromptTransformer(); + String promptTxt = "paneer is so good"; + MyTranslatePojo myp = (MyTranslatePojo)tra.transformIntoPojo(promptTxt,MyTranslatePojo.class.getName()); + System.out.println(myp); + } +} diff --git a/src/main/java/org/example/AddRestaurantAction.java b/src/main/java/org/example/actions/AddRestaurantAction.java similarity index 77% rename from src/main/java/org/example/AddRestaurantAction.java rename to src/main/java/org/example/actions/AddRestaurantAction.java index 1a1467d..28f5edd 100644 --- a/src/main/java/org/example/AddRestaurantAction.java +++ b/src/main/java/org/example/actions/AddRestaurantAction.java @@ -1,8 +1,10 @@ -package org.example; +package org.example.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + import lombok.extern.java.Log; +import org.example.pojo.RestaurantPojo; @Log @Predict(actionName = "addRestaurantDetails",description = "saves the information in local file") diff --git a/src/main/java/org/example/FileWriteAction.java b/src/main/java/org/example/actions/FileWriteAction.java similarity index 95% rename from src/main/java/org/example/FileWriteAction.java rename to src/main/java/org/example/actions/FileWriteAction.java index 4bd1ca5..a4b3698 100644 --- a/src/main/java/org/example/FileWriteAction.java +++ b/src/main/java/org/example/actions/FileWriteAction.java @@ -1,6 +1,7 @@ -package org.example; +package org.example.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + import lombok.extern.java.Log; import java.io.File; diff --git a/src/main/java/org/example/GoogleSearchAction.java b/src/main/java/org/example/actions/GoogleSearchAction.java similarity index 94% rename from src/main/java/org/example/GoogleSearchAction.java rename to src/main/java/org/example/actions/GoogleSearchAction.java index 9629297..73def82 100644 --- a/src/main/java/org/example/GoogleSearchAction.java +++ b/src/main/java/org/example/actions/GoogleSearchAction.java @@ -1,7 +1,8 @@ -package org.example; +package org.example.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + import com.t4a.predict.PredictionLoader; import kong.unirest.core.HttpResponse; import kong.unirest.core.Unirest; diff --git a/src/main/java/org/example/NotifyPlayerAction.java b/src/main/java/org/example/actions/NotifyPlayerAction.java similarity index 77% rename from src/main/java/org/example/NotifyPlayerAction.java rename to src/main/java/org/example/actions/NotifyPlayerAction.java index 429582f..dd22ff7 100644 --- a/src/main/java/org/example/NotifyPlayerAction.java +++ b/src/main/java/org/example/actions/NotifyPlayerAction.java @@ -1,8 +1,10 @@ -package org.example; +package org.example.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + import lombok.extern.java.Log; +import org.example.pojo.Player; @Log @Predict(actionName = "notifyPlayer",description = "send email to player") diff --git a/src/main/java/org/example/PlayerWithRestaurantAction.java b/src/main/java/org/example/actions/PlayerWithRestaurantAction.java similarity index 76% rename from src/main/java/org/example/PlayerWithRestaurantAction.java rename to src/main/java/org/example/actions/PlayerWithRestaurantAction.java index 5c412f5..88f5c28 100644 --- a/src/main/java/org/example/PlayerWithRestaurantAction.java +++ b/src/main/java/org/example/actions/PlayerWithRestaurantAction.java @@ -1,9 +1,11 @@ -package org.example; +package org.example.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + import lombok.extern.java.Log; +import org.example.pojo.Player; +import org.example.pojo.RestaurantPojo; @Log @Predict(actionName = "notifyPlayerAndRestaurant",description = "send email to player") diff --git a/src/main/java/org/example/SimpleAction.java b/src/main/java/org/example/actions/SimpleAction.java similarity index 89% rename from src/main/java/org/example/SimpleAction.java rename to src/main/java/org/example/actions/SimpleAction.java index aeee099..961b79c 100644 --- a/src/main/java/org/example/SimpleAction.java +++ b/src/main/java/org/example/actions/SimpleAction.java @@ -1,9 +1,10 @@ -package org.example; +package org.example.actions; +import com.t4a.annotations.Predict; import com.t4a.api.AIAction; import com.t4a.api.ActionType; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + @Predict(actionName ="whatFoodDoesThisPersonLike", description = "Provide persons name and then find out what does that person like") public class SimpleAction implements JavaMethodAction { diff --git a/src/main/java/org/example/WeatherAction.java b/src/main/java/org/example/actions/WeatherAction.java similarity index 98% rename from src/main/java/org/example/WeatherAction.java rename to src/main/java/org/example/actions/WeatherAction.java index 975b20f..43e36f2 100644 --- a/src/main/java/org/example/WeatherAction.java +++ b/src/main/java/org/example/actions/WeatherAction.java @@ -1,9 +1,10 @@ -package org.example; +package org.example.actions; +import com.t4a.annotations.Predict; import com.t4a.api.AIAction; import com.t4a.api.ActionType; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + import lombok.extern.java.Log; import org.json.JSONArray; import org.json.JSONObject; diff --git a/src/main/java/org/example/pojo/MyTranslatePojo.java b/src/main/java/org/example/pojo/MyTranslatePojo.java new file mode 100644 index 0000000..a7b5681 --- /dev/null +++ b/src/main/java/org/example/pojo/MyTranslatePojo.java @@ -0,0 +1,21 @@ +package org.example.pojo; + +import com.t4a.annotations.Prompt; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +@Setter +@Getter +@NoArgsConstructor +@ToString +public class MyTranslatePojo { + @Prompt(describe = "translate to Hindi") + String answerInHindi; + @Prompt(describe = "translate to Punjabi") + String answerInPunJabi; + + @Prompt(describe = "translate to Tamil") + String answerInTamil; +} diff --git a/src/main/java/org/example/Player.java b/src/main/java/org/example/pojo/Player.java similarity index 74% rename from src/main/java/org/example/Player.java rename to src/main/java/org/example/pojo/Player.java index e281fed..a2c2046 100644 --- a/src/main/java/org/example/Player.java +++ b/src/main/java/org/example/pojo/Player.java @@ -1,5 +1,6 @@ -package org.example; +package org.example.pojo; +import com.t4a.annotations.Prompt; import lombok.*; import lombok.extern.java.Log; @@ -16,6 +17,7 @@ public class Player { int maxScore; String firstName; String lastName; + @Prompt(dateFormat = "ddMMyyyy") Date dateJoined; diff --git a/src/main/java/org/example/RestaurantDetails.java b/src/main/java/org/example/pojo/RestaurantDetails.java similarity index 95% rename from src/main/java/org/example/RestaurantDetails.java rename to src/main/java/org/example/pojo/RestaurantDetails.java index 7a26801..5071965 100644 --- a/src/main/java/org/example/RestaurantDetails.java +++ b/src/main/java/org/example/pojo/RestaurantDetails.java @@ -1,4 +1,4 @@ -package org.example; +package org.example.pojo; public class RestaurantDetails { String name; diff --git a/src/main/java/org/example/RestaurantPojo.java b/src/main/java/org/example/pojo/RestaurantPojo.java similarity index 94% rename from src/main/java/org/example/RestaurantPojo.java rename to src/main/java/org/example/pojo/RestaurantPojo.java index 6a08a4e..8ccaff8 100644 --- a/src/main/java/org/example/RestaurantPojo.java +++ b/src/main/java/org/example/pojo/RestaurantPojo.java @@ -1,4 +1,6 @@ -package org.example; +package org.example.pojo; + +import org.example.pojo.RestaurantDetails; public class RestaurantPojo { String name; diff --git a/src/main/java/org/example/script/actions/BookFlightAction.java b/src/main/java/org/example/script/actions/BookFlightAction.java index c575703..dadc510 100644 --- a/src/main/java/org/example/script/actions/BookFlightAction.java +++ b/src/main/java/org/example/script/actions/BookFlightAction.java @@ -1,7 +1,8 @@ package org.example.script.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + @Predict(actionName = "reserveFlight", description = "book the flight for customer") public class BookFlightAction implements JavaMethodAction { diff --git a/src/main/java/org/example/script/actions/CheckLogsAction.java b/src/main/java/org/example/script/actions/CheckLogsAction.java index a0bf3dc..bc3bf1e 100644 --- a/src/main/java/org/example/script/actions/CheckLogsAction.java +++ b/src/main/java/org/example/script/actions/CheckLogsAction.java @@ -1,7 +1,8 @@ package org.example.script.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + @Predict(actionName = "checkLogs", description = " Finds a particular text in Logs") public class CheckLogsAction implements JavaMethodAction { diff --git a/src/main/java/org/example/script/actions/RentalCarAction.java b/src/main/java/org/example/script/actions/RentalCarAction.java index 7634f1c..ffa297f 100644 --- a/src/main/java/org/example/script/actions/RentalCarAction.java +++ b/src/main/java/org/example/script/actions/RentalCarAction.java @@ -1,7 +1,8 @@ package org.example.script.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + @Predict(actionName = "reserveRentalCar", description = "book the rental car") public class RentalCarAction implements JavaMethodAction { diff --git a/src/main/java/org/example/script/actions/SeleniumAction.java b/src/main/java/org/example/script/actions/SeleniumAction.java index 4cc5253..174164e 100644 --- a/src/main/java/org/example/script/actions/SeleniumAction.java +++ b/src/main/java/org/example/script/actions/SeleniumAction.java @@ -1,7 +1,8 @@ package org.example.script.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + @Predict(actionName = "", description = "") public class SeleniumAction implements JavaMethodAction { diff --git a/src/main/java/org/example/script/actions/ServerRestartAction.java b/src/main/java/org/example/script/actions/ServerRestartAction.java index 5aaedbe..ede43ac 100644 --- a/src/main/java/org/example/script/actions/ServerRestartAction.java +++ b/src/main/java/org/example/script/actions/ServerRestartAction.java @@ -1,8 +1,9 @@ package org.example.script.actions; +import com.t4a.annotations.Predict; import com.t4a.api.ActionRisk; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + /** * Making the risk level as HIGH to demonstrate it cannot be called without explicit mention by Human Operator diff --git a/src/main/java/org/example/script/actions/SightSeeingAction.java b/src/main/java/org/example/script/actions/SightSeeingAction.java index 724524c..65a0f72 100644 --- a/src/main/java/org/example/script/actions/SightSeeingAction.java +++ b/src/main/java/org/example/script/actions/SightSeeingAction.java @@ -1,7 +1,8 @@ package org.example.script.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + @Predict(actionName = "reserveSightSeeing", description = "book sight seeing action") public class SightSeeingAction implements JavaMethodAction { diff --git a/src/main/java/org/example/script/actions/TibcoAction.java b/src/main/java/org/example/script/actions/TibcoAction.java index c0d2c43..e9d1d47 100644 --- a/src/main/java/org/example/script/actions/TibcoAction.java +++ b/src/main/java/org/example/script/actions/TibcoAction.java @@ -1,7 +1,8 @@ package org.example.script.actions; +import com.t4a.annotations.Predict; import com.t4a.api.JavaMethodAction; -import com.t4a.predict.Predict; + @Predict(actionName = "notifyApplications", description = "notify all the downstream applications") public class TibcoAction implements JavaMethodAction {