t_wの輪郭

Feedlyでフォローするボタン
AssistantsRAGあれ『デライト Advent Calendar 2023』

OpenAIのAssistantにデライトの輪郭を食わせて、文章を書くのを手伝ってもらってみたら、意外性の無い文章しか生成できなかった

2023/12/5 15:09:00

経緯

デライトアドベントカレンダーの文章を書くネタが全然降りてこないので、与えた情報に基づいてAIが回答してくれる、OpenAIのAssistantsを使って文章をかいてもらおう、ついでにネタの一つにしよう、ということになった。


手順

  1. デライトをクロールして輪郭を集める(筆者は『t_wの輪郭』を作るためにDynamoDBに格納していたデータを使用した)
  2. 各輪郭をhoge.txtに変換
  3. OpenAIのAssistantsにファイルをアップロード
  4. Assistantsに文章を書いてもらう

結果

所感

使い物にならなかった。面白い文章は出てこなかった。
ChatGPTにとって未知の情報かつ、自分にとって既知の情報を与えた場合には、意外性のない文章が出てくるのは、考えてみれば当然のことだった。

より良い使い方としては、「社内イントラなどと連携し、新入社員がこれを使って情報探査する」といったことには向いていそうだ。


結果1

User

『なんでもメモ、デライトとFediverse』というお題で1000字程度の文章を書いてください。 なお、デライトはまだActivityPubに対応しておらず、対応が検討されているに過ぎません。

Assistants(GPT-4)

「なんでもメモ、デライトとFediverse」

日常において、忘れてはならないアイデアを瞬時に記録するためにノートやメモ帳が手放せない方は少なくありません。こうした必需品のデジタル版として登場した「デライト」は、シンプルながらも機能性に優れたメモアプリケーションです。様々な情報をカテゴリーやタグで整理し、クラウドを介して端末間で同期することができるため、使用者にとって非常に便利なツールとなっています。しかし、情報の「共有」と「やり取り」の側面に関しては、現状デライト独自のクローズドなシステムに依存しており、他のプラットフォームやアプリケーションと直接連携する手段には乏しいのが実情です。

一方で、オープンソースと分散型のソーシャルネットワークである「Fediverse」(フェディバース)が成長しつつあります。Fediverseは、MastodonやPeerTubeといった異なるプラットフォーム間での相互運用性を可能にするプロトコル「ActivityPub」に基づいています。このプロトコルは、異なるサービス間でのユーザーのインタラクションを促進するもので、各サービスは独自のプラットフォームを維持しながらも、広いネットワークに参加することができるようになっています。

デライトがFediverseというオープンで分散型のエコシステムに参入すれば、メモや情報の共有が一段と手軽になるだけでなく、ユーザーは情報をさらに価値あるものとして活用することが期待できるでしょう。例えば、デライトのメモをMastodonでフォロワーに共有したり、友人がPeerTubeで投稿したビデオに直接メモとして反応したりすることが容易になるかもしれません。自分の思考やアイデアをFediverseの他のプラットフォームにいるユーザーとリアルタイムで共有し、そこからフィードバックを得たり、コラボレーションを図ったりすることで、創造性や生産性が高まります。

さらには、Fediverse上で形成される中小企業やクリエイターたちのコミュニティーにおいて、デライトがインフォメーションマネージメントのハブとなることが予測されます。そうすることで、利用者は情報源を分散させることなく、一箇所に集約された知識として活用することができるようになります。このように、デライトがFediverseと統合することで得られる相乗効果は計り知れません。

しかし、現時点でのデライトはまだActivityPubに対応しておらず、その連携は"検討中"の段階にあると報じられています。多くのデライトユーザーはこの連携を心待ちにしており、技術面での課題がどのように解決されるのか、またプライバシーとオープンネスのバランスをどう取るのか、注目されています。開発チームはユーザーコミュニティーからのフィードバックを積極的に取り入れながら、世界中で使われているFediverseとの互換性を実現すべく努力を重ねている状況です。

「なんでもメモ」としてのデライトの利便性と、Fediverseという新しい形のソーシャルネットワーキングの可能性が融合すれば、これまでにない形の情報共有、コミュニケーション、さらにはコラボレーションが見込めます。変化の激しいデジタル時代にあって、開かれたプラットフォーム間の対話と連携が、情報の価値を最大限に引き出す鍵となるかもしれません。デライトがFediverseに対応する日はいつ来るのか、その日が訪れたとき、ユーザー体験は確実に変革されるでしょう。

結果2

User

デライトの輪郭について1000字程度で説明してください

Assistants(GPT-4)

デライトの輪郭に関する記述は大まかに「Loopコンポーネント」の取り扱いとそれに関連する「描写埋め込み」に関するものでした。デライトの輪郭とは、ある種のデータ構造や文書の処理において、特定の情報を異なる文脈や範疇に埋め込むことを可能にする仕組みを指しているようです。「Loopコンポーネント」は、様々な場所に埋め込むことができる非常に柔軟なシステムであることが強調されています。しかしながら、その処理は非常に複雑であるため、実際に取り扱うのが難しいとされています。埋め込まれた情報の整合性を保ちながら、適切に管理・編集する必要があり、それには多くの注意と手間がかかるようです。

更に、「デライトの描写埋め込み」とは、Loopコンポーネントと似た概念であり、基本的な機能は「トランスクルージョン」という原理に基づいています。これは、ある文書の内容を別の文書で参照し、表示することを可能にする技術と述べられています。しかし、現状では食品のカロリー情報を埋め込む程度にしか有効利用されていないとの指摘があります【19†source】。

