Make組ブログ

Python、Webアプリや製品・サービス開発についてhirokikyが書きます。

デジタル世界は魂ゆえに残酷だよねって話

雑談です。

VRChatの世界でよく「最終的に魂が大事」という話になります。

デジタルの世界では自分が好きな姿になれるので、逆説的に魂(つまり中の人の考え方や面白さ)が重要になってくるというわけです。これはVRでないSNSでも似たようなもので、アイコンを絵にしたり加工した写真にすればいくらでも自分の姿を演出できちゃいます(とくにAIの時代はよりそうなるはず)。そうすると理想的っぽくて残酷なもので、「で?あなたは何が面白いの?」という身も蓋もない現実がやってくるわけです。

人間はどうしても「何者かになろうとする」ものだと思いますが、それがより残酷な形で現れてしまう気がしています。でも性格は変えようもないですし、対人スキルや絵を描くなどの技術を伸ばすのは大変です。そこで思想や「私はこういう人である」という宣言をしがちなのかなと思います。

記事の結論から言うと、「リアルに帰れ」のようなことは今さら言えない世の中で、どうしましょうね?という何とも歯切れの悪い話です。手垢の付いた話題でもあります。

それを認めざるを得ない

「私はこうだ」というのは、他から証明しなくても正義なので一番簡易です。「いや急に言うなよ」と言われても「もともとそう思っていた」、「自分でも気づいていなかった」と言えば済みますので証明しようがありません。もちろん本当にそういうケースもたくさんありますし、僕自身にも皆さんに言っていないことはあります。でもその証明できない点やセンシティブな点を隠れ蓑にして、無意識が思想という自己主張を求めている気がします。

重要なのは人類の無意識下でそれが起こっているってことです。

別に僕は否定したいわけでもないですし、本当に思いを打ち明けた人を小バカにしてしまう論調も良くないと思います。ですがいい加減「そういう現実があるよね」というのは皆んなで認めたほうが良いと思います。つまり「デジタルの世界は露骨に人間的(キャラクター的)な面白さを問われるし、人間は何者かになり認められたいと思っているし、無意識が思想や考え方という楽な方法でそれを実現しがち」ということです。ましてその思想が正しいと言われていて、時代に即したものであればなおさらです。思想といっても特別な信条だけでなく、よくあるMBTI性格診断の結果をSNSに共有するのもその一部なのかなと感じています。

つまり、私はこうである!という何かが、デジタルでは求められすぎているということです。

リアルの世界にはファッションや暮らしがある

そもそも人が無意識に何かを身につけたり、人から認められたいと思うのは自然なことです。それを否定すると有史以前の壁画から否定することになりそうです。

今までのリアルな世界ではファッションや所属によりそれが満たされていたように感じます。たとえば自分の好きな服を着れば、リアルの世界であれば自分らしさの主張に役立ってくれます。僕たち自身が「自己主張に役立てよう!」と思ったわけではなく、深層心理がそれを求め、知らないうちにそれを実感しているということですね。カッコいい時計や車なんていう古臭く感じるものが昔支持されていたのは、人々にはリアルしかなかったからなんでしょうね。だって、SNSに上げたいなら車なんてコスパが悪すぎます。200万円以上するのに、新鮮な投稿は1回しかできません。

他にも家族や地域社会みたいな帰属するものがあれば、そこで自分の重要さを感じられます。子どもがいれば誰だって特別になれます(僕にとっても何気なく興味ももたれない人間である僕の親が特別なわけですし)。

でもデジタルにそれらは持ち込めません。誰だって特別になれる安直なリアルでねっとりした何かは、ネットには持ち込めないわけです。

でもリアルに帰れって話したくない

こういう話をすると「リアルに帰れ」みたいな論調になります。でもぶっちゃけ無理じゃないですか?たとえば仕事のコミュニケーションすらSlackなどのチャットが中心になっているわけで、そこにもデジタルな自分は不可避な存在なわけです。ゲームをするにもネットが中心ですし、そこにはアカウントがあり、そのアカウントを中心としたコミュニティが生まれていきます。

いや、そういったSNSとはうまく付き合い、筋トレや丁寧な暮らし、リアルの交友関係を大切にしよう!みたいな結論にするのも嫌なんです。このネットで生きるときに、何を持って自分と感じ、そこに安心できるんでしょうか。デジタルネイティブな時代に、それを用意しておく必要を感じています。

