t_wの輪郭

Feedlyでフォローするボタン
Web Prowler

あれ

2023/12/4 11:04:00

Web Prowlerの推薦性能を改善する方法が見えた。
ユーザーのベクトル化であるUser Embeddingを計算して、User EmbeddingとリンクのSentence Embeddingの類似度でクロールすれば良い。
推薦も今見ているページのSentence Embeddingを使って良きようにする。
User Embeddingは操作に応じて随時修正する。

あれ

2023/12/4 10:59:00

あばーーーーーーーーーーーーーー

reCAPTCHA日経Cypress

あれ

2023/12/4 10:26:00

あっ、クソッ、研究のために日経からCypressで記事データブッコぬこうとか思ったらreCAPTCHAで保護してやがるッ!

技術音痴の日経の割にしっかりしてはるな。

コーパス日経
Macbookホーザン(HOZAN) アース線 ワニグチクリップ付属 コード実効長:1.6m ホック径:7mmφ F-24 静電気ホーザン(HOZAN) ESD卓上マット 静電気を大地(アース)へ逃がす F-310-L帯電
ホーザン静電気アース線導電マット
あれ
ホーザン導電マット静電気
あれ
LambdaAmplify
Amplify functionに固定IP

あれ

2023/12/4 4:34:00

作業に手をつけるもの30分で力尽きた

あれ

2023/12/4 3:43:00

いやまじであかんわ。体調不良レベルのやる気の出なさ。

あれ

2023/12/4 3:30:00

やる気でなさすぎヤバい

iPhoneあれPWAドラッグ&ドロップ

あれ

2023/12/4 3:29:00

iPhoneでもデライトをPWAにすると、輪符をドラッグ&ドロップできないっぽい

あれ

2023/12/4 2:00:00

35 107387 310942 7

大規模言語モデル訳語LLM
Titan Multimodal Embeddings G1

あれ

2023/12/4 0:56:00

なんか頭働かん

LLM Appアイデア

起票LLM App

2023/12/4 0:47:00

Issue起票とかの文章を書くLLM App

Titan Multimodal Embeddings G1

あれ

2023/12/4 0:33:00

画像と文章のEnbeddingが取れるっぽい

引用の要件引き入れ中景引用他者輪郭

あれ

2023/12/3 7:26:00

やはり他者輪郭引き入れるというのは、主からの引き外しがあるため脆弱。中景輪符を書くのが頑健か。その上で、引き入れておくと便利ぐらいの位置づけにしておいたほうが良さそう。

更に頑健にするならば、引用の要件を満たした上で引用することだろう。引用時点での寸写(スナップショット)とすることができる。

『Amplifyでアクセストークンをin-memoryに置いてみる』Amplify

AmplifyでNext.jsのgetServerSideProsにユーザーアカウントを割り当ててAPIを叩く

2023/12/3 7:19:00

idTokenをぶっこ抜く

InMemoryTokenStorage.ts

export class InMemoryTokenStorage implements Storage {
    private storage: { [key: string]: string | null } = {}
    get length(): number {
        return Object.keys(this.storage).length
    }
    key(index: number): string | null {
        return Object.keys(this.storage)[index]
    }
    getItem(key: string): string | null {
        return this.storage[key]
    }
    setItem(key: string, value: string): void {
        this.storage[key] = value
    }
    removeItem(key: string): void {
        delete this.storage[key]
    }
    clear(): void {
        this.storage = {}
    }
}

設定

const token_storage = new InMemoryTokenStorage();
Amplify.configure({
    ...awsmobile,
    Auth: {
        storage: token_storage,
    }
})

ぶっこ抜いたidTokenを使ってAPIを叩く

async function idToken_get() {
    (await public_user_account_get());
    return Object.entries(token_storage.storage).map(([key, value]) => `${key}=${value}`).join("; ");
}

async function public_user_account_get() {
    return await (async () => {
        try {
            return await Auth.currentAuthenticatedUser();
        } catch (error) {
            try {
                return await Auth.signIn(process.env.PUBLIC_EMAIL_ADDRESS ?? "", process.env.PUBLIC_PASSWORD ?? "");
            } catch (error) {
                return undefined;
            }
        }
    })()
}

const SSR = withSSRContext({ req: { headers: { cookie: await idToken_get() } } });

const result = await SSR.API.graphql({
    query: deleteRelation,
    variables: {
        input: {
            id: relation.id,
            _version: relation._version,
        }
    }
})

参考

InMemoryTokenStorageのパクリ元:『Amplifyでアクセストークンをin-memoryに置いてみる』

AmplifyでNext.jsのgetServerSideProsにユーザーアカウントを割り当ててAPIを叩く
CDKamplify overrideAmplify
amplify override『Is there a way to specifiy thedynamodb tablename when creating a api resource using amplify?』
AmplifyDynamoDBあれ
あれ
メールデライト

あれ

2023/12/3 4:14:00

デライトみたいなメールシステム作りたい

DynamoDBNext.jsAmplify

あれ

2023/12/3 3:52:00

Amplifyに乗っけたNext.jsから直接DynamoDBたたくの大変っぽい。テーブル名を同定でけへん。

『Is there a way to specifiy thedynamodb tablename when creating a api resource using amplify?』
IP制限環境変数Next.js

Next.jsで環境変数を使ってIP制限

2023/12/3 3:28:00

src/middleware.ts

import { NextRequest, NextResponse } from 'next/server'

// IPホワイトリスト
const IP_WHITELIST = ['::1', ...JSON.parse(process.env.IP_WHITELIST ?? "[]")];
const IP_RESTRICT = process.env.IP_RESTRICT === 'true';