以上の記述から、デライトの輪郭というのは、情報技術の文脈でみられる複雑なシステムの一部であり、文書やデータの柔軟な組み合わせと運用を実現するための技術要素のようです。しかしその反面、その柔軟性が逆に整合性維持や編集の複雑さをもたらしているとも考えられます。また、そのポテンシャルにもかかわらず、まだ完全には活用されていないという現状が示唆されているようです。このためにデライトの輪郭は、情報管理やレイアウト設計、システム開発における挑戦的な側面を持っていると言えるでしょう。

品評会会議

あれ

2023/12/5 12:21:00

あるIT技術者同士の会議に出たときは、なんか品評会みたいな感じになってた。お互いに持ち玉をだして、お互いに「いい仕事してますねぇ」みたいな。

仕事の新陳代謝技術の進歩と労働AIが仕事を奪う

あれ

2023/12/5 12:05:00

 私はIT業界にいながら5年前とは全く違う技術を使い、全く違う働き方をしているから、ある意味で技術の進歩によって仕事を代替され、同時に技術の進歩によって雇用を得ている状態でもあるので、新陳代謝みたいに仕事の様態は変わりつつも総量としてはそんなに変わっていかないんじゃないかなと思う。

 あと、技術の進歩によってより多くのことが少ない労力でできるようになれば、生活はより豊かになるって側面もあると思う。20年まえだとSNSとかなくて、遠隔の人とコミュニケーションを取るのも一苦労だったし、トラクターが出現する前は農作物の総費用はすごかっただろうし。
 消費財の費用の低減という効果によって、より少ない労働で生活が成り立っていくんじゃないかなぁ。そうなるといいなぁ。

公正取引委員会鉛レンガ郵便Expack500
Slack Events API
Slack Events API
RP

FRP

2023/12/4 23:07:00

Functional Reactive Programing

RP

2023/12/4 23:06:00

Reactive Programming

RxJSFRP
Amplify
あれ
import-backend-storageAmplify

あれ

2023/12/4 22:58:00

AWS CLIのimport-backend-storageを使えば、Amplifyのアプリをバックアップから復旧させるのが楽そう。

indexedDB
あれ
SurrealDB
金融大規模言語モデル
あれ
『Japanese Language Model Financial Evaluation Harness』
あれWeb ProwlerMapベクトル検索
User EmbeddingSentence EmbeddingWeb Prowler

あれ

2023/12/4 16:10:00

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

User Embeddingの初期状態は、ブラウザに保存されたお気に入りや、履歴から計算すれば良い。ローカルで動作して情報が外には出ないので、こういった情報を安全に取り扱える。

あれ
記憶と思考知能増幅デライトは人間の知的作用のキャッシュ『デライト Advent Calendar 2023』デライト(なんでもメモ)

デライトは、知識の描き出しも、取り出すのも、超高速でできる

2023/12/4 15:09:00

 デライトに順応すると、「散歩中に思いついたあれ」や「あれを考えるために調べたあれ」など、描き出した何もかもが超高速で取り出すことができる。
 知識を保存するのも超高速だ。保存すべき場所を探し回る必要はなく、既存の書き出した知識に適当に引き入れておけば良い。目についた単語の輪郭に引入れておけば良い。取り出すのは適当にたどっていれば見つかる。なぜか見つかる。
 直観で、「なんとなく」で引き入れるのが大事だ。探すときも直観と「なんとなく」で探すのだから、保存と探索は同じ道を辿る。

 知識の保存と取り出しの超高速性は、あたかも脳の記憶が拡大したかのように感じられる。記憶の拡大は、思考の高速化をもたらす。日本の学校を出たならば、九九表を覚えさせられたかと思う。九九表を覚えれば、掛け算は10倍は早くなる。もし2桁の掛け算を全て暗記すれば、複雑な掛け算の速度は100倍かそれ以上になるだろう。
 算数に限らず、限りなく多くの人間の知的作用が記憶できたならば、どれほど思考は早くなるだろうか。

あれ

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
『Is there a way to specifiy thedynamodb tablename when creating a api resource using amplify?』amplify override
あれ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外注BERT『社会人のための「AIガチャ」入門』Lambda

あれ

2023/12/2 23:59:00

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

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

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

AI外注
あれ

あれ

2023/12/2 16:20:00

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

あれ

Lambda

2023/11/29 8:08:00

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

Amplify functionあれ
デライトは、知識の描き出しも、取り出すのも、超高速でできる

RAG

2023/11/12 12:40:00

Retrieval-Augmented Generation


大体の流れ

  1. ユーザーが質問を発する
  2. ユーザーの質問から関連情報を検索
  3. ユーザーの質問 + 検索結果 を生成AIに与える
  4. 生成結果をユーザーに提示
Agents for Amazon BedrockOpenAIのAssistantにデライトの輪郭を食わせて、文章を書くのを手伝ってもらってみたら、意外性の無い文章しか生成できなかった

あれ

2023/11/12 12:20:00

OpenAIのAssistantsを使って文章を書かせてみたんだけど、どうも面白くないな。

まだ人間がごま油にならないといけない。

OpenAIのAssistantにデライトの輪郭を食わせて、文章を書くのを手伝ってもらってみたら、意外性の無い文章しか生成できなかった
デライトは、知識の描き出しも、取り出すのも、超高速でできるOpenAIのAssistantにデライトの輪郭を食わせて、文章を書くのを手伝ってもらってみたら、意外性の無い文章しか生成できなかった
デライトは、知識の描き出しも、取り出すのも、超高速でできる

引用の要件

2022/10/21 21:33:00

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


ちゃんと調べてみた

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

あれ
あれ