4
3

VSCodeのContinueからPerplexity APIを使う

Last updated at Posted at 2024-08-31

「DifyからPerplexity APIを使う」の記事の続編です。

Continueとは

2023年の暮れでしょうか。
VSCodeの拡張機能であるGitHub Copilotを無料で1ヶ月試したのですが、チャットでのコーディングがとても便利で驚いた記憶があります。

GitHub Copilotは個人利用であっても、有料プランしか無いです。
お金が掛かるので、代替えツールが無いか探していました。
そこで見つけた拡張機能がContinueです。

これは無料である上に、色々なモデルを登録して、用途に応じて切り替えながら使えます。
しかも完全なオンプレミスで使えます。

Continueの使い方

詳しくは割愛しますが、以下の流れです。

モデルの選定

メジャーなのはOpenAIのgpt-4oかと思います。
しかし、従量料金制なのでお金がやや心配です。

お金を掛けずにやりたい方は、Ollamaと、ローカルLLMの組み合わせになるかと思います。コーディングが得意なモデルを使うと良いと思います。
そして、外部にデータを漏らしたくないが、生成AIを使ってチャットしながらVSCodeでコーディングしたい、といった要件を満たしてくれます。

ここで紹介するPerplexity APIをContinueで使うメリットは、何といってもインターネットの情報を元にコーディングができる点でしょうか。
なので、たとえばリリースされたばかりの新機能を、いきなりチャットでコーディングしてもらう事が出来たりするのかなと想像します。

Perplexity APIの登録方法

モデルの登録方法は幾つかありますが、今回はconfig.jsonを直接編集する方法で進めます。

Continueの画面の下の方にある歯車ボタンを押します。

スクリーンショット 2024-08-31 19.38.09.png

config.jsonの"models"へ、以下を追記します。


    {
      "title": "llama-3.1-sonar-small-128k-online",
      "model": "llama-3.1-sonar-small-128k-online",
      "systemMessage": "あなたはソフトウェア開発のエキスパートです。あなたは親切で簡潔な回答をします。",
      "contextLength": 127072,
      "apiBase": "https://api.perplexity.ai/",
      "apiKey": "pplx-f************9b",
      "completionOptions": {
        "temperature": 0
      },

systemMessageはシステムプロンプトになります。ここでは出力結果が良くなるような呪文を記述しておきます。

プログラムコードはかなり長いケースがあります。
そこでcontextLengthは、最大の127072としています。

apiKeyは適宜変更してください。

コーディングの場合はtemperatureをなるたけ低くすることで、硬いコードを生成してくれる傾向があります。
completionOptionsで、temperatureを0としています。

他にも色々なオプションがあり、下記に記されています。
自分好みにカスタマイズすると面白いかと思います。
https://docs.continue.dev/reference/config

動作確認

現在、2024年8月31日です。
先日2024年8月27日にStreamlitのバージョン1.38.0がリリースされました。
バージョン1.38.0で新たにPolarsデータフレームがサポートされました。
Polarsデータフレームを使ったStreamlitのサンプルコードをPerplexity APIのllama-3.1-sonar-small-128k-onlineを使って生成してみます。

streamlitのバージョン1.38.0でサポートされた
データフレームPolarsを使ったサンプルコードを生成する

スクリーンショット 2024-08-31 19.16.31.png

無事生成されたましたので、実行してみます。

スクリーンショット 2024-08-31 19.18.03.png

一発で動きました!

まあデータフレームなのでPandasさえ知っておけば、特にチャットでなくても良いのですが。

最後に

ContinueからPerplexity APIを使う最大の目的である、最近出たばかりの新機能をチャットでコーディングしてみました。

もっとどえらい新機能が出てきた時に、Perplexity APIの実力を試してみるのも良いかもしれません。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3