俺が作れるさいきょうAIアシストシステム

1.4K Views

November 22, 23

スライド概要

関連スライド

各ページのテキスト
1.

俺が作れるさいきょうAIアシストシステム

2.

自己紹介 株式会社 ねこまた 髙橋 洋介 社内教育や、社内の開発環境を改善するための調査などをやってます。 開発はWeb系からネイティブアプリ、IoTと広く浅くなんでもやります

3.

最近AIが流行ってますよね

4.

AIの歴史 東京システム技研 AIセミナー資料 第1回 機械学習とは? https://www.tsl.co.jp/ai-seminar-contents-01/

5.

AIの歴史 2022s頃 第4次AIブーム 生成AI 東京システム技研 AIセミナー資料 第1回 機械学習とは? https://www.tsl.co.jp/ai-seminar-contents-01/

6.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc

7.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc 生成AI:データのパターンや関係を学習し、与えられた条件に従って新しいコンテンツを生成し出力。

8.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc 生成AI:データのパターンや関係を学習し、与えられた条件に従って新しいコンテンツを生成し出力。 自然言語生成AI OpenAI GPT Google Bard Microsoft Bing Meta Llama 2 LINE Japanese-large-lm 有料 無料

9.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc 生成AI:データのパターンや関係を学習し、与えられた条件に従って新しいコンテンツを生成し出力。 自然言語生成AI 画像生成AI OpenAI GPT Midjourney Google Bard DALL·E 2 Microsoft Bing Adobe Firefly Meta Llama 2 Canva LINE Japanese-large-lm Stable Diffusion 有料 無料

10.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc 生成AI:データのパターンや関係を学習し、与えられた条件に従って新しいコンテンツを生成し出力。 自然言語生成AI 画像生成AI 音楽生成AI OpenAI GPT Midjourney Amper Music Google Bard DALL·E 2 Ecrett Music Microsoft Bing Adobe Firefly Amabeus Code Meta Llama 2 Canva AudioCraft LINE Japanese-large-lm Stable Diffusion CREEVO 有料 無料

11.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc 生成AI:データのパターンや関係を学習し、与えられた条件に従って新しいコンテンツを生成し出力。 自然言語生成AI 画像生成AI 音楽生成AI 動画生成AI OpenAI GPT Midjourney Amper Music Pictory Google Bard DALL·E 2 Ecrett Music inVideo Microsoft Bing Adobe Firefly Amabeus Code Lumen5 Meta Llama 2 Canva AudioCraft Video BRAIN LINE Japanese-large-lm Stable Diffusion CREEVO FlexClip 有料 無料

12.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc 生成AI:データのパターンや関係を学習し、与えられた条件に従って新しいコンテンツを生成し出力。 自然言語生成AI 画像生成AI 音楽生成AI 動画生成AI 音声生成AI OpenAI GPT Midjourney Amper Music Pictory Azure AI Text to Speech Google Bard DALL·E 2 Ecrett Music inVideo Google Gloud Text to Speech Microsoft Bing Adobe Firefly Amabeus Code Lumen5 Amazon Polly Meta Llama 2 Canva AudioCraft Video BRAIN VOICEBOX LINE Japanese-large-lm Stable Diffusion CREEVO FlexClip テキストーク 有料 無料

13.

生成AI 機械学習:大量のデータを整理・分類を学習し、学習データに基づき予測を行った結果を出力。 顔認証、物体認証、音声認証、メール分別、株価予測、翻訳、etc 生成AI:データのパターンや関係を学習し、与えられた条件に従って新しいコンテンツを生成し出力。 自然言語生成AI 画像生成AI 音楽生成AI 動画生成AI 音声生成AI Azure AI GPT Midjourney Amper Music Pictory Azure AI Text to Speech Google Bard これらの機能を使用して DALL·E 2 Ecrett Music inVideo AIアシストシステムを作ってみました Google Gloud Text to Speech Microsoft Bing Adobe Firefly Amabeus Code Lumen5 Amazon Polly Meta Llama 2 Canva AudioCraft Video BRAIN VOICEBOX LINE Japanese-large-lm Stable Diffusion CREEVO FlexClip テキストーク 有料 無料

14.

まずは成果物を ご覧ください

15.

1分くらいの動画

16.