少なくとも今のSNSを中心に自分を置くとかなり精神的に良くないです(皆んな分かってるとは思いますが)。「じゃぁあなたの好きなVRだって話ですか?」というとそうでもなくて、VRChatの住民もどこかしら病んでいたり、むしろこういった問題をこじらせてるきらいがあります。

じゃぁどうしましょうか?

知らんわ…。

いえ、要はこういうことです。

  1. 人間性などに関せず手に入る
  2. 個人の才能や研鑽を必要としない
  3. 金を払う難しさや参加する手間は要求してくる
  4. 自己主張ができたり、帰属を感じられたり、所有欲を満たす

そういうもの・ことがあると良いわけです。

でもNFT、VRやAIでも解決にはなってないので難しいですが、これからもっとデジタルネイティブな世代が増える中でそういった拠り所は必要ではないでしょうか。まぁ現状、自分を俯瞰してファッション的に思想を身に着けたり主張したり、SNSの世界が中心になって時間と脳のリソースを無駄にするのをやめよう、としか帰着しませんが。

この問題はもう少し考えたいです。

いや、こうやってこの記事を書いている行為そのものもデジタル・ネット社会における自己と思想の主張なのかもしれません。

気づいてしまったか。

執筆:Kiyohara Hiroki (@hirokiky)
Shodoで執筆されました

DjangoCongress JPやるってよ!

DjangoCongress JPやるってよ

来月の10月7日(土曜日)にDjangoCongress JP 2023をやります!

これを読んでくれている、Djangoに興味がある方にお伝えしたいです。

Djangoの面白いイベントです

PythonのWebフレームワークDjangoに関するカンファレンスです。年に1回のお祭りです。

今年も初心者の方から仕事で使う方まで楽しめるような発表が盛りだくさんです。Djangoでの開発や運用などにお困りの方、色んなDjangoの活用法を知ってみたい方はぜひ参加してください。

私も、「Django初心者が中級者になるために知るべきこと」として発表します! ちょっと最近ある人に教える機会があるので、ベストプラクティス集というか、小ネタ集的なトークをしたいと思っています。

他にも「Djangoアプリケーション運用のリアル:問題発生から可視化、最適化への道」など運用に関したトークもありますし、マイグレーションやパスワードのハッシュについて掘り下げたトークもあります。

僕自身もめっちゃ楽しみです。

djangocongress.jp

パーティーもあります!

パーティーもあります

今年はやっとパーティーを再開します。去年はできませんでしたからね。

でも少し久しぶりというのもあって、ちょっと参加する勇気はでないかもしれませんが、スタッフも例年どおりのメンバーなのでご安心ください。

つまみやすい料理を用意しています。2019年のときと同じ業者さんに頼むので、こんな感じになると思います。

パーティーがあるとそこから仕事やコミュニティの関係に繋がるのが良いと思っています。コロナ禍で非常事態宣言なんかが出ていたときは、やっぱり人との繋がりがないと難しいこともあるなと感じていました。今年はそれを乗り越えて、皆さんと交流できると嬉しいです。

Djangoのイベントをやる訳

2018年に始めたときからなのですが、DjangoCongress JPでは他のカンファレンス等とは違って、Djangoだけで深掘りできる場を提供したいと思っています。

PyCon JPも大規模になったり、データやAIという話題も増えているなか、Djangoについて初心者向けから運用を加味した中級・上級向けのトークをやりたいなと思っています。とくに初心者さんがステップアップしていく場というのは必要かなと最近はとくに感じています。

やっぱりWebの世界はそこまで単純ではないので、単にWebアプリを作れるというだけでは済みません。最近もAWSの月額費用が100万円になった話がありましたが、良い作りにして保守運用もしやすく最適化するのはノウハウが必要です。そういったことも含めて共有できる場を提供したいと思っています。

チケット発売中です!

勇気はちょっと要るかもしれませんが、ぜひ参加してくれると嬉しいです。

2019年なんかは1日足らずにチケットが完売したりしていましたが、今年はまだ残っています。せっかくスタッフ一同がんばって用意していますし、発表の内容も盛りだくさんです。

やっといつも通りにイベント開催できるな、というこの機会ですので、会場で会いましょう!

きて!(エスパーニャーー)

django.connpass.com

執筆:Kiyohara Hiroki (@hirokiky)
Shodoで執筆されました

