## This is feature branch for Open AI integration. This Plugin supports two commands: - Chat - Open AI responds back with a list of messages. - Embeddings - Open AI responds back with list of embeddings. ### Chat Interface: In chat interface the user can select a model from GPT 3.5, GPT 4, and there fine-tuned versions. <img width="914" alt="Chat-screen" src="https://github.com/appsmithorg/appsmith/assets/107841575/30c3a095-4560-456b-9747-43b70a48cc0a"> ### Chat Response: <img width="865" alt="chat-response" src="https://github.com/appsmithorg/appsmith/assets/107841575/bad5269e-5bf5-4814-853a-65045423642e"> ### Embedding interface: <img width="914" alt="Embedding screen" src="https://github.com/appsmithorg/appsmith/assets/107841575/7c1dfa9f-caca-4dba-b4fe-10d25773f604"> ### Strategy: Added Factory classes for separating implementation of different commands, interface methods are: - getTriggerMethod() HTTP method to use for trigger call - getTriggerURI() url for trigger request - getExecutionMethod() HTTP method to user for Execution call - getExecutionURI () Url for executionRequest - makeRequestBody() for sending requests - isModelCompatible is model compatible for this command ? Fixes: https://github.com/appsmithorg/appsmith/issues/28269 --------- Co-authored-by: Diljit VJ <diljit@appsmith.com>
270 lines
5.2 KiB
XML
270 lines
5.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
|
|
<groupId>com.appsmith</groupId>
|
|
|
|
<artifactId>integrated</artifactId>
|
|
|
|
<version>1.0-SNAPSHOT</version>
|
|
|
|
</parent>
|
|
|
|
<artifactId>appsmith-plugins</artifactId>
|
|
|
|
<version>1.0-SNAPSHOT</version>
|
|
|
|
<packaging>pom</packaging>
|
|
|
|
<modules>
|
|
|
|
<module>oraclePlugin</module>
|
|
|
|
<module>postgresPlugin</module>
|
|
|
|
<module>restApiPlugin</module>
|
|
|
|
<module>mongoPlugin</module>
|
|
|
|
<module>mysqlPlugin</module>
|
|
|
|
<module>elasticSearchPlugin</module>
|
|
|
|
<module>dynamoPlugin</module>
|
|
|
|
<module>redisPlugin</module>
|
|
|
|
<module>mssqlPlugin</module>
|
|
|
|
<module>firestorePlugin</module>
|
|
|
|
<module>redshiftPlugin</module>
|
|
|
|
<module>amazons3Plugin</module>
|
|
|
|
<module>googleSheetsPlugin</module>
|
|
|
|
<module>graphqlPlugin</module>
|
|
|
|
<module>snowflakePlugin</module>
|
|
|
|
<module>arangoDBPlugin</module>
|
|
|
|
<module>jsPlugin</module>
|
|
|
|
<module>saasPlugin</module>
|
|
|
|
<module>smtpPlugin</module>
|
|
|
|
<module>openAiPlugin</module>
|
|
|
|
</modules>
|
|
|
|
<properties>
|
|
|
|
<jjwt.version>0.11.5</jjwt.version>
|
|
|
|
</properties>
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.pf4j</groupId>
|
|
|
|
<artifactId>pf4j-spring</artifactId>
|
|
|
|
<version>0.8.0</version>
|
|
|
|
<scope>provided</scope>
|
|
|
|
<exclusions>
|
|
|
|
<exclusion>
|
|
|
|
<groupId>org.slf4j</groupId>
|
|
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
|
|
</exclusion>
|
|
|
|
</exclusions>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.pf4j</groupId>
|
|
|
|
<artifactId>pf4j</artifactId>
|
|
|
|
<version>${org.pf4j.version}</version>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.appsmith</groupId>
|
|
|
|
<artifactId>interfaces</artifactId>
|
|
|
|
<version>1.0-SNAPSHOT</version>
|
|
|
|
<scope>provided</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.projectlombok</groupId>
|
|
|
|
<artifactId>lombok</artifactId>
|
|
|
|
<version>1.18.22</version>
|
|
|
|
<scope>provided</scope>
|
|
|
|
</dependency>
|
|
|
|
<!-- Test Dependencies -->
|
|
|
|
<!-- Actual Junit5 implementation. Will transitively include junit-jupiter-api -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.junit.jupiter</groupId>
|
|
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.junit.platform</groupId>
|
|
|
|
<artifactId>junit-platform-suite-engine</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<!-- For junit5 parameterised test support -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.junit.jupiter</groupId>
|
|
|
|
<artifactId>junit-jupiter-params</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<!-- Only required to run junit5 test from IDE -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.junit.platform</groupId>
|
|
|
|
<artifactId>junit-platform-launcher</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.projectreactor</groupId>
|
|
|
|
<artifactId>reactor-test</artifactId>
|
|
|
|
<version>${reactor-test.version}</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.mockito</groupId>
|
|
|
|
<artifactId>mockito-core</artifactId>
|
|
|
|
<version>${mockito.version}</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.mockito</groupId>
|
|
|
|
<artifactId>mockito-inline</artifactId>
|
|
|
|
<version>${mockito.version}</version>
|
|
|
|
</dependency>
|
|
|
|
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver3 -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.squareup.okhttp3</groupId>
|
|
|
|
<artifactId>mockwebserver3</artifactId>
|
|
|
|
<version>${mockwebserver.version}</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<!-- We need this dependency only to ensure TestContainers work with JUnit5 -->
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.quarkus</groupId>
|
|
|
|
<artifactId>quarkus-junit4-mock</artifactId>
|
|
|
|
<version>2.14.2.Final</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.testcontainers</groupId>
|
|
|
|
<artifactId>junit-jupiter</artifactId>
|
|
|
|
<version>${testcontainers.version}</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
<exclusions>
|
|
|
|
<exclusion>
|
|
|
|
<groupId>junit</groupId>
|
|
|
|
<artifactId>junit</artifactId>
|
|
|
|
</exclusion>
|
|
|
|
</exclusions>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
</project>
|