Skip to content

Instantly share code, notes, and snippets.

View bitsnaps's full-sized avatar
🌍
Working @ CorpoSense

Ibrahim H. bitsnaps

🌍
Working @ CorpoSense
View GitHub Profile
@bitsnaps
bitsnaps / .block
Created May 12, 2024 11:41 — forked from domoritz/.block
Vega Bl.ocks example
license: bsd-3-clause
@bitsnaps
bitsnaps / findRec.js
Last active May 10, 2024 13:51
Find the most recent version of any given Node package by looking at every package.json file recursively in the current directory, I used this in order to detect the most recent version before downloading a new one instead of using `--prefer-offline` installation. It works offline.
#!/usr/bin/env node
/**
* This script finds the most recent installed version of any given Node package.
* Simple usage:
* node findRec.js vue [/path/to/projects]
*/
const fs = require('fs');
const os = require('os');
const path = require('path');
@bitsnaps
bitsnaps / finetune_llama_v2.py
Created April 16, 2024 18:01 — forked from younesbelkada/finetune_llama_v2.py
Fine tune Llama v2 models on Guanaco Dataset
# coding=utf-8
# Copyright 2023 The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
@bitsnaps
bitsnaps / OAI_CONFIG_LIST
Created January 7, 2024 18:28 — forked from langecrew/OAI_CONFIG_LIST
Taking the Autogen Teachable Agent one step further with some customization
[
{
"model": "gpt-4",
"api_key": "PASTE_YOUR_API_KEY_HERE"
},
{
"model": "gpt-4-1106-preview",
"api_key": "PASTE_YOUR_API_KEY_HERE"
},
{
@bitsnaps
bitsnaps / gptq_lora.py
Created December 19, 2023 18:35 — forked from datasciencemonkey/gptq_lora.py
train a gptq model using peft/lora
# %%
# this is run from /notebooks on paperspace
from huggingface_hub import login
from dotenv import load_dotenv
load_dotenv("/notebooks/.env")
import os
os.environ["TOKENIZERS_PARALLELISM"]="false"
login(token=os.getenv("HUGGINGFACE_TOKEN"))
1. Install oh-my-zsh
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
2. Clone necessary plugins.
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
3. Add plugins to ~/.zshrc as
plugins = ( [plugins...] zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting)
@bitsnaps
bitsnaps / dirsize.js
Last active November 20, 2023 13:19
Get directory size (used in stackblitz as a replacement of `du -sh` command)
import { join } from 'path';
import { readdir, stat } from 'fs/promises';
function humanFileSize(bytes, si = false, dp = 1) {
const thresh = si ? 1000 : 1024;
if (Math.abs(bytes) < thresh) {
return bytes + ' B';
}
@bitsnaps
bitsnaps / commands.sh
Last active September 21, 2023 18:30
Replit & NixOS cheat sheet
# NixOS is a Linux distribution built on top of the Nix package manager, known for its declarative and reproducible approach to system configuration.
# read more: https://nixos.org/
# Replit uses NixOS under the hood in order with Nix which is a tool for managing packages and system configurations.
#https://docs.replit.com/programming-ide/nix-on-replit
# Update nix packages
nix-channel --update
# list all nix channels
@bitsnaps
bitsnaps / dataframe_viewer.py
Created June 25, 2023 18:09
A simple Qt5 python app to display a CSV or Excel in TableWidget
# pip install openpyxl, pandas, PyQt5... (if you don't use conda)
import sys
import pandas as pd
from PyQt5.QtCore import QSize, Qt, pyqtSlot, pyqtSignal
from PyQt5.QtWidgets import (QApplication, QMainWindow, QPushButton, QTableWidget, QTableWidgetItem,
QFileDialog, QVBoxLayout, QWidget, QDialog, QLabel, QLineEdit, QComboBox, QCheckBox, QHBoxLayout)
# Custom TableWidget class
class TableWidget(QTableWidget):
def __init__(self, df, parent=None):
from flask import Flask, jsonify, request
import requests
import PyPDF2
import tempfile
import pickle
import retrying
from langchain.llms import OpenAI
from langchain.chains.qa_with_sources import load_qa_with_sources_chain
from langchain.docstore.document import Document
from langchain.embeddings.openai import OpenAIEmbeddings