Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

AI コード・アシスタント Continue : セットアップ : 概要と構成

Posted on 08/01/202408/01/2024 by Sales Information

AI コード・アシスタント Continue : セットアップ : 概要 / 構成

作成 : Masashi Okumura (@ClassCat)
作成日時 : 08/01/2024

* 本ページは、docs.continue.dev の以下のページを参考にしてまとめ直したものです :

  • Setup : Overview
  • Setup : Configuratiobn

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

 

AI コード・アシスタント Continue : セットアップ : 概要

Contuinue は使用する大規模言語モデル (LLM) を選択できます。Anthropic API 経由の Claude 3 Opus のような商用モデル、Ollama を使用しラップトップで動作する Llama 3 のようなオープンソースモデル、そしてそれらの間のあらゆるモデルにより、それを使用することができます。

最初に Continue をインストールした場合、API キーを使用して安全に呼び出しを行うプロキシーサーバを使用して、無料で試すことができます。貴方自身の API キーは異なるモデル / プロバイダーを使用する準備ができたら、それらを config.json に追加することができます。

チャット、オートコンプリート や 埋め込み のために使用するモデルやプロバイダーを決定する必要があります。

 

AI コード・アシスタント Continue : セットアップ : 構成

Continue を素早く簡単にセットアップしたいですか? 様々なシナリオに対する幾つかのサンプルの config.json ファイルを用意しています。Continue サイドバーの右下にある歯車アイコンをクリックして、それらを config.json にコピー&ペーストするだけです。

 

クイック・セットアップ・オプション

Continue を様々な方法で使用できます。一般的な使用方法のためのいくつかのクイックセットアップは以下です :

  • フリー・トライアル – 追加のセットアップなしに Continue を試します。

  • ベストな総合的エクスペリエンス – ベストなエクスペリエンスのために厳選されたモデルを活用します。

  • ローカル & オフライン – より良いプライバシーのためにオフラインで使用するローカルモデルを使用します。

 

フリー・トライアル

フリートライアルは新規ユーザが ContinueDev プロキシーサーバを使用して、GPT-4o, Llama3, Claude 3.5 や他のモデルで Continue を試すことを可能にします。プロキシーサーバはこれらのサービスへの API 呼び出しを安全に実行します。

~/.continue/config.json