export async function middleware(request: NextRequest) {
    if (IP_RESTRICT) {
        // IPアドレスを取得
        let ip: string = request.ip ?? request.headers.get('x-real-ip') ?? '';

        // プロキシ経由の場合、x-forwarded-forヘッダーからIPアドレスを取得
        const forwardedFor = request.headers.get('x-forwarded-for');
        if (!ip && forwardedFor) {
            ip = forwardedFor.split(',').at(0) ?? 'Unknown';
        }

        // 取得したIPアドレスがホワイトリストに含まれているかチェックし、含まれていない場合はアクセス拒否
        if (!IP_WHITELIST.includes(ip)) {
            return NextResponse.json({ message: 'Unauthorized' }, { status: 401 });
        }
    }

    return NextResponse.next();
}
AI外注『社会人のための「AIガチャ」入門』BERTLambda

あれ

2023/12/2 23:59:00

LambdaでBERTを動かせるようになったんだけども、この知識を200万円ぐらいで売りたい。

誰か買ってくんねーかなぁ……
AI構築を外注すると考えると、安いほうですわよ。

ちなみにAI構築を外注すると、1回の試行で数百万円かかった上でだいたい失敗するらしいぞ♥

AI外注宇宙創生AIガチャ
あれ
iPhoneドラッグ&ドロップあれ

あれ

2023/12/2 16:20:00

iPhoneでデライトの輪符をドラッグ&ドロップできてめちゃうれしい

あれ
AIモデルLambda

chromium系列なら、文中の文字列に対して輪結を貼ることができます

2023/12/2 15:39:00

取得されたURLはこんな感じ(ダサい)。
https://dlt.kitetu.com/KNo.D657/7F64#:~:text=%E3%81%9F%E3%81%A0%EF%BC%8C%E3%80%9D-,id%E5%B1%9E%E6%80%A7%EF%BC%88%3Dname%E5%B1%9E%E6%80%A7%EF%BC%9F%EF%BC%89,-%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA

頑張って整形するとこんな感じ。
https://dlt.kitetu.com/KNo.D657/7F64#:~:text=ただ,〝-,id属性(%3Dname属性?),-のような


輪結はFirefox以外なら大体対応しています。
https://caniuse.com/url-scroll-to-text-fragment

onnxに変換して量子化するコマンドonnxruntime-nodeでgzipで圧縮したonnxファイルを読み込むBERTSentence EmbeddingONNX

あれ

2023/12/2 15:24:00

500MBあるBERTをONNXに変換した後に量子化したら110MBほどになってLambdaで動かせるようになった。
Githubに乗せるファイルは100MB以下でないとだめなので、ダメ押しでgzipで圧縮したら75MBになった。

onnxruntime-nodeONNXgzip
あれ
knownetあれBedrockBERT

あれ

2023/12/2 14:21:00

knownetの検索をBedrockからBERTに移行した。
検索精度の変化は定量的な比較をしてないので謎。体感的には変わらん気がする。

睾丸をグリップAIモデルBERTLambda
あれ
sonoisa/sentence-bert-base-ja-mean-tokens-v2
Sentence Embedding
あれ
Sentence Embedding
transformers.onnxNext.jsでサーバーレスSentence EmbeddingONNXoptimum-cliNext.js

onnxに変換して量子化するコマンド

2023/12/2 9:38:00
python3 -m transformers.onnx --model=sentence-transformers/paraphrase-multilingual-mpnet-base-v2 onnx/ --opset=18

optimum-cli onnxruntime quantize --onnx_model ./onnx --output onnx_quantize/ --arm64
あれ
『TIME誌「今年の最優秀発明」…東大教授ら開発「ミュオン活用次世代ナビ」の秘めた可能性』屋内位置測位
位置測位ミュオン
あれ
AmplifyLambda

あれ

2023/12/2 8:34:00

CustomerError: The size of the build output (389192469) exceeds the max allowed size of230686720 bytes. Please reduce the size ofyour build output and try again.

あっ
ちくしょう
Amplify死ね

AWS君さぁ……Lambdaのサイズ制限にしろ、Amplifyのサイズ制限にしろ、厳しすぎやしませんかね……

Git

LFS

2023/12/2 7:15:00

Git Large File Storage

iPhone 15 Pro Max2023年12月2日
あれ
思考フレームワークのLLM App化NVC-Mentorおもろい
LLM AppNVC思考フレームワークのLLM App化PartyRock
あれ
コミュニケーション対立解消

NVC

2023/12/2 5:01:00

NonViolent Communication

共感による互恵関係を築くプロセス

NVC-Mentor

Lambda

2023/11/29 8:08:00

AWSFaaS
プログラムやDocker Containerを動かせる。

Amplify function『Hosting Hugging Face models on AWS Lambda for serverless inference』あれあれあれ
あれ

引用の要件

2022/10/21 21:33:00

とかなんとか(うろ覚え)


ちゃんと調べてみた

1 すでに公表されている著作物であること
2 「公正な慣行」に合致すること(例えば,引用を行う「必然性」があることや,言語の
著作物についてはカギ括弧などにより「引用部分」が明確になっていること。)
3 報道,批評,研究などの引用の目的上「正当な範囲内」であること(例えば,引用部
分とそれ以外の部分の「主従関係」が明確であることや,引用される分量が必要最小
限度の範囲内であること)
4 「出所の明示」が必要(複製以外はその慣行があるとき)

あれ
あれ