Skip to content

Instantly share code, notes, and snippets.

View dm4's full-sized avatar
4️⃣

dm4 dm4

4️⃣
View GitHub Profile
@dm4
dm4 / tool.py
Last active March 21, 2024 14:42
試用 OpenAI 的 Function Calling API https://blog.dm4.tw/2024/03/21/try-gpt-function-calling.html
#!/usr/bin/env python3
import json
import logging
from openai import OpenAI
logging.basicConfig(format="[%(asctime)s] [%(levelname)s] [%(name)s] %(message)s")
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
@dm4
dm4 / cuda.md
Last active October 17, 2023 08:24
Run WasmEdge WASI-NN plugin on AWS EC2 Instance

Setup CUDA on AWS EC2 Instance

This tutorial is based on this AWS tutorial. In this tutorial, we will install Nvidia driver on AWS EC2 instance and compile and run llama.cpp on it.

Create an AWS EC2 instance

Here we use g5.4xlarge instance with Ubuntu 22.04 AMI, which use Nvidia A10G GPU.

Install Nvidia driver

@dm4
dm4 / README.md
Last active August 1, 2023 14:28
Run llama2.c with WasmEdge

Run llama2.c with WasmEdge

Prepare wasi-sdk

export WASI_VERSION=20
export WASI_VERSION_FULL=${WASI_VERSION}.0
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz
tar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz
export WASI_SDK_PATH=`pwd`/wasi-sdk-${WASI_VERSION_FULL}

Keybase proof

I hereby claim:

  • I am dm4 on github.
  • I am dm4 (https://keybase.io/dm4) on keybase.
  • I have a public key ASCCM72rJO6voH23nEOFx6x1I4ktFslobnr1J34reQ7eUwo

To claim this, I am signing this object:

### Keybase proof
I hereby claim:
* I am dm4 on github.
* I am dm4 (https://keybase.io/dm4) on keybase.
* I have a public key whose fingerprint is CD91 D480 881A A445 46BA 8A25 2846 33CF 9C3D CF17
To claim this, I am signing this object:
{
"100": "1f4af",
"1234": "1f522",
"interrobang": "2049",
"tm": "2122",
"information_source": "2139",
"left_right_arrow": "2194",
"arrow_up_down": "2195",
"arrow_upper_left": "2196",
"arrow_upper_right": "2197",
# A handy j() function, printing some useful info in bash cmdline
j() {
printf '\n\e[0;35m%(%Y/%m/%d (%a) %H:%M:%S)T\e[0m ' -1
printf '\n\e[0;33m%s@%s\e[0m ' "$USER" "${HOSTNAME/.*/}"
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
local GIT_CLEAN=
local GIT_REF=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
git diff-index --quiet HEAD && GIT_CLEAN=1
@dm4
dm4 / double.c
Created July 24, 2013 18:04
原來 double 是指標啊
#include <stdio.h>
int main(int argc, const char *argv[]) {
double d = 12.34;
printf("d 0x%016x\n", d);
printf("&d 0x%016x\n", &d);
printf("*(long long *)&d 0x%016lx\n", *(long long *)&d);
return 0;
}
# Usage: pr (pull request current branch into develop)
# Usage 2: pr stable (pull request current branch into stable)
function pr() {
base=$1;
if [ "$1" == "" ]; then
base="develop"
fi
hub pull-request -b team:"$base" -h team:`git rev-parse --abbrev-ref HEAD`;
}
@dm4
dm4 / Macros.h
Created February 26, 2013 09:01 — forked from numo16/Macros.h
#define ApplicationDelegate ((AppDelegate *)[[UIApplication sharedApplication] delegate])
#define UserDefaults [NSUserDefaults standardUserDefaults]
#define NotificationCenter [NSNotificationCenter defaultCenter]
#define SharedApplication [UIApplication sharedApplication]
#define Bundle [NSBundle mainBundle]
#define MainScreen [UIScreen mainScreen]
#define ShowNetworkActivityIndicator() [UIApplication sharedApplication].networkActivityIndicatorVisible = YES
#define HideNetworkActivityIndicator() [UIApplication sharedApplication].networkActivityIndicatorVisible = NO
#define NetworkActivityIndicatorVisible(x) [UIApplication sharedApplication].networkActivityIndicatorVisible = x
#define NavBar self.navigationController.navigationBar