Przejdź do treści głównej

FreeAI::Server::OpenAI — serwer OpenAI API oparty na wbudowanych scraperach modeli AI.

OpenAI Server

Przegląd scrapera

Scraper umożliwia uruchomienie własnego serwera API kompatybilnego z OpenAI, do którego można podłączyć się z aplikacji (np. Cherry Studio, Cline itp.) i skryptów — zarówno poprzez oficjalne SDK OpenAI, jak i za pomocą zwykłych zapytań HTTP. Scraper zapewnia dostęp do bezpłatnych i płatnych modeli, które są scrapowane przez A-Parser.

Lista obsługiwanych modeli:

Podłączenie do Cherry Studio

  • Ustawienia (prawy górny róg)
  • Lista dostawców, na samym dole "dodaj"
  • Podajemy dowolną nazwę, Provider type musi być OpenAI
  • Wpisujemy API Key (dowolny klucz)
  • Wpisujemy host (konfigurowany w FreeAI::Server::OpenAI) domyślnie http://127.0.0.1:3000
  • Przycisk "Manage" dodajemy potrzebne modele
Obejrzyj wideo z podłączenia

podłączenie do cherry studio

Podłączenie przez OpenAI SDK

Połączenie z FreeAI::Server::OpenAI przez nodejs + openai sdk
Kod z przykładu
import OpenAI from "openai";

(async function () {
const openai = new OpenAI({
baseURL: "http://127.0.0.1:3000/v1", //Link, pod którym uruchomiony jest FreeAI::Server::OpenAI
apiKey: "123",
});

const completion = await openai.chat.completions.create({
model: "FreeAI::ChatGPT", //Model to nazwa scrapera z listy FreeAI::Server::OpenAI, lista obsługiwanych modeli w sekcji "Przegląd scrapera"
messages: [{ role: "user", content: "Why is the sky blue?" }], //Zapytanie do modelu
});

console.log(completion.choices[0].message.content); //Wyświetlenie odpowiedzi od modelu AI
})();

Pobieranie wyniku zapytaniem HTTP

Połączenie z FreeAI::Server::OpenAI przez zapytanie nodejs http
Kod z przykładu
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", //Model to nazwa scrapera z listy FreeAI::Server::OpenAI, lista obsługiwanych modeli w sekcji "Przegląd scrapera"
messages: [{ role: "user", content: "Obszary zastosowania nodejs" }], //Zapytanie do modelu
}),
});

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);

Możliwe ustawienia

Nazwa parametruWartość domyślnaOpis
Listen Host127.0.0.1Adres IP lub nazwa hosta interfejsu, na którym usługa przyjmuje połączenia przychodzące
Listen Port3000Numer portu, na którym usługa przyjmuje połączenia przychodzące
FreeAI::ChatGPT presetdefaultPreset dla scrapera FreeAI::ChatGPT
FreeAI::Copilot presetdefaultPreset dla scrapera FreeAI::Copilot
FreeAI::DeepAI presetdefaultPreset dla scrapera FreeAI::DeepAI
FreeAI::GoogleAI presetdefaultPreset dla scrapera FreeAI::GoogleAI
FreeAI::Kimi presetdefaultPreset dla scrapera FreeAI::Kimi
FreeAI::Perplexity presetdefaultPreset dla scrapera FreeAI::Perplexity