メインコンテンツへスキップ

FreeAI::Server::OpenAI — 内蔵AIモデルスクレイパーをベースにしたOpenAI APIサーバー

OpenAI Server

スクレイパーの概要

このスクレイパーは、独自のOpenAI互換APIサーバーを構築する機能を提供します。これにより、Cherry StudioやClineなどのアプリケーションやスクリプトから、OpenAI公式SDKまたは通常のHTTPリクエストを介して接続できるようになります。このスクレイパーは、A-Parserがスクレイピングする無料および有料のモデルへのアクセスを可能にします。

サポートされているモデルの一覧:

Cherry Studioへの接続

  • 設定(右上のアイコン)
  • プロバイダーリストの最下部にある「追加」をクリック
  • 任意の名前を入力し、Provider typeをOpenAIに設定
  • API Keyを入力(任意の文字列)
  • ホストを入力(FreeAI::Server::OpenAIで設定したもの)初期値は http://127.0.0.1:3000
  • 「Manage」ボタンから必要なモデルを追加
接続ビデオを表示

Cherry Studioへの接続

OpenAI SDKを介した接続

Connection to FreeAI::Server::OpenAI via nodejs + openai sdk
サンプルコード
import OpenAI from "openai";

(async function () {
const openai = new OpenAI({
baseURL: "http://127.0.0.1:3000/v1", //FreeAI::Server::OpenAIが起動しているURL
apiKey: "123",
});

const completion = await openai.chat.completions.create({
model: "FreeAI::ChatGPT", //モデルはFreeAI::Server::OpenAIリストにあるスクレイパー名です。サポートされているモデルの一覧は「スクレイパーの概要」セクションにあります
messages: [{ role: "user", content: "Why is the sky blue?" }], //モデルへのクエリ
});

console.log(completion.choices[0].message.content); //AIモデルからの回答の出力
})();

HTTPリクエストによる結果の取得

Connection to FreeAI::Server::OpenAI via nodejs http request
サンプルコード
const resp = await fetch("http://127.0.0.1:3000/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer 123",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "FreeAI::ChatGPT", //モデルはFreeAI::Server::OpenAIリストにあるスクレイパー名です。サポートされているモデルの一覧は「スクレイパーの概要」セクションにあります
messages: [{ role: "user", content: "Node.jsの利用分野}], //モデルへのクエリ
}),
});

if (!resp.ok) {
const text = await resp.text();
throw new Error(`HTTP ${resp.status}: ${text}`);
}

const data = await resp.json();
console.log(data.choices?.[0]?.message?.content);

利用可能な設定

パラメータ名デフォルト値説明
Listen Host127.0.0.1サービスが接続を受け付けるインターフェースのIPアドレスまたはホスト名
Listen Port3000サービスが接続を受け付けるポート番号
FreeAI::ChatGPT presetdefaultFreeAI::ChatGPTスクレイパー用プリセット
FreeAI::Copilot presetdefaultFreeAI::Copilotスクレイパー用プリセット
FreeAI::DeepAI presetdefaultFreeAI::DeepAIスクレイパー用プリセット
FreeAI::GoogleAI presetdefaultFreeAI::GoogleAIスクレイパー用プリセット
FreeAI::Kimi presetdefaultFreeAI::Kimiスクレイパー用プリセット
FreeAI::Perplexity presetdefaultFreeAI::Perplexityスクレイパー用プリセット