bytechef
bytechef copied to clipboard
[component] AI Models(LLMs)
As a Workflow Developer I want to be able to use the native connector for OpenAI, Hugging Face, Azure OpenAI, Anthropic LLMs So that I can implement more complex integration use cases where the connector is involved.
Check Spring AI:
- https://docs.spring.io/spring-ai/reference/index.html
- https://spring.io/blog/2024/05/09/spring-ai-structured-output
- https://spring.io/blog/2024/08/09/spring-ai-embraces-openais-structured-outputs-enhancing-json-response
- https://www.baeldung.com/spring-artificial-intelligence-structure-output
Acceptance Criteria
List of implemented components:
- [x] OpenAI
- [x] Hugging Face
- [x] Azure OpenAI
- [x] Anthropic 3
- [x] Amazon Bedrock
- [x] Google Vertex AI
- [x] Groq
- [x] QianFan - remove
- [x] ZhiPu AI - remove
- [x] Watsonx.AI
- [x] Mistral AI
- [x] MiniMax - remove
- [x] Moonshot AI - remove
- [x] Ollama
- [x] NVIDIA
- [x] Stability
- [x] #2273
- [x] #2274
- [x] MistralAI - OCR
- [ ] Amazon Bedrock upgrade https://docs.spring.io/spring-ai/reference/upgrade-notes.html#_removal_of_deprecated_amazon_bedrock_chat_models
Definition of Done:
- [x] Implementation
- [ ] Unit tests
- [ ] Integration tests
- [ ] Documentation
Technical details:
- The components should be built as Spring Components - check
ScheduleComponentHandler - Each LLM should be implemented as a separate connector
- All connectors should have common actions
- If possible, they should share common infrastructure
- They should have additional prompts to define structured output
- Current ChatGPT connector should be replaced with this new approach