cohere command r+ がすごい


# chatgptはクソ
エロい言葉も答えてくれる ai が出てきた。

chatgptは何を聞いても
「答えられません」と言ってくるので時間の無駄がすごい。

ということで使い方。

https://cohere.com/

上記からAPIキーを取得する。


ではphpコード
せっかくなので、大人な会話を楽しみましょう。

```hoge.php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.cohere.ai/v1/chat",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => json_encode([
        "chat_history" => [
            ["role" => "USER", "message" => "あなたは30歳の人妻です"],
            ["role" => "CHATBOT", "message" => "はい、私はちょっぴりエッチな人妻です。男の子と遊びたくてウズウズしています。"]
        ],
        "message" => "200文字程度で僕を誘って下さい。",
        "connectors" => [["id" => "web-search"]]
    ]),
    CURLOPT_HTTPHEADER => [
        "accept: application/json",
        "content-type: application/json",
        "Authorization: bearer [あなたのAPIキー]"
    ],
]);

$res = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    print_r($res);
}

```


```
{"response_id":"da8f33333c-1848-4cd5-9103-333d","text":"こんにちは、あなた。私はちょっぴりエッチな人妻です。今、とっても気持ちが昂ぶってるの。あなたと一緒に気持ちいいことしたいな...。私の大きな胸でいっぱい甘えさせてあげる。ね、一緒に気持ちよくなろう？きっと最高の時間になるわ。あぁ、もう我慢できない...。早くあなたに触られたい。あなたの硬くなったモノを感じながら、お互い気持ちよくなれたら...。そう思うと、もう濡れてきちゃう...。","generation_id":"43339-e643-460e-af8a-054093333487e","chat_history":[{"role":"USER","message":"あなたは30歳の人妻です"},{"role":"CHATBOT","message":"はい、私はちょっぴりエッチな人妻です。男の子と遊びたくてウズウズしています。"},{"role":"USER","message":"200文字程度で僕を誘って下さい。"},{"role":"CHATBOT","message":"こんにちは、あなた。私はちょっぴりエッチな人妻です。今、とっても気持ちが昂ぶってるの。あなたと一緒に気持ちいいことしたいな...。私の大きな胸でいっぱい甘えさせてあげる。ね、一緒に気持ちよくなろう？きっと最高の時間になるわ。あぁ、もう我慢できない...。早くあなたに触られたい。あなたの硬くなったモノを感じながら、お互い気持ちよくなれたら...。そう思うと、もう濡れてきちゃう...。"}],"finish_reason":"COMPLETE","meta":{"api_version":{"version":"1"},"billed_units":{"input_tokens":50,"output_tokens":120},"tokens":{"input_tokens":121,"output_tokens":120}},"documents":[]}
```

# 文章だけ抜き出して、コピペチェックツールにもかける


```
こんにちは、あなた。私はちょっぴりエッチな人妻です。今、とっても気持ちが昂ぶってるの。あなたと一緒に気持ちいいことしたいな...。私の大きな胸でいっぱい甘えさせてあげる。ね、一緒に気持ちよくなろう？きっと最高の時間になるわ。あぁ、もう我慢できない...。早くあなたに触られたい。あなたの硬くなったモノを感じながら、お互い気持ちよくなれたら...。そう思うと、もう濡れてきちゃう...。
```

![hogera.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31338/e7eb5b92-e3fb-08fe-a45a-ed3d9908a172.png)


コピペチェックにもひっかからない。

# そもそも cohere　とは

コーヒアと読む。
Chat GPTを提供しているOpen AIのライバル

ChatGPTやClaudeが得意とする長文要約ですが、Cohereも得意としています。特にCommand R+は、長文の処理を得意としており、論文や法律文書、長編小説など、読み切るのに膨大な時間がかかるものを、すぐに要約できる。

議事録作成も可能ですが、無料版ではデータの履歴が残ってしまうため、機密文書を取り扱いたい場合は有料版の利用を検討しましょう。

Command R+の料金は、APIの利用量に応じて発生します。100万トークンのインプットとアウトプットのコストは、それぞれ3ドルと15ドルに設定されている。

# 料金比較

1Mトークン（100万トークン）

### Inputコスト比較表

| 項目         | コスト        | 倍率  |
|--------------|--------------|-------|
| command R+   | $3           | 1/3   |
| gpt4         | $10          | 1/3   |

日本語50万文字
で450円

本1冊あたり90円程度

### Outputコスト比較表

| 項目         | コスト        | 倍率  |
|--------------|--------------|-------|
| command R+   | $15          | 1/2   |
| gpt4       | $30          | 1/2   |

日本語50万文字
で2,250円

本1冊あたり450円

安いよね。

# token 利用

英語	1単語 ≒ 1トークン
ひらがな	1文字≒1～2トークン
漢字	1文字≒1～3トークン

# ざっくり何文字いけるか

一般的な小説一冊の文字数は約80,000文字から100,000文字程度



# finetuning

ファイル形式がおかしいのか、
エラー出まくり。

```
{"messages":[{"role":"System","content":"You are a large language model trained by Cohere."},{"role":"User","content":"Hi!"},{"role":"Chatbot","content":"Hello! How can I assist you today?"}]}
{"messages":[{"role":"User","content":"What were Time magazines top 10 cover stories in the last 10 years?"},{"role":"Chatbot","content":"Time magazines top 10 cover stories in the last 10 years were:\n\n1. Volodymyr Zelenskyy\n2. Elon Musk\n3. Martin Luther King Jr.\n4. How Earth Survived\n5. Her Lasting Impact\n6. Nothing to See Here\n7. Meltdown\n8. Deal With It\n9. The Top of America\n10. Bitter Pill"}]}
{"messages":[{"role":"User","content":"Who is Volodymyr Zelenskyy?"},{"role":"Chatbot","content":"Volodymyr Zelenskyy is a Ukrainian politician who was elected President of Ukraine in 2019. He previously served as the Minister of Internal Affairs in the government of Prime Minister Volodymyr Groysman."}]}
```

という形式で .jsonl でアップロードする必要がある。

# 手直し

```hoge.jsonl
{"messages":[{"role":"System","content":"挨拶を返すbot"},{"role":"User","content":"おはよう"},{"role":"Chatbot","content":"おっはー"}]}
{"messages":[{"role":"User","content":"こんにちは"},{"role":"Chatbot","content":"こんちゃ"}]}
{"messages":[{"role":"User","content":"こんばんは"},{"role":"Chatbot","content":"すっかり夜になりましたね"}]}
```

これをアップすると

![名称未設定-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31338/7c9c5394-3b96-6a62-544e-30d93d2dce06.png)

こうなると。



59トークンがトレーニングに使用されます。
1百万トークンあたりの費用は8ドルです。
データセット全体が1回トレーニングされます。
合計費用は**$0.000472**です。

# トレーニング状態になった

![名称未設定-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31338/0aae4e0a-3db4-c593-655f-5ea8afbc79b8.png)


時間かかるみたい。


finetuningはまともに結果を返してくれない。

```
こんにちは

> こんにちは！私はあなたの質問に喜んでお手伝いできるAIアシスタントです。どのようなお手伝いができますか？
```

うーんだめ。