Skip to content

Commit

Permalink
Merge pull request #20 from wwakabobik/0.3
Browse files Browse the repository at this point in the history
0.3
  • Loading branch information
wwakabobik authored Nov 20, 2023
2 parents 7a1078d + 0de371c commit 12a3ba0
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/linters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11"]
python-version: ["3.10", "3.11", "3.12"]
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [0.2] - 2023-10-15

### Added
- Test generator
- page_retriever

### Changed
- Bumped submodules to latest versions
- Added test project
- Structure refactoring


## [0.3] - 2023-11_20

### Added
- Added README.md
- Bumped requirements
- Removed submodules (moved to requirements - OpenAI API, Leonardo API)
- Added python 3.12 for linting
57 changes: 55 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,55 @@
# ai_engines
Playground and utils libraries for AI stuff
# AI Engines

This is playground and utils libraries for AI stuff.

It is not a framework, but a collection of useful tools and examples. It's not a pinned repo, not a featured and supported, and in general violates all the best practices of software development. But it's a good place to start. At the beginning and the end of all, this repo contains stuff that I mentioned in my articles, thus, refer to [my blog](https://wwakabobik.github.io/) posts first.

## What you can find here

- [x] [**examples**](/examples) - a collection of examples of AI projects, including:
- [x] [image_generation](/examples/image_generation) - a simple example of image generation using DALLE and Leonardo
- [x] [speak_and_hear](/examples/speak_and_hear) - see [article](https://wwakabobik.github.io/2023/09/ai_learning_to_hear_and_speak/) first, this is LLM speech recognition and TTS example
- [x] [test_generator](/examples/test_generator) - see [article](https://wwakabobik.github.io/2023/10/qa_ai_practices_used_for_qa/) first, this is QA automatic tests generator
- [x] [llm_api_comparison](/examples/llm_api_comparison) - TBD
- [x] [**utils**](/utils) - a collection of useful tools for AI development, in general them all of them used in example projects:
- [x] [article_extractor](/utils/article_extractor.py) - limbo for article extraction from web pages
- [x] [audio_recorder](/utils/audio_recorder.py) - a simple audio recorder, used in speech recognition / TTS examples
- [x] [logger_config](/utils/logger_config.py) - general logger
- [x] [other](/utils/other.py) - all that doesn't fit in other files, i.e. env checkers
- [x] [page_retriever](/utils/page_retriever.py) - web page retriever and parser
- [x] [transcriptors](/utils/transcriptors.py) - custom transcriptors wrappers for speech recognition
- [x] [translators](/utils/translators.py) - custom translators for text translation wrappers
- [x] [tts](/utils/tts.py) - custom TTS engines wrappers

## Running up that hill

Once again, refer to [my blog](https://wwakabobik.github.io/) posts first. If you do so, you may try exec some top-level scripts from parent directory:

```bash
git clone [email protected]:wwakabobik/ai_engines.git # clone this repo
cd ai_engines # go to repo directory
# It's highly recommended to use python 3.11+ and venv
python -m venv venv # create virtual environment
source venv/bin/activate # activate virtual environment
pip install -r requirements.txt # install dependencies
# then you may run some top-level script, like:
PYTHONPATH=. python -m examples.test_generator.generator_test
PYTHONPATH=. python -m examples.speak_and_hear.test_gpt
```

Well, in most cases you need to create cred file to run examples, so, create `creds.py` under `examples` directory and fill it with your credentials, like:

```python
# -*- coding: utf-8 -*-
"""Creds file"""
oai_token = "alksjdlksajlkdjlajiouoieuoqijnc"
oai_organization = "slkahkdjshakjhfkjafs"
cohere_token = "saklljlkdjsaldjljasldjlsak"
llama_token="asiuoiduaosudouasosuoduoqoihicdhzch"
ablt_token="sadhsakhdajskhaskdkja"
claude_token="dkshjjsdhkjdshkjhskj"
openweathermap_appid = "salkdjaslkjldasjlkdasl"
midjourney_cookie="skjaklshkldfhkjsahjhfkjbkfsa"
```

GL&HF!
12 changes: 12 additions & 0 deletions examples/llm_api_comparison/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
"""
Filename: __init__.py
Author: Iliya Vereshchagin
Copyright (c) 2023. All rights reserved.
Created: 20.11.2023
Last Modified: 20.11.2023
Description:
This file is init file for llm_api_comparison package.
"""
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,4 @@ llamaapi==0.1.36
# My AI APIs
leonardo-api==0.0.7
openai-python-api==0.0.5
ablt-python-api==0.0.2

0 comments on commit 12a3ba0

Please sign in to comment.