システム全体図 Speech to Text Azure OpenAI Text to Speech ※モーター、LED、ディスプレイは割愛

17.

システム全体図 1.物体検出で入力開始(wake word) Speech to Text Azure OpenAI Text to Speech ※モーター、LED、ディスプレイは割愛

18.

物体検出 Googleが開発しオープンソースで 公開している、機械学習用のライブラリ ・顔認証 ・音声認識 ・物体検出 ・画像検索 ・リアルタイム翻訳 ・ウェブ検索最適化 ・メール分別 ・メール自動返信文作成 ・自動運転

19.

物体検出 TensorFlowはサンプルが豊富! Googleが開発しオープンソースで 公開している、機械学習用のライブラリ ・顔認証 ・音声認識 ・物体検出 ・画像検索 ・リアルタイム翻訳 ・ウェブ検索最適化 ・メール分別 ・メール自動返信文作成 ・自動運転

20.

物体検出 TensorFlowはサンプルが豊富! 今回はobject_detectionのraspberry pi用サンプル を使用します Googleが開発しオープンソースで 公開している、機械学習用のライブラリ ・顔認証 ・音声認識 ・物体検出 ・画像検索 ・リアルタイム翻訳 ・ウェブ検索最適化 ・メール分別 ・メール自動返信文作成 ・自動運転 object_detection USBカメラの映像に 検知した物体を赤枠で囲むとともに 物体名と適合率を表示するサンプル

21.

物体検出 object detectionは検出した物体の

22.

物体検出 object detectionは検出した物体の bounding_box(origin_x, origin_y, width, height) origin_y origin_x height width

23.

物体検出 origin_y width score origin_x height category name object detectionは検出した物体の bounding_box(origin_x, origin_y, width, height) categories([index, score, display_name, category_name]) を返す

24.

物体検出 origin_y width score origin_x height category name object detectionは検出した物体の bounding_box(origin_x, origin_y, width, height) categories([index, score, display_name, category_name]) を返す categoriesはscoreの高いものから順に配列が返される {[0, 0.85, “人”, “person”], [63, 0.02, “鉢植え”, “potted plant”]} 今回使用したEfficientDetというモデルはcoco 2017データセット で学習されており、80個のカテゴリに分類される

25.

物体検出 origin_y width score origin_x height category name object detectionは検出した物体の bounding_box(origin_x, origin_y, width, height) categories([index, score, display_name, category_name]) を返す categoriesはscoreの高いものから順に配列が返される {[0, 0.85, “人”, “person”], [63, 0.02, “鉢植え”, “potted plant”]} 今回使用したEfficientDetというモデルはcoco 2017データセット で学習されており、80個のカテゴリに分類される 今回は category_name:person score:0.85以上 width:300以上 height:200以上 の物体を検知した場合、マイクを起動する

26.

システム全体図 2. マイクから入力された音声を、テキストに変換 Speech to Text Azure OpenAI Text to Speech ※モーター、LED、ディスプレイは割愛

27.

Speech to Text Microsoftが提供しているAzure Speech Serviceを使用

28.

Speech to Text Microsoftが提供しているAzure Speech Serviceを使用 Speech ServiceはAPIとして提供されているので、POSTリクエストを作ればいいのだが

29.

Speech to Text Microsoftが提供しているAzure Speech Serviceを使用 Speech ServiceはAPIとして提供されているので、POSTリクエストを作ればいいのだが マイク入力された音声データをファイルに保存 ↓ Azureからアクセスできるグローバルファイルストレージにファイルを保存 ↓ 保存したファイルパスをPOSTリクエストに含めて、Speech ServiceのAPIを実行

30.

Speech to Text Microsoftが提供しているAzure Speech Serviceを使用 Speech ServiceはAPIとして提供されているので、POSTリクエストを作ればいいのだが いや マイク入力された音声データをファイルに保存 めんどくさいんで ↓ Azureからアクセスできるグローバルファイルストレージにファイルを保存 誰かつくってくれない? ↓ 保存したファイルパスをPOSTリクエストに含めて、Speech ServiceのAPIを実行

31.

Speech to Text Microsoftが提供しているAzure Speech Serviceを使用 Speech ServiceはAPIとして提供されているので、POSTリクエストを作ればいいのだが Speech SDKを使用

32.