{
  "models": [
    {
      "title": "GPT-4o (trial)",
      "provider": "free-trial",
      "model": "gpt-4o"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Codestral (trial)",
    "provider": "free-trial",
    "model": "AUTODETECT"
  },
  "embeddingsProvider": {
    "provider": "free-trial"
  },
  "reranker": {
    "name": "free-trial"
  }
}

 

ベストな総合的エクスペリエンス

このセットアップは、チャット用に Claude 3.5 Sonnet、オートコンプリート用に Codestral、そして埋め込みと再ランク付け用に Voyage AI を使用します。

What You Need :

  1. Anthropic Console から Anthropic API を取得する。

  2. Mistral AI の La Plateforme から Codestral API キーを取得する。

  3. Voyage AI Dashboard から Voyage AI API キーを取得する。

  4. [CODESTRAL_API_KEY], [ANTHROPIC_API_KEY] と [VOYAGE_API_KEY] を上記のリンクから取得したキーで置き換えます。

~/.continue/config.json

{
  "models": [
    {
      "title": "Claude 3.5 Sonnet",
      "provider": "anthropic",
      "model": "claude-3-5-sonnet-20240620",
      "apiKey": "[ANTHROPIC_API_KEY]"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Codestral",
    "provider": "mistral",
    "model": "codestral-latest",
    "apiKey": "[CODESTRAL_API_KEY]"
  },
  "embeddingsProvider": {
    "provider": "openai",
    "model": "voyage-code-2",
    "apiBase": "https://api.voyageai.com/v1/",
    "apiKey": "[VOYAGE_AI_API_KEY]"
  },
  "reranker": {
    "name": "voyage",
    "params": {
      "apiKey": "[VOYAGE_AI_API_KEY]"
    }
  }
}

 

ローカル & オフライン構成

この構成はすべての機能 – チャット、オートコンプリート、そして埋め込み – のために Ollama を活用し、コードがマシンの外側に送信されないことを保証し、Continue がエア・ギャップされたコンピュータ上でも実行されることを可能にします。

What You Need :

  1. Ollama の公式サイトから Ollama をダウンロードする。

  2. 必要なモデルを pull します :
    • チャット用: “ollama pull llama3:8b”
    • オートコンプリート用 : “ollama pull starcoder2:3b”
    • 埋め込み用 : “ollama pull nomic-embed-text”

~/.continue/config.json

{
  "models": [
    {
      "title": "Ollama",
      "provider": "ollama",
      "model": "AUTODETECT"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Starcoder 2 3b",
    "provider": "ollama",
    "model": "starcoder2:3b"
  },
  "embeddingsProvider": {
    "provider": "ollama",
    "model": "nomic-embed-text"
  }
}

 

チャットモデルのセットアップ

config.json には models プロパティがあります、これは Continue で使用するために保存したものです :

"models": [
    {
        "title": "GPT-4",
        "provider": "free-trial",
        "model": "gpt-4"
    },
    {
        "title": "GPT-3.5-Turbo",
        "provider": "free-trial",
        "model": "gpt-3.5-turbo"
    }
]

model と provider プロパティを指定するだけで、自動的にプロンプト・テンプレートやその他の重要な情報を検出しますが、この基本的な設定以上のことをしたい場合には、幾つかの他のオプションについて後述します。

 

オープンソース・モデルのセルフホスティング

多くの場合、Continue は組み込みのプロバイダーか使用する OpenAI 互換な API を持ちますので、”openai” プロバイダーを使用してサーバを指すように “baseUrl” を変更することができます。

けれども、どちらも当てはまらない場合は、新しい LLM オブジェクトを接続する必要があります。Learn how to do this here.

 

認証

Basic 認証は apiKey フィールドを使用して任意のプロバイダーで行うことができます :

~/.continue/config.json

{
  "models": [
    {
      "title": "Ollama",
      "provider": "ollama",
      "model": "llama2-7b",
      "apiKey": "xxx"
    }
  ]
}

これはヘッダ “Authorization”: “Bearer xxx” に変換されます。

認証用にカスタムヘッダを送信する必要がある場合は、Ollama のこのサンプルのように requestOptions.headers プロパティを使用できます :

{
  "models": [
    {
      "title": "Ollama",
      "provider": "ollama",
      "model": "llama2-7b",
      "requestOptions": {
        "headers": {
          "X-Auth-Token": "xxx"
        }
      }
    }
  ]
}

同様にモデルが認証用に Certificate を必要とする場合、以下のサンプルでのように requestOptions.clientCertificate プロパティを使用できます :

{
  "models": [
    {
      "title": "Ollama",
      "provider": "ollama",
      "model": "llama2-7b",
      "requestOptions": {
        "clientCertificate": {
          "cert": "C:\tempollama.pem",
          "key": "C:\tempollama.key",
          "passphrase": "c0nt!nu3"
        }
      }
    }
  ]
}

 

コンテキスト長

Continue はデフォルトで一般的なモデルのコンテキスト長を知っています。例えば、Claude 3 に対しては自動的に 200k トークンを想定します。Ollama については、Ollama に尋ねることでコンテキスト長を自動的に決定します。これらのいずれもが十分でない場合、config.json のモデルの “contextLength” プロパティを使用してコンテキスト長を手動で指定できます。

{
  "models": [
    {
      "title": "My Custom Model",
      "provider": "openai",
      "model": "my-model",
      "contextLength": 8192,
      "apiBase": "http://localhost:8000/v1"
    }
  ]
}

 

チャット・テンプレートのカスタマイズ

殆どのオープンソース・モデルは特定のチャット形式を想定しています、例えば llama2 と codellama は入力が “[INST] How do I write bubble sort in Rust? [/INST]” のように見えることを想定しています。Continue は提供する modelvalue に基づいて正しいプロンプト形式を自動的に検出しようとしますが、無意味な応答を受け取る場合、template プロパティを使用して想定する形式を明示的に設定できます。そのオプションは : [“llama2”, “alpaca”, “zephyr”, “phind”, “anthropic”, “chatml”, “openchat”, “neural-chat”, “none”].

まったく新しいチャット・テンプレートを作成したい場合、config.ts で関数を定義してそれを LLM の templateMessages プロパティに追加することでこれを行うことができます。Alpaca/Vicuna 形式のための templateMessages の例は以下のとおりです :

function templateAlpacaMessages(msgs: ChatMessage[]): string {
  let prompt = "";

  if (msgs[0].role === "system") {
    prompt += `${msgs[0].content}\n`;
    msgs.pop(0);
  }

  prompt += "### Instruction:\n";
  for (let msg of msgs) {
    prompt += `${msg.content}\n`;
  }

  prompt += "### Response:\n";

  return prompt;
}

It can then be used like this:

~/.continue/config.ts

function modifyConfig(config: Config): Config {
  const model = config.models.find(
    (model) => model.title === "My Alpaca Model",
  );
  if (model) {
    model.templateMessages = templateAlpacaMessages;
  }
  return config;
}

この正確な関数と幾つかの他のデフォルト実装は continuedev.libs.llm.prompts.chat で利用可能です。

 

/edit プロンプトのカスタマイズ

‘/edit’ スラッシュ・コマンドで使用されるプロンプトをカスタマイズすることもできます。GPT-4 用に上手く設計されたプロンプトとそれほど強力ではないオープンソース・モデル用の実用的なデフォルトが既にありますが、例えば出力にコードだけではなく英語も取得している場合、プロンプト操作することを望む、より信頼性の高い代替を見つけようとするかもしれません。

プロンプトをカスタマイズするには、任意のモデルの promptTemplates プロパティを使用します、これは辞書で、”edit” キーに Mustache 構文のテンプレート文字列を設定します。テンプレートでは ‘filePrefix’, ‘fileSuffix’, ‘codeToEdit’, ‘language’, ‘contextItems’ と ‘userInput’ 変数が利用可能です。 Here is an example of how it can be set in config.ts:

~/.continue/config.ts

const codellamaEditPrompt = `\`\`\`{{{language}}}
{{{codeToEdit}}}
\`\`\`
[INST] You are an expert programmer and personal assistant. Your task is to rewrite the above code with these instructions: "{{{userInput}}}"

Your answer should be given inside of a code block. It should use the same kind of indentation as above.
[/INST] Sure! Here's the rewritten code you requested:
\`\`\`{{{language}}}`;

function modifyConfig(config: Config): Config {
  config.models[0].promptTemplates["edit"] = codellamaEditPrompt;
  return config;
}

You can find all existing templates for /edit in core/llm/templates/edit.ts.

 

以上



クラスキャット

最近の投稿

  • LangGraph Platform : Get started : クイックスタート
  • LangGraph Platform : 概要
  • LangGraph : Prebuilt エージェント : ユーザインターフェイス
  • LangGraph : Prebuilt エージェント : 配備
  • LangGraph : Prebuilt エージェント : マルチエージェント

タグ

AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (20) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Get Started (7) TensorFlow Graphics (7) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2024年8月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 7月   9月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme