Commit Graph

2 Commits

Author SHA1 Message Date
Nirmal Sarswat
b03c51e05d
feat: Anthropic AI Plugin (#29095)
## Description
Anthropic AI plugin - provides chat completion API support as a
datasource plugin

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/29036

#### Type of change
- New feature (non-breaking change which adds functionality)

## Testing
#### How Has This Been Tested?
- [x] Manual
- [x] JUnit
- [ ] Jest
- [ ] Cypress

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new Anthropic plugin with capabilities for testing data
sources, executing actions, and validating data source configurations.
- Added a search bar component to enhance user navigation and
interaction within the application.

- **Enhancements**
- Improved form control elements, including dropdown and field array
controls, for better user experience and interface consistency.
- Optimized HTTP request handling in the OpenAI plugin for increased
efficiency and performance.

- **Bug Fixes**
- Addressed issues with form control properties to ensure correct
behavior and data handling.

- **Documentation**
- Updated plugin properties and test documentation to reflect new
features and changes.

- **Refactor**
- Refactored various components and utilities for code clarity and
maintainability.

- **Tests**
- Added comprehensive tests for the new Anthropic plugin to ensure
reliability and functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Diljit VJ <diljit@appsmith.com>
2023-12-05 16:03:27 +05:30
Manish Kumar
8ec8202b08
feat: open ai feature request (#28295)
## 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>
2023-11-03 11:20:34 +07:00