Slide 1

Slide 1 text

Webサービスやツールの紹介 Memetan Tech Tips ( とり子 と memetan の親子チーム) AIを組み込んで自作した

Slide 2

Slide 2 text

ざっくり自己紹介 ■ とり子  ・平凡なWEBエンジニア主婦  ・電子工作が趣味 ■ memetan  ・16歳のフリーランス  ・技術全般が大好き

Slide 3

Slide 3 text

AIを使って作ったものの紹介をします memetan氏の作ったものをとり子が概要について 紹介後、本人よりAI部分の詳細説明を行います。 (※わたしはAI詳しくないです…) 【本日ご紹介する作品メニュー】   ① 謝罪FAXジェネレータ  Webサービス公開中   ② カレンダーキャプチャー Webサービス公開中   ③ AIコード補完      memetanの自分用ツール

Slide 4

Slide 4 text

① 謝罪FAXジェネレータ 先月開催された「ツクってアソぶハッカソン」で作った作 品、優秀賞受賞 ハッカソンのテーマが 「洗練された無駄のない無駄な機能」 Web画面上のボタンを押して 謝罪文(謝罪案件・理由)を AI自動生成 さらにFaxが送られたかのように 同時印刷の機能も追加 https://apology.tsukuaso. memetan.dev/

Slide 5

Slide 5 text

ここは動画です

Slide 6

Slide 6 text

プロンプトエンジニアリング ・二回投げるといいと踏んだ  ①出来事を作成  ②謝罪文作成 ProtoPediaにも記載しています。 https://apology.tsuku aso.memetan.dev/ ■説明 ①謝罪FAXジェネレーター   https://protopedia.net/prototype/5105

Slide 7

Slide 7 text

② カレンダーキャプチャー 2022年にとり子が作りかけていたものを memetn氏が2023年に完全リニューアル 紙のおたよりをカメラ読み込みして Googleカレンダーに登録 するWebシステム https://cam2calendar.me metan.dev/

Slide 8

Slide 8 text

ここは動画です

Slide 9

Slide 9 text

■説明 ②カレンダーキャプチャー ・Google Vision API、OpenAI API、Google Calendar APIを使用 +---------+ +---------------------+ | Picture | -> | Google Vision API | +---------+ +---------------------+ *1 | +---------+ +-----+ +--------+ | Prompt | -----> |Mux| -----> | Result | +---------+ +-----+ +--------+ *1 プロンプトは固定 ・GPT-4はコスト高い  3.5 Turboはvisionがない   なんちゃって自作             ProtoPediaにも記載しています。             https://protopedia.net/prototype/3819 https://cam2calendar .memetan.dev/

Slide 10

Slide 10 text

③ AIコード補完 自作のコード作成支援ツール 初版は去年7月に作成、 バージョンアップしながら 現在も元気に稼働中

Slide 11

Slide 11 text

ここは動画です

Slide 12

Slide 12 text

■説明 ③AIコード補完 WizardCoder
 ● 15B
 ● モデルアーキテクチャは starcoder
 ● 特殊トークンで補完が可能
 llama.cpp
 llama.cppでQ4_Kに量子化 2023/09時点でLLaMA系列ではないのにllama.cppに サポートが追加[1]
 Q4_Kは12GiBにぎりぎり収まる (= RTX3060で動く) [1]https://github.com/ggerganov/llama.cpp/issues/3076 fn helloWorld() { println!( } "Hello world!");

Slide 13

Slide 13 text

VSCodium
 検証環境はVSCodeの派生のVSCodium 
 拡張機能でコードを補完する 
 使うインターフェスは InlineCompletionItemProvider 
 このインターフェスは GitHub Copilot も使っている (だから表示・使い勝手は同 じ) 
 llama.cpp の OpenAI 互換 HTTP API をこのインターフェスに変換するだけ

Slide 14

Slide 14 text

問題点
 ● コンテキストが2048で縛られる
 ○ 2048を超えるとすごく頭が悪くなる
 
 ● WizardCoder 古い
 ○ このプロジェクト自体古い
 ○ でも未だに現役、普通に使える
 


Slide 15

Slide 15 text

ありがとうございました