Skip to content

Commit

Permalink
feat: Change approach to LLM-based
Browse files Browse the repository at this point in the history
Original idea was to use classic expert system integrated with
external REST-like API and implemented in Prolog. The 2 main
disadvantages are:
- limited number of questions understanded by engine
- maintainability - Prolog isn't integrate well by API.

Now I think, that these disadvantages can be mitigated by system based
on locally hosted LLMs enriched by local data and implemented in Go.
  • Loading branch information
macie committed Nov 28, 2023
1 parent 9c78cd5 commit 969a25b
Show file tree
Hide file tree
Showing 16 changed files with 1,158 additions and 255 deletions.
13 changes: 0 additions & 13 deletions .dockerignore

This file was deleted.

49 changes: 49 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright (C) 2023 Maciej Żok
#
# SPDX-License-Identifier: GPL-3.0-or-later

name: Quality check
on:
push:
branches:
- "*"
pull_request:

jobs:
checks:
name: Validate sources
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 'stable'

- name: Install dependencies
run: |
pip3 install --user reuse
make
- run: make check

tests:
name: Tests
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 'stable'

- name: Install dependencies
run: make

- run: make test
58 changes: 58 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Copyright (C) 2023 Maciej Żok
#
# SPDX-License-Identifier: GPL-3.0-or-later

name: Publish
on:
push:
tags:
- 'cli/v*'

jobs:
build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 'stable'

- name: Install dependencies
run: make

- run: make dist

- name: Save build artifacts
uses: actions/upload-artifact@v3
with:
name: binaries
path: dist/
retention-days: 14
if-no-files-found: error

release:
needs: build

name: Release
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: write

steps:
- name: Extract build artifacts
uses: actions/download-artifact@v3
with:
name: binaries

- name: Prepare release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
generateReleaseNotes: true
artifacts: "*"
117 changes: 18 additions & 99 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,104 +1,23 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# Copyright (C) 2023 Maciej Żok
#
# SPDX-License-Identifier: GPL-3.0-or-later

# C extensions
*.so
# Ignore everything
*

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# Allow CI configs
!/.gitignore
!/.github/workflows/*.yml
!/Makefile

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Allow source code...
!*.go
!go.sum
!go.mod

# Installer logs
pip-log.txt
pip-delete-this-directory.txt
!README.md
!LICENSE
!LICENSES/*.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
# ...also in subdirectories
!*/
29 changes: 0 additions & 29 deletions Dockerfile

This file was deleted.

Loading

0 comments on commit 969a25b

Please sign in to comment.