This project is a work in progress and is not expected to use in a production programs.
This project provides a framework for utilizing LLMs in a structured way in Kotlin through the use of DSLs. You can
either bring your own LLM by extending the LLM
class or use a pre-existing such as OpenAIModel
.
This list is non-exhaustive and subject to change.
- Basic prompting (send message, receive message)
- Message History in DSL
- LLM Features
- API
- Functions (Allows for LLM to use defined functions, e.g., RAG or Web Search, or custom)
- Database API
- Sequence Processing (CoT)
- Generating a list of steps to solve a given problem
- Executing said list with different API tools
- Generating a list of steps to solve a given problem
- Image Processing
- Embedding Support (OpenAI Model, Generalizable Functions)
- Generalizable Functions
- OpenAI Model
- Extracting key information from large documents
- API
- Observer (Tools to monitor LLM performance in automated sequence tasks)
- Metric Based Observation
- LLM Based Observation
- Document
- Parsing
- PDFs
- OCR
- Text Metadata Extraction
- Generic Text
- Plain Text .txt
- Microsoft Word .docx or .doc
- Rich Text Format .rtf
- PDFs
- Parsing
- Batch Processing
- PDFs
- LLM Requests
ReAct, method for improving accuracy complex tasks
Self-Consistency Improves ... - Improved CoT Reasoning
- Demos
- Document Tagging Demo
- Research
- Testing a combined ReAct + Observational Sub-stepping Approach with different datasets:
- ALFWorld
- WebShop
- Testing a combined ReAct + Observational Sub-stepping Approach with different datasets: