Skip to content

Instantly share code, notes, and snippets.

View EvilFreelancer's full-sized avatar

Pavel Zloi EvilFreelancer

View GitHub Profile
@EvilFreelancer
EvilFreelancer / save_markdown.py
Last active November 23, 2024 12:17
Сохранение HTML страниц из интернета в Markdown через Firefox и Selenium
import os
import os.path
import urllib.parse
import zipfile
import datetime
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
@EvilFreelancer
EvilFreelancer / manticore_search_rag_on_snippets_call.py
Last active November 16, 2024 11:57
Пример базы знаний для RAG-like проекта который использует ManticoreSearch SNIPPETS CALL и выдачу из DuckDuckGo
import os
import time
import re
import requests
import hashlib
import mysql.connector
from duckduckgo_search import DDGS
from concurrent.futures import ThreadPoolExecutor
class HtmlExtractor:
@EvilFreelancer
EvilFreelancer / ollama-docker.md
Last active October 19, 2024 12:43
Алгоритм переключения ollama с системы на Docker-контейнер

Деинсталяция ollama

Для начала выполним остановку сервиса ollama и удалим конфирацию:

sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
@EvilFreelancer
EvilFreelancer / translator.py
Last active December 30, 2024 22:10
Перевод датасета на русский при помощи utrobinmv/t5_translate_en_ru_zh_small_1024
# See https://github.com/EvilFreelancer/datasets-translator
import torch
import json
from transformers import T5ForConditionalGeneration, T5Tokenizer, BitsAndBytesConfig
from tqdm import tqdm
from bs4 import BeautifulSoup, NavigableString
# Quantization related settings
@EvilFreelancer
EvilFreelancer / convert_xl_to_gpt2.py
Created September 26, 2024 06:54
Пример скрипта конвертации ruGPT3XL в формат совместимый с Transformers
import os
import torch
from transformers import GPT2LMHeadModel, GPT2Config, GPT2Tokenizer, pipeline
if not os.path.exists("ru_gpts"):
raise Exception(
"Folder `ru_gpts` not found! Please run `git clone https://github.com/EvilFreelancer/ru-gpts.git ru_gpts` first")
from ru_gpts.src.xl_wrapper import RuGPT3XL
import requests
import json
import timeit
start = timeit.default_timer()
prompt = "С какой периодичностью происходит ледниковый период"
result = requests.post('http://localhost:11434/api/generate', json={'model': "llama3.1:70b", "options":{ "seed": 123,"num_predict":500,"temperature": 0,"num_ctx": 4000}, "keep_alive":"10m", "prompt":prompt, "stream": False}).content
a = json.loads(result)
print( a['response'])
print("Всего токенов: ",a['eval_count'])
@EvilFreelancer
EvilFreelancer / testing.md
Last active September 14, 2024 23:50
Тестирование инференса llama.cpp в локальном и дистрибутивном режиме для https://habr.com/ru/articles/843372/

Локальное тестирование

Команда локального запуска:

time ./llama-cli -m /app/models/TinyLlama-1.1B-q4_0.gguf --prompt "Once upon a time" --n-predict 1024

Тестирование проводится на модели TinyLlama-1.1B-q4_0.gguf

@EvilFreelancer
EvilFreelancer / mistral-v0.3-russian-test.txt
Last active May 23, 2024 11:59
Тестируем возможности Mistral 7B v0.3 на русском языке
>>> Рассказывай что умеешь.
Я – языковой модель, разработанный на основе большого множества данных. Я способен понимать и отвечать на естественные языки, включая английский, русский, испанский и другие. Я умею:
1. Отвечать на вопросы и заниматься диалогом о различных темах, таких как погода, политика, технологии, искусство, культура и другие.
2. Использовать свой языковой анализ для разбора и интерпретации текстов. Это может включать выделение сущетвий, предлогов, глаголов и других слов в тексте, а также определение части речи каждого слова.
3. Генерировать новое содержимое на основе данных, которые я рассматриваю. Это может включать генерацию новой информации или текста, который имеет сходство со структурой и стилем существующего контента.
4. Использовать свой языковой анализ для построения машинного обучения моделей, таких как классификаторы, регрессоры и другие алгоритмы. Это может включать предобработку данных или создание фичу-инженеренга для улучшения точности
этих алгоритмов.
5. Использовать свой язы
@EvilFreelancer
EvilFreelancer / tests.txt
Created May 19, 2024 10:46
Тест модели enbeddrus на смеси из технических и нетехнических примеров
0.9184 'Машинное обучение помогает создавать интеллектуальные системы.' | 'Machine learning helps to create intelligent systems.'
0.8953 'Велосипедные прогулки полезны для здоровья и экологии.' | 'Cycling is beneficial for health and the environment.'
0.9768 'Python является одним из самых популярных языков программирования в мире.' | 'Python is one of the most popular programming languages in the world.'
0.9255 'Живопись успокаивает и развивает креативность.' | 'Painting is calming and fosters creativity.'
0.9374 'Базы данных хранят и управляют большими объемами данных.' | 'Databases store and manage large volumes of data.'
0.8531 'Чтение книг обогащает словарный запас и расширяет кругозор.' | 'Reading books enriches vocabulary and broadens horizons.'
0.9541 'Алгоритмы важны для решения сложных задач в компьютерных науках.' | 'Algorithms are crucial for solving complex problems in computer science.'
0.9180 'Музыка способна влиять на настроение и эмоции человека.' | 'Music can affect a person's mood a
@EvilFreelancer
EvilFreelancer / README.md
Last active April 30, 2024 11:11
TorchTune: LoRA miltidataset training of Gemma 2B model on a single device

TorchTune / Gemma 2B / LoRA / Single Device

Training Gemma 2B model on a single device using multiple datasets.

Prepare environment

git clone https://github.com/EvilFreelancer/torchtune.git
cd torchtune
git switch feat-concatenate-datasets