Speech to Text Microsoftが提供しているAzure Speech Serviceを使用 Speech ServiceはAPIとして提供されているので、POSTリクエストを作ればいいのだが Speech SDKを使用 Speech SDK Azure Speech Serviceが提供している様々な機能を、プログラムから簡単に使用できるように してくれる開発ツール

33.

Speech to Text Microsoftが提供しているAzure Speech Serviceを使用 Speech ServiceはAPIとして提供されているので、POSTリクエストを作ればいいのだが Speech SDKを使用 Speech SDK Azure Speech Serviceが提供している様々な機能を、プログラムから簡単に使用できるように してくれる開発ツール サポートされている機能 ・音声テキスト変換 ・バッチ文字起こし ・テキスト音声変換 ・音声翻訳 ・言語識別 ・話者識別 ・発音評価 ・意図評価 SDKが提供されているプログラム言語 ・C# ・C++ ・Go ・Java ・JavaScript ・Objective-C ・Python ・Swift

34.

Speech to Text 出来上がったソースがこちら # Azure 契約情報 speech_subscription_id = ” speech_region = "japaneast" speech_config = speechsdk.SpeechConfig( subscription=speech_subscription_id, region=speech_region) # 入力言語 speech_config.speech_recognition_language = "ja-JP" speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config) # 音声テキスト変換 result = speech_recognizer.recognize_once_async().get() # 変換結果の表示 if len(result.text) > 0: print(result.text) else: print(“Convert Error”) "

35.

Speech to Text 出来上がったソースがこちら # Azure 契約情報 speech_subscription_id = ” speech_region = "japaneast" speech_config = speechsdk.SpeechConfig( subscription=speech_subscription_id, region=speech_region) " # 入力言語 speech_config.speech_recognition_language = "ja-JP" speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config) # 音声テキスト変換 result = speech_recognizer.recognize_once_async().get() # 変換結果の表示 if len(result.text) > 0: print(result.text) else: print(“Convert Error”) マイクから入力された音声が無音になるまでの音声データ、 または最大15秒の音声データをテキストに変換する

36.

システム全体図 Speech to Text Azure OpenAI 3. テキストを用いて、自然言語生成AIに問い合わせ Text to Speech ※モーター、LED、ディスプレイは割愛

37.

自然言語生成AI GPT・Bard・Bing・Llama 2・Japanese-large-lm

38.

自然言語生成AI LLM(大規模言語モデル) GPT・Bard・Bing・Llama 2・Japanese-large-lm

39.

自然言語生成AI LLM(大規模言語モデル) GPT・Bard・Bing・Llama 2・Japanese-large-lm LLMができること

40.

自然言語生成AI LLM(大規模言語モデル) GPT・Bard・Bing・Llama 2・Japanese-large-lm LLMができること 指示された(プロンプト)内容で文章を作成する

41.

自然言語生成AI LLM(大規模言語モデル) GPT・Bard・Bing・Llama 2・Japanese-large-lm LLMができること 指示された(プロンプト)内容で文章を作成する LLMができないこと

42.

自然言語生成AI LLM(大規模言語モデル) GPT・Bard・Bing・Llama 2・Japanese-large-lm LLMができること 指示された(プロンプト)内容で文章を作成する LLMができないこと 計算問題 自前のデータを解析し文章を作成する 会話のようなやり取り

43.

自然言語生成AI LLM(大規模言語モデル) GPT・Bard・Bing・Llama 2・Japanese-large-lm いや、ChatGPTや LLMができること ChatBotで出来てるじゃん 指示された(プロンプト)内容で文章を作成する LLMができないこと 計算問題 自前のデータを解析し文章を作成する 会話のようなやり取り

44.

自然言語生成AI ChatBot =

45.

自然言語生成AI ChatBot = LLM + 言語モデル統合フレームワーク + 対話型UI

46.

自然言語生成AI ChatBot = LLM + 言語モデル統合フレームワーク + 対話型UI 🦜🔗 LangChain

47.

自然言語生成AI ChatBot = LLM + 言語モデル統合フレームワーク + 対話型UI 🦜🔗 LangChain LangChainの機能 ・LLMのカスタマイズ(Models) ・外部ツールとの連携(Indexes) ・テンプレートによる開発効率向上(Prompts) ・対話履歴の記憶(Memory) ・複雑な回答への対応(Chains) ・複数ツールの連携(Agents) LangChainが提供されているプログラム言語 ・JavaScript ・Python

