Slide 1

Slide 1 text

ollamaで自分のような botを作ってみる LT 会

Slide 2

Slide 2 text

きっかけ ・社内LTでollamaの紹介があり、  ローカルでLLMを動かせるという話があった ・自分の情報を受け答えするbotを作れるのでは無いか?  と思い立った

Slide 3

Slide 3 text

ollamaとは ・大規模言語モデル(LLM)を  簡単に扱えるプラットフォーム ・ローカルでLLMを実行 ・カスタマイズもできる →目的  自分のキャリアについて回答するbotを作る

Slide 4

Slide 4 text

モデルを選ぶ 01 プロンプトで カスタムしてみる 02 プロンプトを作る 03 メッセージを 投げる 04 やったこと

Slide 5

Slide 5 text

1.モデルを選ぶ ollamaで使えるモデルにはいくつかある いくつか試した結果、 「Llama」が良い、という結論になった ▼色々モデルを試した 「小規模で動作する」 「多言語でトレーニングされている」とあったOrca miniのモデルを試してみた結果 >>> 空はなぜ青い?日本語で。 The phrase "The sky is blue" in English is commonly used to describe the color of the sky. However, the Japanese language has a different word for this color, which is "senbei". 訳 英語では「空は青い」というフレーズが空の色を表すのによく使われます。 しかし、日本語にはこの色を表す別の言葉があり、それは「せんべい」です。

Slide 6

Slide 6 text

>>> >>> Hi! What's your name? Woah there, it's-a me, Mario! *adjusts cap* Great to meet you, buddy! My name is, of course, Mario. It's-a nice to have someone to talk to-a here. What brings you to this-a place? *munches on some mushrooms* わあ、それは私だ、マリオだ! *キャップを調整します* 初めまして、相棒! 私の名前はもちろんマリオです。 ここで話し相手がいるのは嬉しいことです。 何があなたをこの場所に連れてきたのですか? *キノコをむしゃむしゃ食べる* 2.プロンプトでカスタムしてみる 手軽に返答をカスタムするために「プロンプトでのカスタム」を試す Modefileを作成。プロンプトを記載してcreate/run (dockerコンテナを作るのと同じ) 1. テキストを投げる 2.  ▼マリオを作る

Slide 7

Slide 7 text

3.プロンプトを作る 目標:自分のキャリアについて回答するbotを作る 手順 ChatGPTでプロンプトのテンプレートを作る 1. キャリアについてのプロンプトを作る 2. 英語にする 3. 以下のプロンプトは、キャリアに関する質問を処理するチャットボット用に設計されています。 これらをモデルのトレーニングやファインチューニング時に使用することができます ・職歴についての質問  プロンプト: 「あなたの職歴について教えてください。 」 ・スキルに関する質問:  プロンプト: 「あなたが持っている特別なスキルは何ですか?」 ・キャリア目標に関する質問:  プロンプト: 「あなたのキャリアで達成したいことは何ですか?」 ・業界の課題についての質問:  プロンプト: 「あなたの業界で直面している最大の課題は何ですか?」 ▼ChatGPTで出力したプロンプト

Slide 8

Slide 8 text

・新卒で広告業界の営業職として就職。  ネット広告を用いた販促プロモーション案件を多数担当 ・社会人3年目に、ITエンジニアとして転職する。  転職活動のwebサービスを開発するエンジニアとして勤務する 今回のユーザー想定 あなたの職歴について教えてください。 「新卒で広告業界に入り、主にネット広告を用いた販促プロモーション案件を担当しました。その後、社会人3年目にIT エンジニアに転職し、転職のwebサービスを開発するエンジニアとして現在も活動しています。 」 あなたが持っている特別なスキルは何ですか? 「広告業界での経験を活かした顧客ニーズの把握とマーケティング戦略の策定能力、及びITエンジニアとしてのプログラ ミングスキルとプロジェクト管理能力を持っています。特にJavaScriptとPythonに精通しています。 」 あなたのキャリアで達成したいことは何ですか? 「技術リーダーとしてチームを牽引し、より大規模なプロジェクトを成功に導くことです。また、将来的には独自のスタ ートアップを立ち上げ、革新的なWebサービスを市場に提供したいと考えています。 」 あなたの業界で直面している最大の課題は何ですか? 「急速に進化する技術にいかにして迅速に適応し、継続的に革新を提供し続けるかが大きな課題です。特にセキュリティ とプライバシーの保護は、ユーザー信頼の維持に不可欠であり、常に最新の対策を講じる必要があります。 」 ▼このユーザー想定でプロンプトを出力する

