Metadata-Version: 2.1
Name: knowledge_engineer
Version: 0.5.0
Summary: Engineer GPT Knowledge within a process
Home-page: https://github.com/JerryWestrick/Knowledge_Engineer
Author: Jerry Westrick
Author-email: Jerry Westrick <jerry@westrick.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich
Requires-Dist: openai
Requires-Dist: mistralai
Requires-Dist: python-dotenv
Requires-Dist: lark
Requires-Dist: databases
Requires-Dist: knowledge_engineer

# Knowledge Engineer

***Command Line Program allowing for the Engineering of Knowledge for LLM's.***



OpenAI, Mistral, Anthropic are supported, I am working on OLLama for local LLM execution. The program can be extended by modifying the "Knowledge Engineer Prompt File" Domain Specific Language (DSL).  

(That is a fancy way to say:  "by modifying the syntax of the **.kepf** files.")

# Quick Start
### Preparation
    mkdir ke
    python -m venv .venv

###### Dos/Windows
    .venv\Scripts\activate
###### Linux/MacOS
    source .venv/bin/activate
    
### Installation
    pip install knowledge-engineer

### Create New Project
    knowledge_engineer --create=snake

### Setup Project
    cd snake
    edit ke_process_config.env

Enter Your OpenAI API Key in the following line of the ke_process_config.env file:

    OPENAI_API_KEY='<Your Open API Key>'

### execute example Project
    knowledge_engineer --execute

### Run Your Generated Snake Game
    python Code/snake.py

# Further Documentation
## For Users

- The [Getting Started](Documentation/Getting%20Started/Getting%20Started.pdf) document contains a good place to start.  It is a PDF file that is a good introduction to the example project you just created and ran.  It is also available in HTML format.

- The [KEPF Language Reference](Documentation/KEPF%20Language%20Reference/KEPF%20Language%20Reference.md) document is a good place to look into the options and syntax of the Domain Specific Language (DSL) used to create the prompts for the LLMs.  It is also available in HTML format.


## For Developers
- Aditionaly, the [Release A Version](Documentation/Release%20A%20Version/Release%20A%20Version.md)  explains how to update PiPy (pip install) directory with future versions of the knowledge-engineer package.


## For Philosophers
- The [Why Knowledge Engineer](Documentation/Why%20Knowledge%20Engineer/Philosophy.md) document explains why I feel that LLMs need 'Knowledge Engineer'.

