Introducing ABAP LLM Client - Preview
In the rush to integrate AI capabilities into business systems, ABAP developers often face a unique challenge: How to efficiently connect existing ABAP applications with modern LLM services? While Python and JavaScript developers have access to numerous mature libraries, the ABAP ecosystem has remained relatively underserved in this area.
The ABAP LLM Client project aims to address this gap with a practical, no-frills approach to LLM integration.
Currently in preview - alpha. Expect major braking changes.
What It Is (And What It Isn't)
ABAP LLM Client is a straightforward interface for connecting ABAP systems to LLM providers. It focuses specifically on chat endpoints - the most commonly needed feature for business applications. Currently supporting OLLAMA (for on-premise deployment), OpenAI, and OpenRouter, it provides a consistent interface regardless of the underlying provider. Further providers planned.
This isn't a comprehensive AI framework or a complex ML platform. Instead, it's a practical tool for ABAP developers who need to enhance existing business functions with LLM capabilities.
Key Features and Design Decisions
Focused Functionality
- Chat message support
- Structured output (where providers support it)
- Multiple provider integration
- Easy customization
Technical Requirements
- SAP NetWeaver 7.52 or higher
- /UI2/CL_JSON PL12 or higher (or abap-to-json as alternative)
- abapGit to install
Real-World Applications
Consider these practical use cases:
- Enhancing existing ABAP reports with AI-powered insights
- Adding LLM capabilities to business workflows
- Prototyping AI features in existing ABAP applications
Getting Started
The installation process is straightforward:
- Install via abapGit
- Configure RFC destinations for your chosen providers
- Set up entries in ZLLM_CLNT_CONFIG with your provider details
Detailed examples are available in the llm_client_test repository.
Important Considerations
Security
While the current alpha version stores API keys in a database table, we recommend:
- Using SM59 supported authentication methods
- Implementing an API Gateway for credential mapping
- Setting appropriate usage limits on API keys
Limitations
- Currently only supports API-Key authentication
- No usage monitoring features yet
- Tested only on NetWeaver 7.52 (ABAP Platform tests planned for Beta)
Road Ahead
The project is currently in alpha, with a beta release targeted mid-/end of January 2025. Planned improvements include:
- Tool support implementation
- Logging functionality
- Custom auth object for access control
- Additional provider integrations
Not in Scope
To maintain focus and practicality, we're explicitly not planning:
- Downports below 7.52
- ABAP Cloud port
- Non-chat features (image, audio, video)
Get Involved
The project is open source and welcomes community involvement through:
- Issue reporting
- Feature discussions
- Provider implementation requests
- Concept improvement suggestions
Conclusion
ABAP LLM Client fills a specific need in the ABAP ecosystem: simple, practical LLM integration for existing business systems. If you're an ABAP developer looking to add AI capabilities to your applications without excessive complexity, this project might be exactly what you need.
Visit the GitHub repository to get started.