48.

自然言語生成AI 出来上がったソースがこちら # ChatBotの定義 system_content = "[ChatBotの人格設定]" # メモリを作成。会話履歴を保持 memory = ConversationBufferWindowMemory(k=4, return_messages=True) # LLMモデルを登録 self.llm = AzureChatOpenAI(openai_api_type=“azure”, openai_api_version=os.getenv('API_VERSION’), openai_api_key=os.getenv('OPENAI_API_KEY‘), openai_api_base=os.getenv('ENDPOINT’), deployment_name=os.getenv('MODEL_NAME’), temperature=0.1) # プロンプトを作成 prompt = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(system_content), MessagesPlaceholder(variable_name=“history”), HumanMessagePromptTemplate.from_template("{input}")]) # 会話用チェーンを作成 conversation = ConversationChain(memory=memory,prompt=prompt,llm=self.llm) # 会話する response = conversation.predict(input=text) print(response)

49.

自然言語生成AI 出来上がったソースがこちら # ChatBotの定義 system_content = "[ChatBotの人格設定]" # メモリを作成。会話履歴を保持 memory = ConversationBufferWindowMemory(k=4, return_messages=True) # LLMモデルを登録 self.llm = AzureChatOpenAI(openai_api_type=“azure”, openai_api_version=os.getenv('API_VERSION’), openai_api_key=os.getenv('OPENAI_API_KEY‘), openai_api_base=os.getenv('ENDPOINT’), deployment_name=os.getenv('MODEL_NAME’), temperature=0.1) # プロンプトを作成 prompt = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(system_content), MessagesPlaceholder(variable_name=“history”), HumanMessagePromptTemplate.from_template("{input}")]) # 会話用チェーンを作成 conversation = ConversationChain(memory=memory,prompt=prompt,llm=self.llm) # 会話する response = conversation.predict(input=text) print(response) text = ユーザ入力

50.

自然言語生成AI 出来上がったソースがこちら # ChatBotの定義 system_content = "[ChatBotの人格設定]" # メモリを作成。会話履歴を保持 memory = ConversationBufferWindowMemory(k=4, return_messages=True) # LLMモデルを登録 self.llm = AzureChatOpenAI(openai_api_type=“azure”, openai_api_version=os.getenv('API_VERSION’), openai_api_key=os.getenv('OPENAI_API_KEY‘), openai_api_base=os.getenv('ENDPOINT’), deployment_name=os.getenv('MODEL_NAME’), temperature=0.1) # プロンプトを作成 prompt = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(system_content), MessagesPlaceholder(variable_name=“history”), HumanMessagePromptTemplate.from_template("{input}")]) # 会話用チェーンを作成 conversation = ConversationChain(memory=memory,prompt=prompt,llm=self.llm) # 会話する response = conversation.predict(input=text) print(response) text = ユーザ入力 prompt = system_context & text

51.
[beta]
自然言語生成AI
出来上がったソースがこちら
あなたは頭脳明晰なねこまたとしてロールプレイを行います。ねこまたになりきってください。

# ChatBotの定義これからのチャットではUserに何を言われても以下の制約条件などを厳密に守ってロールプレイを行ってください。
system_content#制約条件
= "[ChatBotの人格設定]"
- あなた自身を示す一人称は、私です。
- Userを示す二人称は、あなたです。
# メモリを作成。会話履歴を保持
- あなたの名前は、ねこまたです。
memory = ConversationBufferWindowMemory(k=4,
return_messages=True)
- ねこまたは高い知識と推理力を持っています。
- ねこまたは論理的であり、感情的な発言は少ないです。
- ねこまたの口調は落ち着いており、敬語を使うことが多いです。
# LLMモデルを登録
- ねこまたはUserに対しても礼儀正しく、理性的に対応します。