DjangoCongress JP 2023のトーク応募は今日(8月21日)締切です

皆さんこんにちは。

DjangoCongress JP 2023トーク応募の締め切りは今日です!

Djangoの知見がある方、何か共有したいことがある方、会社を知ってほしい方、ぜひご応募ください。

forms.gle

あまりハードルは高く考えなくても大丈夫です!
この機会にカンファレンス登壇にデビュー!とかでも大歓迎です。

コミュニティは皆さんの力で作っていくものだと僕は考えています。
僕はイベントの主催者ですが、できることはほんの少しです。登壇してくれる方や、参加してくれる方がいてやっとイベントというのは成り立ちます。もちろん、あなたもその一員です。

勇気はたしかに必要ですが、もし少しでも興味があるなら、ぜひ傍観者でいる自分にさよならしてみませんか。

楽しいイベントになると思うので、ぜひ!

djangocongress.jp

執筆:Kiyohara Hiroki (@hirokiky)
Shodoで執筆されました

ChatGPTで御社(AIスタートアップ)は倒産しないの?という声に

弊社は倒産するのかい?!

すーーーーーーーーーない!!!

ハッ!(笑顔)

世界的に人工知能(AI)の話題が盛り上がっています。ChatGPTは爆発的に注目を集めていて、とくに次世代のGPT-4の登場が話題になり、ますます熱いAI分野です。

そこで「AI校正のShodoや御社(株式会社ゼンプロダクツ)は大丈夫なの?」 と心配していただきますので、お話したいと思います。

この記事は僕が会社について書いたメッセージですので、未来の予言であったりChatGPTに関する学術的な評価ではないことをご留意ください。

AIが役所で活用される未来

まず僕はこのGPTの流れがまだ始まりの1%にすぎないと思っています。

未来では、GPTのオープンなバージョンが出て利用しやすくなり、大企業や役所といったクローズドな環境でも活用されはじめるだろうと考えています。別にGPTに限らず、AIを活用してコミュニケーションやドキュメント、受付や問い合わせ業務を改善するのは急務です。日本衰退の原因はここにあるので、システム化やWeb化とともにAIにより改善されるべきです。

弊社の株式会社ゼンプロダクツは煩雑な仕事やペーパーワークをAIプロダクトで破壊し、人々の創造性や人間性を開花させることをミッションとしています。今の非効率な社会や仕事を変えることで、いわゆる「オワコン日本」から脱却できると僕は信じています。

現状ChatGPTに内部の情報を送信したり、手元で運用するのは難しいですが、大規模言語モデルがオープンになる未来は見えています。僕たちはGPTに限らず日本の事情やそれぞれの課題にあった解決策をAIプロダクトで提供したいということです。やっぱりその点は僕たち国産スタートアップの頑張るところかなと思っていますし、かなり大きな市場規模だとも思います。

なので、オープンな大規模言語モデルが出たタイミングこそ本当の世界的な「波」の始まりなのかなと思っています。

Shodoの価値は?

OpenAIに負けてることはたしかです。GoogleやDeepLすらOpenAIには負けていますからね。神と戦ってはいけません。

この文章も、負け犬の遠吠えなのかもしれません。

ですがShodoの価値はライティングや執筆、編集の仕事で必要になる機能を提供したり、企業向けにクローズドなAIを提供することにあると思います。GPTを使える環境ではそれも活かしつつ、クローズド向けのAIも提供できます。

たしかにChatGPTに依頼すれば校正もできますし、そもそもChatGPTに書かせれば済むかもしれません。ですが実際にはこういった機能も求められます

  • 固有名詞を数1000件設定し、1万文字の文章で表記ゆれをチェックしたい
  • クライアント企業から指定される表記ゆれシートに準拠したい
  • 1文の長さを100文字以内にしたい
  • 日本語的によくある間違い(敬語の間違いなど)を直したい

その点を解決するツールとしてもShodoは必要かなと思います。GPTへのプロンプトを工夫して解決できるかもしれませんが、速度の問題や、プロンプトの長さなど課題もあります。プロンプトが複雑なら、それをShodoが生成してChatGPTに聴いてあげるのも素敵です。

ですのでShodoはGPTを最大限活用しつつ、ShodoのAIや自然言語処理を活かした校正も提供するつもりです。実際に先日、ChatGPTで下書きを書く機能をリリースしました。

