Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.3 #20

Merged
merged 4 commits into from
Nov 20, 2023
Merged

0.3 #20

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
"""
11 changes: 6 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,24 @@ SpeechRecognition==3.10.0
# Translator
deep_translator==1.11.4
# Recorder
pyaudio==0.2.13
pyaudio==0.2.14
sounddevice==0.4.6
soundfile==0.12.1
numpy==1.26.1
numpy==1.26.2
# Image
pillow==10.1.0
# Articles
readability==0.3.1
# Testing
webdriver_manager==4.0.1
selenium==4.15.1
selenium==4.15.2
pytest==7.4.3
pytest-json-report==1.5.0
pytest-xdist==3.3.1
pytest-xdist==3.4.0
# Third-party-test
cohere==4.32
cohere==4.35
llamaapi==0.1.36
# My AI APIs
leonardo-api==0.0.7
openai-python-api==0.0.5
ablt-python-api==0.0.2
Loading