Skip to content

senxd/LLM-Interface

Repository files navigation

LLM-Interface

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.

Features

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
    • Image Processing
    • Embedding Support (OpenAI Model, Generalizable Functions)
      • Generalizable Functions
      • OpenAI Model
    • Extracting key information from large documents
  • 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
  • Batch Processing
    • PDFs
    • LLM Requests

Related Research Papers

ReAct, method for improving accuracy complex tasks

Self-Consistency Improves ... - Improved CoT Reasoning

Future Demos & Research

  • Demos
    • Document Tagging Demo
  • Research
    • Testing a combined ReAct + Observational Sub-stepping Approach with different datasets:
      • ALFWorld
      • WebShop