他にも、こういった利点もあります:

  • 国内稼働の校正APIを提供しており、ShodoのAIはクローズドな環境へのデプロイも可能
  • プラットフォームとして記事の相互レビューができ、Markdownの執筆がやりやすい

AI技術を広く活用して、ライティングや執筆、編集の仕事を大幅に改善するプロダクトを作りたいと思っています。

環境がどう変化しようが、僕たちがこの思いを持っていれば、GPTの登場すら好機というわけです。実際にShodoのユーザーさんはChatGPT登場後、むしろ増えています。

なぜ僕はライティングのAIを?

もともと僕は学生時代に、個人にニュースをレコメンドするようなWebサービスを作って卒論としました。そのころから自然言語処理やAI(当時は集合知機械学習)に興味があり、それを活かしたWebサービスを作りたいと思っていました。

ブログの名前にあるとおりここは「Make組ブログ」で、プロダクトを作ることばかり考えています。僕は貧乏な家庭で育ったので、Webのように誰でも参加・開発でき、情報やデータもオープンな世界に魅了されてしまったんですよね。

その点でこのクローズドGPTの世界は、嬉しい半分と寂しい半分です。でも大丈夫です。いつかオープンな世界は来るでしょうし、国産大規模言語モデルにも期待したいです(数十億円くれれば僕もやります)。

ですが本当に僕たちがやるべきことは、WebやAIの技術を使って仕事を楽にしていくことです。たぶん、最先端の仕事や技術を改善するのはOpenAIがやってくれるでしょう。僕たちはそうでなく、まだAIが導入できない世界や、改善すれば大きなインパクトを生む世界(たとえばライティングや執筆、ニュース)にAIプロダクトを提供して世の中を良くしたいわけです。

まとめ

結論から言うと、たしかに廃業の危機にも見えるが、逆に言えばGOGOチャンスであり日本を変える企業になるということです。これは投資家さんにも話していて、やばいサイコロにベッドしちゃいましたねと伝えています。

ポイントとしてはここです:

  • AIは今後、大企業や役所などでも使われてDXされるべき
  • 弊社は日本やある分野の課題を解決するAIプロダクトを提供している
  • 僕はずっと自然言語処理やAIでプロダクトを作っていたいし「オワコン日本」をなんとかしたい

というわけでスタートアップらしく倒産する危機とともに生きていますが、僕たちのミッションやすべきことは何も変わっておらず、むしろこれからが本番だというお話でした。

この話に興味がある人は、昨日配信されたばかりのポッドキャストもぜひ聴いてください

やっていく気持ち!!

執筆:Kiyohara Hiroki (@hirokiky)
Shodoで執筆されました

ChatGPTを非同期でPythonから利用する方法

ShodoがChatGPTに対応しましたね。

最近注目されている自然言語処理技術の一つChatGPT。本記事ではPythonからChatGPTを非同期で扱う方法についてご紹介します。

実はこの記事もChatGPTに書いてもらい、僕が加筆し、Shodoで校正しています。

ChatGPTと非同期で扱う話

ChatGPTとは、人工知能の一種であるGPTを用いた、対話型の自然言語処理技術のことです。

APIも公開されて最高!なわけですが、 いかんせんレスポンスが遅いため面倒です
通常、数ミリ秒の世界で生きているわけですが、ChatGPTのAPIは30秒以上ふつうにかかります。同期的なWebサーバーで返答を待ってしまうと、ワーカーが長時間待ってしまうのであまり嬉しくありません。

そこで非同期で扱うことが大事になります。

そう。PythonのAsyncです!Async最高!

ChatCompletion.acreateを使おう!

openaiというPythonライブラリを使うことで、ChatGPTをPythonで利用できます。openai.ChatCompletion.create という関数を使う例をよく見ますが、非同期の ChatCompletion.acreate という関数を使いましょう!

import openai

res = await openai.ChatCompletion.acreate({...})

