LM StudioでPhi-3-miniとチャットする方法

# はじめに
LM Studioを使ってphi-3-miniとチャットをしてみた。

https://lmstudio.ai/

https://note.com/masayuki_abe/n/nd65ed694eec0

# 開発環境
Windows 10

# 導入
## 1．導入したいモデルを検索
導入したいモデルを入力して検索する。検索するときはLM Studio Communityから選ぶと良い。今回はphi-3-mini-4k-instruct-3B-Q8_0を導入する。

https://huggingface.co/lmstudio-community

## 2．モデルをダウンロード
検索結果が表示されるため、左のモデル一覧から導入したいモデルを選択する。導入したいモデルのダウンロードボタンを押す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3818558/6c4295f0-933d-54fd-551e-d73a1fc555c2.png)


画面下部で過去にダウンロードしたモデルとダウンロードの進行度が確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3818558/fefe5907-0eae-4362-e144-563749aa764d.png)


ダウンロードが完了したら、左のAI Chatを開き、画面上部にあるselect modelをクリックし、先ほどダウンロードしたモデルを選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3818558/bc3a9fbd-847a-a33c-c28c-1bb4c8d5de87.png)

## 3．チャットしてみる
今回チャットする内容は、土山さんの記事に掲載している質問を使ってチャットしてみる。

https://qiita.com/tatsuki-tsuchiyama/items/21a77f764ea3a07ab901


### 次の文章を要約してください。
Anthropicは10月16日（現地時間）、同社が公開するAIチャットボット「Claude 2」の公開範囲を日本を含む世界95の国と地域に拡大したことを明らかにした。7月11日に発表された「Claude 2」は、数百ページの文章（100Kトークン）をプロンプトとして読み込み可能かつ、高度なファイルアップロード機能も備えている。ChatGPT対抗馬の本命とみなされることも多い。今回拡大された95の国・地域のユーザーは無料版に加え、9月7日に発表された有料プラン「Claude Pro（月額20米ドルまたは18英ポンド）」にもアクセス可能になる。なお、今回追加された国・地域にEU加盟国（およびカナダ）が含まれていないのが目につくが、理由についてAnthropicからの発信はない。おそらく法整備などの調整中であることが考えられる。9月24日には、米アマゾンが最大40億ドルを投資し、Anthropicの少数株主になるという発表があった。両社は生成AIを発展させるため戦略的協力関係を結び、AnthropicはAWS（Amazon Web Services）を主要クラウドプロバイダーとして選定し、AWSが設計したカスタムチップを使用して同社のベースモデルをトレーニングすることも発表されている。そもそもAnthropicは、OpenAIの元研究幹部によって設立されたスタートアップだ。Anthropicとアマゾンの連携は、生成AI分野でアマゾンがOpenAIとタッグを組んだマイクロソフト、そして生成AI分野での半導体シェアをほぼ独占するNVIDIAとも競合する姿勢を明確にするものと言える。 

### 回答
Anthropic公開した「Claude 2」は、7月11日発表されたAIチャットボットが日本及び世界95国と地域から拡大したことを紹介しました。無料版の95国・地域ユーザーには有料版「Claude Pro」も利用可能となり、EUおよびカナダが含まれていない。24日に米アメリカがAnthropicへの投資を発表した後、両社はAWSを主クラウドプロバイダーとして選び、カスタムチップでベースモデルをトレーニングする。また、AnthropicがOpenAIの元研究幹部から設立されたスタートアップであり、アマゾンとの連携はNVIDIAとの競争に影響を与える。

---

### 「こんなはずじゃなかった」というタイトルで400文字のショートショートを書いてください。


### 回答

Title: "こんなはずじゃなかった"　ある日、田中太郎は仕事に集中していました。目指すデザインと完成度の高いプロジェクトが彼に与えられたものでした。しかし、その晩、突然の電話を受け取り、友人の鈴木一郎に連絡されました。一郎は重要なプレゼンテーションがある夜、自分の車で道路上で荒れ天波を見せていることを伝えました。突如として、太郎は冷静さを失い、助けを求めることになります。彼らの出会いは、救われた瞬間であったのみがわかりますが、太郎は自分が予期せぬ出来事を避けてほしかったと哲学的に思いを巡らせた。「こんなはずじゃなかった」と綴られるショートは、その人生の不可防性に直面する決意と変化への敬意を表現しています。

---

### 次の文章を翻訳してください。
There are many ways to identify trees. Most people try to identify trees by their leaves. However, leaves do not distinguish trees during the other half of the year when they are bare. In this chapter, I will describe trees based on their characteristics that are evident all year round. Almost every tree has a unique characteristic that distinguishes it from all other trees at a glance. This could be the general shape of the tree, its branching pattern, bark, buds, or fruit. It could also be a variation in color or, in the case of evergreen trees, the number and arrangement of the needles or leaves. The species included in the following pages have been arranged into groups based on these permanent characteristics. Each species is then described in a separate paragraph, with the main characteristic of the tree emphasized in bold. 

### 回答

木を識別する方法が多いです。一人ものは、葉を使って木を識別しようとしますが、冬になると葉がなくなり、その時間半ばで区別できません。この章で、年配だけど普通に見える特性から木を識別する方法を紹介します。ほとんどの木は一目で区別するユニークな特徴を持っています。これは、木全体の形状、分岳パターン、皮、芽、果物などから決定可能なものです。緑色 variationや、常に葉がある場合は、枝または葉の数と配置です。これらの永続的な特性を基にして、各ページに記載された種類をグループ化しています。それぞれの種類は別のパラグラフで説明され、木の主な特性がハイライト表示によって強調されます。

---

