bytechef icon indicating copy to clipboard operation
bytechef copied to clipboard

[component] AI Models(LLMs)

Open monikakuster opened this issue 1 year ago • 0 comments

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

monikakuster avatar May 10 '24 10:05 monikakuster