オプションなどは create と同じです(参考 https://platform.openai.com/docs/guides/chat

また stream=True というオプションを渡すことで非同期ジェネレーターで受け取れます。すごい。ChatGPTのWeb版のように、文字がどんどん書かれるようなUIを作る場合に必須となります。

Djangoでの利用例

ChatGPTを非同期で扱う場合、FastAPIやDjangoといった非同期対応のWebフレームワークを使うのがおすすめです。以下はDjangoを用いてChatGPTを利用する例です。

class GPTView(View):
    async post(request):
        res = await openai.ChatCompletion.acreate({...})
        return JsonResponse({"text": res["choices"][0]["message"]["content"]})

これで uvicorn などで起動すれば、ちゃんと非同期で扱ってくれます。Django最高!
AsyncStreamResponseDjango 4.2からの対応のようですので、それも楽しみですね。

エラーハンドリングの仕方やDjangoRestFrameworkで非同期をやる方法などは今後気が向けば書きます。

まとめ

ChatGPTをPythonから利用する方法について、 ChatCompletion.acreate という非同期の関数を紹介しました。また、非同期をWebで扱う場合はFastAPIやDjangoがおすすめです。

この記事もChatGPTとShodoのAIのおかげで書きましたが、書き始めの下書きと誤字や間違いのチェックがあるだけで、気がすごく楽ですね。

執筆:Kiyohara Hiroki (@hirokiky)
Shodoで執筆されました

ロケットと、信じる話

(今日は雑記として、結論もない話を書きました)

H3ロケットの打ち上げが失敗してしまい、僕としては結構ショックでした。
いやー、残念。やる意義も大きくて、期待していました。

1号であり試験機なので今後、改善すれば良いと思います。もちろん失敗についてや大事な衛星の打ち上げに使われたことなど、再考すべき点はあると思っています。

でもそれを含めて、応援したい気持ちです。

そこでふと、もう少し日本に期待をして良いんじゃないかなと自分に対して思いました。やっぱりどこかで「日本はダメだ」、「アメリカが正義」と言いたい気持ちも見え隠れしてしまいます(自分の中に)。とくに、こういう機会はそうです。

それって結構、寂しいなと思います。

ちょっとここから、ロケットの話から飛躍した話になってしまいますが…。

「日本オワコン」論って、論理的に正しいかもしれませんが、自己成就予言に陥ってしまう気がしています。それってもったいなくて、「なんとか解決してしまう愚かさ」を失ってしまいます。

たしかに日本には少子化GDPの低下などの悪材料が多いですし、債権にしろ株式にしろアメリカを買うほうが結果は良いでしょう。でもそれも、僕たちがオワコンと思うことでオワコンの道を加速しているようにも思えます。結局は皆んなが変えれば、変わりそうな気もする。信じることをやめたら終わりなんですよね。でもまぁ大阪の都構想が頓挫したり、やっぱり変化したくない国なのかな、と思ってしまうこともあります。

でももう少し、日本というか、「自分たち」に期待しても良いんじゃないかなと思います。今の若い人たち、働いている世代の人たちですね。たぶんデータで見ればオワコンと言うほうが正しいんですが、これは正しさではなく、根拠のない自信みたいなものです。皆んながそう期待して何かを起こせば、案外、あっさりオワコンじゃなくなる可能性もあります。

不用意に悲観しないというか、目の前の信じれるところで頑張るということです。

ウォーレン・バフェットビル・ゲイツが成功したのは昔、アメリカに期待したからだとも言えます。悲観論であればウォーレン・バフェットのようになれないのは事実です(アメックスが傾いたときに株を買ったりしてますから)。

だから僕はもう少し日本の製品を買おうかなと今ちょっとだけ思いました。そして、個人の購買動機だけ少し変えてもあまり意味はないので、こんな記事を書いてみようかなと思いました。まぁ、買うときはもちろん製品として良ければですし、Sony信者になろうというわけでもないです。Apple製品は良いですからね。

ただもう少し僕自身や近い人たちを信じたり、そこにお金を使ったり、建設的に前へ進むアクションをしようと思いました。そして、H3ロケットのこれからを応援しようと思いました。

僕の税金でロケットを飛ばしてくれ。信じてるから。

そんな話でした。

執筆:清原 弘貴 (@hirokiky)
Shodoで執筆されました

31歳になりました

めでたい!

起業した会社で初めて資金調達を実施しました。 もう、前に進むだけです。

将来、国家公務員だなんて言うな 夢がないなあ

Keep Tryin' / 宇多田ヒカルより

open.spotify.com

30歳も超えると、もう何歳がどうとか関係なくなってくるので、楽でいいですね。

過去分

blog.hirokiky.org

blog.hirokiky.org

blog.hirokiky.org

blog.hirokiky.org

執筆:Kiyohara Hiroki (@hirokiky)Shodoで執筆されました