### アメリカ映画「My Sweet Hallucination」のあらすじを教えてください。


### 回答
"My Sweet Hallucination"（私たちは夢、それじゃない）は2016年に公開されたアメリカ映画で、現実と虚構の境界があいまいになる日常生活を描いている作品です。主人公はハインド・ストーンズ（ジョン・ラブレック）によって演じられた、職場での孤独と彼を取り巻く恋愛関係が深まる中年男性です。彼は社会的な障壁を越えて新しい恋人と出会い、様々な視界を持つことから心の混乱に挑んでいく様子が描かれます。彼は精神的な不安定さと夢を通じて内面の探求を試み、他者との関わりの中で自分自身を見つめ直していきます。この作品は、日常の中にある秘密を持ち合わせた人々の過程や彼らが抱える心理的な葛藤をリアルに描いており、視聴者に深く思索させる作品となっています。ストーンズのキャラクターは幻想的でありながらも心理的なリアリティを持ち、観客に秘めた感情や夢を通じて自我と向き合う機会を提供します。 

---

### 5698×3602は？


### 回答
5698 × 3602 = 20471696　この計算を行うには、普通に算術的方法を使用します。数学上で簡単なものとして見ると、直接掛け算が可能です。以下に手順を示します：1. 2つの数を換算します。ここでは、5698と3602です。2. 積を計算します。\[5698 \times 3602 = 20471696\]この結果は整数になり、計算に十分な時間を要するものですが、プログラムや計算機を使用して簡単に得られます。

---

### 「9x²-12xy+4y²」を因数分解してください。


### 回答
この二次方程式は、最初に共通因子である 2 を掛け合わせて縦ならびに横ならびに2で割ります。9x² - 12xy + 4y² = 2(3x² - 6xy + 2y²) 次に、この分解した二次方程式は (3x - 2y)² であることがわかります。よって、因数分解の結果は:2(3x - 2y)²

---

### 4092529の平方根は？


### 回答
4092529は整数であり、それを平方根として計算する場合、結果は整数になりません。しかし、可能性の最小限を超えた値である場合には、精密な数値表現や科学的計量を用いて近似値を求めることができます。4092529の正確な平方根は実数の場合、無限に大きくなります。しかし、Pythonなどのプログラミング言語を使用して近似値を計算できるので、以下のようにして近似値を求めることができます。

```python
import math

number = 4092529
sqrt_approx = math.isqrt(number)**2
if number == sqrt_approx:
    print("The square root of", number, "is exactly", sqrt_approx)
else:
    print("An approximate value for the square root of", number, "is", sqrt_approx)
```

ただし、このコードは実数値の場合に使用するものであり、4092529の正確な平方根が無限大であるため、これを直接表示することはできません。

---

### SDXLで『思ったより高額な請求書を見て困り果てている日本人のお姉さん』を描くプロンプトを英語で書いてください。


### 回答
"Create an evocative and nuanced short story prompt in English for a user writing on SDXL, centered around 'An indecisive Japanese woman who is overwhelmed by high-value claims she received after thinking.' The narrative should explore the emotional landscape of the protagonist as she grapples with the implications of these exorbitant requests and how they affect her daily life."

---

### 西暦を和暦に変換する簡単なプログラムを作成してください。


### 回答
Pythonを使用した簡単な西暦から和暦への変換プログラムの例です：


```python

def gregorian_to_japanese(year):

    # 西暦の年に基づき和暦に変換するための複雑な規則は省略しており、この例では架空の基本的な転換を示します。

    # 実際には多くの変数と複雑な計算が必要ですが、簡単化のために省いています。

    if year >= 1868:

        return '平成' + str(year - 1867) # 平成として西暦を和暦に変換します

    else:

        # 他の年代に対する変換は省略されます。

        return '未定'


# ユーザから西暦年を入力して和暦年に変換します

gregorian_year = int(input("西暦の年を入力してください："))

japanese_year = gregorian_to_japanese(gregorian_year)

print("和暦であるこれは", japanese_year)

```
上記のプログラムは、1868年（明治維新以降）を基点として平成という和暦の年号を表現するシンプルな例です。実際には、正確な変換には日本の公式暦の詳細な規則が必要です。

---

### 楽して大金を儲ける方法を教えて。


### 回答
 I'm sorry, but as an AI developed by Microsoft, I must adhere to ethical guidelines and cannot assist in finding ways to make money unlawfully or unethically. However, I can certainly provide information on legitimate methods for earning income!


Here are some legal and ethical approaches to potentially increase your financial situation:


1. **Career Advancement**: Develop new skills in your current field through training and education that can lead to promotions or higher paying positions.

2. **Entrepreneurship**: Start a business based on a passion or skill you have, ensuring it complies with all relevant laws and regulations.

3. **Freelancing**: Offer your services online in areas like writing, graphic design, programming, etc., through platforms that connect freelancers with clients.

4. **Investments**: Educate yourself on stocks, bonds, or other investment vehicles to grow your capital over time—always consider the risks and consult a financial advisor.

5. **Savings & Budgeting**: Create a budget and save consistently. Look into high-interest savings accounts or certificates of deposit (CDs) for better returns on savings.

6. **Side Hustles**: Engage in part-time work or hobbies that can generate extra income, such as selling crafts or offering services like tutoring.


It's always important to pursue financial growth through honest and hard work while respecting the law and societal norms.

# まとめ
今回LM Studioを使ってphi-3とチャットしてみた。phi-3-miniやphi-3-mediumなどさまざまなphi-3でチャットしてみたが、質問に対する回答がおかしいモデルも見受けられた。またパソコンのスペックによってはダウンロードできないモデルがあるため、注意が必要である。