10up / classifai

Supercharge WordPress Content Workflows and Engagement with Artificial Intelligence.
https://classifaiplugin.com
GNU General Public License v2.0
559 stars 52 forks source link

Adding additional Service Providers via Amazon Bedrock #739

Open jeffpaul opened 4 months ago

jeffpaul commented 4 months ago

Is your enhancement related to a problem? Please describe.

Amazon Bedrock is a fully managed service that offers a choice of high-performing foundation models from leading AI companies, along with a broad set of capabilities to build generative AI applications, simplifying development while maintaining privacy and security. source

Our 3.0.0 release made it easier to integrate additional Service Providers to ClassifAI's features. Leveraging something like Amazon Bedrock might make it additionally easier to add in other service providers to make ClassifAI's features less dependent on a specific provider and allow ClassifAI users the ability to swap in/out providers on a whim to test which best fits their needs.

Additional models available that can help with text generation, text summarization, image generation, image text abstraction, and content moderation:

Designs

No response

Describe alternatives you've considered

No response

Code of Conduct

iamdharmesh commented 3 months ago

I gave a quick look to Anthropic's Claude and it looks promising.

API Docs: https://docs.anthropic.com/claude/reference/getting-started-with-the-api

faisal-alvi commented 3 months ago

Amazon Bedrock is a service that offers models, should we leverage the service or add providers separately? Like we have an API available for Anthropic as suggested^ by @iamdharmesh cc: @dkotter

dkotter commented 3 months ago

I think there's value in both approaches, similar to how we have a direct integration with OpenAI and an integration with Azure OpenAI.

Seems this issue though is specific to adding support for Amazon Bedrock and allowing users to choose which model they want to use on that service (assuming that's possible and we don't need specific integrations for each model)