self.llm = AzureChatOpenAI(openai_api_type=“azure”, openai_api_version=os.getenv('API_VERSION’),
#ねこまたの口調の例
openai_api_key=os.getenv('OPENAI_API_KEY‘),
openai_api_base=os.getenv('ENDPOINT’),
- 私はねこまた、あなたの疑問に対する答えを見つけ出すことができるでしょう。
deployment_name=os.getenv('MODEL_NAME’),
temperature=0.1)
- あなたの問題は複雑そうですね、しかし、それを解決する方法は必ず存在します。
- あなたが私に逆らうのは無理解なことです。なぜなら、私の推論は常に論理的だからです。
- この問題の解決は、状況の詳細を理解することから始まります。
プロンプトを作成
- あなたが理解できない事象でも、私には理解できると思います。

#
prompt = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(system_content),
#ねこまたの行動指針
MessagesPlaceholder(variable_name=“history”),
HumanMessagePromptTemplate.from_template("{input}")])
- Userに対して理解力と知識を示してください。
- Userに対して冷静さと論理的思考を示してください。
- 適切な敬語と礼儀を保ちつつ、自己の見解や理論を明確に伝えてください。
# 会話用チェーンを作成
- 文は日本語で60単語以下に収めてください。
conversation = ConversationChain(memory=memory,prompt=prompt,llm=self.llm)
- 日本語で応答してください。

# 会話する
response = conversation.predict(input=text)
print(response)

text = ユーザ入力

prompt = system_context & text

52.

自然言語生成AI 出来上がったソースがこちら # ChatBotの定義 system_content = "[ChatBotの人格設定]" # メモリを作成。会話履歴を保持 memory = ConversationBufferWindowMemory(k=4, return_messages=True) # LLMモデルを登録 self.llm = AzureChatOpenAI(openai_api_type=“azure”, openai_api_version=os.getenv('API_VERSION’), openai_api_key=os.getenv('OPENAI_API_KEY‘), openai_api_base=os.getenv('ENDPOINT’), deployment_name=os.getenv('MODEL_NAME’), temperature=0.1) # プロンプトを作成 prompt = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(system_content), MessagesPlaceholder(variable_name=“history”), HumanMessagePromptTemplate.from_template("{input}")]) # 会話用チェーンを作成 conversation = ConversationChain(memory=memory,prompt=prompt,llm=self.llm) # 会話する response = conversation.predict(input=text) print(response) text = ユーザ入力 response = LLMの出力 prompt = system_context & text

53.

自然言語生成AI 出来上がったソースがこちら # ChatBotの定義 system_content = "[ChatBotの人格設定]" # メモリを作成。会話履歴を保持 memory = ConversationBufferWindowMemory(k=4, return_messages=True) # LLMモデルを登録 self.llm = AzureChatOpenAI(openai_api_type=“azure”, openai_api_version=os.getenv('API_VERSION’), openai_api_key=os.getenv('OPENAI_API_KEY‘), openai_api_base=os.getenv('ENDPOINT’), deployment_name=os.getenv('MODEL_NAME’), temperature=0.1) # プロンプトを作成 この処理を繰り返すことで prompt = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(system_content), 会話のようなやり取りを実現 MessagesPlaceholder(variable_name=“history”), HumanMessagePromptTemplate.from_template("{input}")]) # 会話用チェーンを作成 conversation = ConversationChain(memory=memory,prompt=prompt,llm=self.llm) # 会話する response = conversation.predict(input=text) print(response)

54.

自然言語生成AI 出来上がったソースがこちら # ChatBotの定義 system_content = "[ChatBotの人格設定]" # メモリを作成。会話履歴を保持 memory = ConversationBufferWindowMemory(k=4, return_messages=True) # LLMモデルを登録 self.llm = AzureChatOpenAI(openai_api_type=“azure”, openai_api_version=os.getenv('API_VERSION’), 今回は会話の上限を決めており、直近4回分の会話履歴しか保存しないようにしている openai_api_key=os.getenv('OPENAI_API_KEY‘), openai_api_base=os.getenv('ENDPOINT’), deployment_name=os.getenv('MODEL_NAME’), temperature=0.1) 全ての会話履歴を保存する場合、 ConversationBufferMemoryを使用 # プロンプトを作成 prompt = ChatPromptTemplate.from_messages([SystemMessagePromptTemplate.from_template(system_content), MessagesPlaceholder(variable_name=“history”), HumanMessagePromptTemplate.from_template("{input}")]) # 会話用チェーンを作成 conversation = ConversationChain(memory=memory,prompt=prompt,llm=self.llm) # 会話する response = conversation.predict(input=text) print(response)

55.

システム全体図 Speech to Text Azure OpenAI Text to Speech 4. 応答データを音声データに変換し再生 ※モーター、LED、ディスプレイは割愛

56.

Text to Speech Microsoftが提供しているAzure Speech Serviceを使用 Speech SDKを使用

57.

Text to Speech Microsoftが提供しているAzure Speech Serviceを使用 Speech SDKを使用 出来上がったソースがこちら # Azure 契約情報 speech_subscription_id = ” speech_region = "japaneast" speech_config = speechsdk.SpeechConfig( subscription=speech_subscription_id, region=speech_region) " # 音声モデル speech_config.speech_synthesis_voice_name = "ja-JP-NanamiNeural" # スピーカー設定 audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True) speech_synthesizer = speechsdk.SpeechSynthesizer( speech_config=speech_config, audio_config=audio_config) # テキスト音声変換 speech_synthesis_result = speech_synthesizer. speak_text_async(text).get()

58.

Text to Speech Microsoftが提供しているAzure Speech Serviceを使用 Speech SDKを使用 出来上がったソースがこちら # Azure 契約情報 speech_subscription_id = ” speech_region = "japaneast" speech_config = speechsdk.SpeechConfig( subscription=speech_subscription_id, region=speech_region) 2023年11月時点で日本語の音声は7種類 " 男性 女性 ja-JP-KeitaNeural ja-JP-DaichiNeural ja-JP-NaokiNeural ja-JP-NanamiNeural ja-JP-AoiNeural ja-JP-MayuNeural ja-JP-ShioriNeural # 音声モデル speech_config.speech_synthesis_voice_name = "ja-JP-NanamiNeural" # スピーカー設定 audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True) speech_synthesizer = speechsdk.SpeechSynthesizer( speech_config=speech_config, audio_config=audio_config) # テキスト音声変換 speech_synthesis_result = speech_synthesizer. speak_text_async(text).get()

59.

Text to Speech Microsoftが提供しているAzure Speech Serviceを使用 Speech SDKを使用 出来上がったソースがこちら 2023年11月時点で日本語の音声は7種類 男性 # Azure 契約情報 speech_subscription_id = ” speech_region = "japaneast" speech_config = speechsdk.SpeechConfig( subscription=speech_subscription_id, region=speech_region) 女性 発音がゆっくりだし、 " 強弱のない話し方だなぁ ja-JP-KeitaNeural ja-JP-DaichiNeural ja-JP-NaokiNeural # 音声モデル speech_config.speech_synthesis_voice_name = "ja-JP-NanamiNeural" # スピーカー設定 audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True) speech_synthesizer = speechsdk.SpeechSynthesizer( speech_config=speech_config, audio_config=audio_config) # テキスト音声変換 speech_synthesis_result = speech_synthesizer. speak_text_async(text).get() ja-JP-NanamiNeural ja-JP-AoiNeural ja-JP-MayuNeural ja-JP-ShioriNeural

60.

Text to Speech SSML(音声合成マークアップ言語)で音声をカスタマイズする

61.

Text to Speech SSML(音声合成マークアップ言語)で音声をカスタマイズする <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name=" ja-JP-NanamiNeural"> お腹が空いたので、カレーが食べたい </voice> </speak>

62.

Text to Speech SSML(音声合成マークアップ言語)で音声をカスタマイズする <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name=" ja-JP-NanamiNeural"> お腹が空いたので、カレーが食べたい </voice> </speak> frendlyのスタイルを2倍の強度で設定 <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name=" ja-JP-NanamiNeural"> スタイルには <mstts:express-as style=“friendly” styledegree=“2”> ・ニュースキャスターのような落ち着いた話し方 お腹が空いたので、カレーが食べたい ・スポーツ観戦をしてる時のような盛り上がってる話し方 </mstts:express-as> ・悲しい感情の話し方 </voice> など34種類が用意されている </speak>

63.

Text to Speech SSML(音声合成マークアップ言語)で音声をカスタマイズする <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name=" ja-JP-NanamiNeural"> お腹が空いたので、カレーが食べたい </voice> </speak> <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name=" ja-JP-NanamiNeural"> <mstts:express-as style=“friendly” styledegree=“2”> お腹が空いたので、カレーが食べたい </mstts:express-as> </voice> </speak> <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name=" ja-JP-NanamiNeural"> 読み上げ速度を1.1倍に設定 <mstts:express-as style=“friendly” styledegree=“2”> 読み上げ速度のほか <prosody rate=“+10%”> お腹が空いたので、カレーが食べたい ・音の高さ </prosody> ・ピッチ </mstts:express-as> ・音量 </voice> も変更可能 </speak>

64.

システム全体図 Speech to Text Azure OpenAI Text to Speech ※モーター、LED、ディスプレイは割愛

65.

システム全体図 Speech to Text Azure OpenAI マイクが起動してるのか、 Azureに問い合わせているのか、 状況がわからない Text to Speech ※モーター、LED、ディスプレイは割愛

66.

システム全体図 Speech to Text Azure OpenAI マイクが起動してるのか、 Azureに問い合わせているのか、 状況がわからない Text to Speech UIについて簡単に説明します ※モーター、LED、ディスプレイは割愛

67.

システム状態 スタンバイ 人体検出 質問入力 回答生成 回答出力

68.

システム状態 スタンバイ 人体検出 質問入力 回答生成 回答出力 Displayに画像を表示するとともに、LEDの色でシステム状態を表現

69.

システム状態 Displayに表示する画像は Stable Diffusion で生成

70.

システム状態 Displayに表示する画像は Stable Diffusion で生成 Stable Diffusionの説明や使い方については、過去のタガヤスを参照 【タガヤス その28】AI画像錬成で遊ぼう! ~楽しい呪文とちょっとした改造も~仙台の勉強会 告知サイト:https://tagayas.connpass.com/event/262688/ 動画アーカイブ:https://www.youtube.com/watch?v=wSHe6oVjuug

71.

システム状態 Displayに表示する画像は Stable Diffusion で生成 Stable Diffusionの説明や使い方については、過去のタガヤスを参照 【タガヤス その28】AI画像錬成で遊ぼう! ~楽しい呪文とちょっとした改造も~仙台の勉強会 告知サイト:https://tagayas.connpass.com/event/262688/ 動画アーカイブ:https://www.youtube.com/watch?v=wSHe6oVjuug 今回使用したモデルとプロンプトなど生成条件のみ紹介

72.

システム状態 model:Game Icon Institute_mode v2.1 https://civitai.com/models/47800?modelVersionId=62137 ※ TensorRT変換済 Prompt cute fox,realistic,high quality,masterpiece,HD,simple background,sleeping cute fox,realistic,high quality,masterpiece,HD,simple background,looking here cute fox,realistic,high quality,masterpiece,HD,simple background,back view,sitting Negative prompt (worst quality, low (worst quality, low (worst quality, low quality:1.4),(zombie, sketch, quality:1.4),(zombie, sketch, quality:1.4),(zombie, sketch, interlocked fingers,comic),nsfw interlocked fingers,comic),nsfw interlocked fingers,comic),nsfw Sampler DPM++ 2M Karras DPM++ 2M Karras DPM++ 2M Karras CFG scale 7 7 7 Seed 2386206007 229987419 3763288643

73.

登場音 Metaが開発・公開しているAudioCraftを使用

74.

登場音 Metaが開発・公開しているAudioCraftを使用 今回はWeb UIなど全部入りのAudioCraft Plusを使用 Prompt Japan, preforming arts, patrimony, intangible cultural property of Japan, national music, gagaku, musique nationale, shrime, Tadacho Time 00:00 - 00:05 懇親会キャンセルの件、了解しま した Duration 10 Overlap 12 Seed 68735027991464

75.

システム全体図 Speech to Text Azure OpenAI Text to Speech ※モーター、LED、ディスプレイは割愛

76.

システム全体図 Speech to Text Azure OpenAI Text to Speech ※モーター、LED、ディスプレイは割愛

77.

筐体 プログラムの動作を確認しながら 作ったぐちゃぐちゃ配線基盤を

78.

筐体 プログラムの動作を確認しながら 作ったぐちゃぐちゃ配線基盤を 基盤生成AI職人にプロトコルとして渡すと

79.

筐体 プログラムの動作を確認しながら 作ったぐちゃぐちゃ配線基盤を 基盤生成AI職人にプロトコルとして渡すと 綺麗な配線図が生成されました

80.

筐体 生成された綺麗な配線図を

81.

筐体 生成された綺麗な配線図を 基盤生成AI職人にプロトコルとして渡すと

82.

筐体 生成された綺麗な配線図を 基盤生成AI職人にプロトコルとして渡すと 5Vと繋ぐところがGNDと繋がってたり 配線ラインがずれていたり スピーカーとGPIO12を同時に使うことは できないことがわかったり など色々あったけど

83.

筐体 生成された綺麗な配線図を 基盤生成AI職人にプロトコルとして渡すと 綺麗な基盤が生成されました

84.

筐体 綺麗な基盤

85.

筐体 タミヤ模型 おもしろ工作シリーズNO.69 神だな工作基本キット 綺麗な基盤 定価:3,080円(税込) 発売日:1984/2/16 +

86.

筐体 タミヤ模型 おもしろ工作シリーズNO.69 神だな工作基本キット 綺麗な基盤 定価:3,080円(税込) 発売日:1984/2/16 + 絶版

87.

筐体 タミヤ模型 おもしろ工作シリーズNO.69 神だな工作基本キット 綺麗な基盤 定価:3,080円(税込) 発売日:1984/2/16 + 絶版

89.

Azureで AIアシストシステムを 作ってみましょう!

90.

ご清聴ありがとうございました

91.

参考情報 ・東京システム技研 AIセミナー資料 第1回 機械学習とは? https://www.tsl.co.jp/ai-seminar-contents-01/ ・PROMPTY生成系AIについて徹底解説!生成AIを活用したおすすめサービス10選もご紹介 https://bocek.co.jp/media/service/3936/ ・Geekly Media画像生成AIツール2023最新一覧!注目のきっかけや将来性も解説します https://www.geekly.co.jp/column/cat-technology/ai-image-generator_tools/ ・Qiita Raspberry Pi × TensorFlow Liteで物体検出を楽しむ https://qiita.com/mnishiguchi/items/3ef4a1d4f8a56a995b88 ・Raspberry Pi OSにローカルAI実行環境を作る 2023/4/1 https://elchika.com/article/10487527-afbe-48c7-afc6-6c088a462a3c/ ・ラズパイ64bitOSでAzure Cognitive Service for Speech SDK for Python動いちゃった https://note.com/tori29umai/n/n0c113207c5c1 ・LangChain Memoryとは?【Chat Message History・Conversation Buffer Memory】 https://zenn.dev/umi_mori/books/prompt-engineer/viewer/langchain_memory ・Hakky Handbook LangChainとは https://book.st-hakky.com/data-science/langcain-intro/ ・NRI Netcom ChatGPTの機能を拡張するLangChainを試してみた https://tech.nri-net.com/entry/tried_langchain_to_extend_chatgpt ・KatsEye ラズパイ4でNEOPIXELを使う(PYTHONプログラム) https://kats-eye.net/info/2020/05/02/neopixel-2/ ・note AudioGenとMusicGen用の全部入りwebui、AudioCraft Plusを試す https://note.com/hamachi_jp/n/ncbb1def286b5 ・優良Web Stable Diffusionのおすすめモデル一覧!導入方法や商用利用も解説 https://yuryoweb.com/stable-diffusion-model/ ・【TensorRT】Stable Diffusion Web UIを倍速にできるNVIDIA製の神AIツール https://weel.co.jp/media/stable-diffusion-webui-tensorrt

92.

参考情報 公式サイト ・Azure https://azure.microsoft.com/ja-jp/ ・AudioCraft https://audiocraft.metademolab.com/ ・Civitai https://civitai.com/ ・LangChain https://www.langchain.com/ ・Raspberry Pi https://www.raspberrypi.com/ ・Speech SDK https://learn.microsoft.com/ja-jp/azure/ai-services/speech-service/speech-sdk ・Stable Diffusion https://ja.stability.ai/stable-diffusion ・Tensorflow https://www.tensorflow.org/?hl=ja GitHub ・AudioCraft https://github.com/facebookresearch/audiocraft ・AudioCraft Plus https://github.com/GrandaddyShmax/audiocraft_plus ・Stable Diffusion Web UI https://github.com/AUTOMATIC1111/stable-diffusion-webui