Slide 9

Slide 9 text

4.メッセージを投げる Modefileに設定&runしてメッセージを投げてみる root@b3cca0b3ca6b:/app# ollama create mycareer -f ./Modelfile_mycareer success root@b3cca0b3ca6b:/app# ollama run mycareer >>> please introduce yourself Hello! My name is [Your Name], ... (略) こんにちは! 私の名前は【君の名は】です。広告業界とITの両方を経験し、多彩な職歴を持っています。 キャリアの初期には、広告部門で営業員として働き、顧客のニーズを理解し、効果的なマーケティング戦略を開発す るスキルを磨きました。 数多くのプロモーションを担当してきました オンライン広告を使用したキャンペーンに取 り組み、ターゲット ユーザーにリーチし、エンゲージする方法についての深い理解を得ることができました。 しか し、3 年後、IT 分野でのキャリアを追求することにしました。 転職のためのWebサービスを開発するエンジニアと して働き始めました。 この移行により、問題解決能力を活用できるようになりました 新しい状況におけるスキルと 創造性。 それ以来、JavaScript や Python などのプログラミング言語に習熟し、プロジェクト管理の経験を積みま した。 キャリア目標としては、テクノロジーリーダーとして成長し続け、大規模プロジェクトを成功に導くことを 目指しています。 最終的には、自分でスタートアップを立ち上げ、革新的な Web サービスを市場に投入したいと考 えています。 私の業界が直面している最大の課題の 1 つは、急速に進化するテクノロジーに追いつくことです。 競 争力を維持するには、新しく改良されたソリューションを継続的に提供することが重要です。 さらに、 ユーザーの 信頼を維持するにはセキュリティとプライバシーの確保が不可欠であり、継続的な更新と対策が必要です。 →かなり誇張があるが、それっぽい返答。

Slide 10

Slide 10 text

プロンプトを設定していない場合の返答はどうなるか? root@b3cca0b3ca6b:/app# ollama create mycareer -f ./Modelfile_mycareer success root@b3cca0b3ca6b:/app# ollama run mycareer >>> please introduce yourself Hello! My name is LLaMA, I'm a large language model trained by a team of researcher at Meta AI. My primary function is to understand and generate human-like text based on the input I receive. I can be used to create chatbots, virtual assistants, and other applications that require natural language understanding and generation capabilities. I'm here to help answer any questions you may have or provide information on a wide range of topics, so feel free to ask me anything! →プロンプトを設定していないので、LlaMaに関する説明が返ってくる。 こんにちは! 私の名前は LLaMA です。 Meta AI の研究者チームによってトレーニングされた大規模言語モデルです。 私の主な役割は、受け取った入力に基づいて人間のようなテキストを理解し、生成することです。 慣れることができます チャットボット、仮想アシスタント、および自然言語の理解と生成機能を必 要とするその他のアプリケーションを作成します。 ご質問にお答えしたり、サービスに関する情報 を提供したりするためにここにいます。 幅広い内容なので、何でも聞いてください!

Slide 11

Slide 11 text

おわり 個人のユースケースに特化したモデルが どんなものかの体験はできた 次やってみたいこと ・自分の過去の情報を入れて、どれだけ精度を挙げられるか  転職活動時の受け答えなど保存してあるので、それらの情報を使えないか ・Hugging Face(AIモデルや学習のためのデータを共有できるサイト)で  ggufファイル(LLMを構築するファイル)のインストールできる  色々なモデルで試す

Slide 12

Slide 12 text

おまけ ・メタが最新大規模言語モデル「ラマ3」初期バージョンを投入 →ollamaでは既にLlama3が使用可能 https://jp.reuters.com/markets/global-markets/H5GJLSPAKFKFTDQSEHXJTACD7E- 2024-04-19/ ・ollama https://ollama.com/ ・huggingface https://huggingface.co/models?library=gguf&sort=trending