AI Personal Learning
und praktische Anleitung
Ressource Empfehlung 1

Sammlung freier Dialog-Makromodell-Inversion zu API-Schnittstellen

Freie Anmeldung GPT3.5 zu API

https://github.com/missuo/FreeGPT35


https://github.com/aurora-develop/aurora

https://github.com/Dalufishe/freegptjs

https://github.com/PawanOsman/ChatGPT

https://github.com/nashsu/FreeAskInternet

https://github.com/aurorax-neo/free-gpt3.5-2api

https://github.com/aurora-develop/free-gpt3.5-2api

https://github.com/LanQian528/chat2api

https://github.com/k0baya/FreeGPT35-Glitch

https://github.com/cliouo/FreeGPT35-Vercel

https://github.com/hominsu/freegpt35

https://github.com/xsigoking/chatgpt-free-api

https://github.com/skzhengkai/free-chatgpt-api

https://github.com/aurora-develop/aurora-glitch (unter Verwendung von Glitch-Ressourcen)

https://github.com/fatwang2/coze2openai (COZE an API, GPT4)

 

Inlandsmodell Rückwärts

Vertiefung der Suche(DeepSeek) Schnittstelle zur API deepseek-free-api

Moonshot AI (Kimi.ai) Schnittstelle zu API kimi-free-api

springende Sterne (Leapfrog Ask StepChat) Schnittstelle zur API stufenlose-api

Ali Tongyi (Qwen) Schnittstelle zur API qwen-free-api

ZhipuAI (intellektuell anregende Rede) Schnittstelle zur API glm-free-api

Meta AI (metaso) Schnittstelle zu API metaso-free-api

Byte Jump (Beanbag) Schnittstelle zur API doubao-free-api

Byte Jump (d.h. Dream AI) Schnittstelle zur API jimeng-free-api

Spark-Schnittstelle zur API funkenfreie-api

MiniMax (Conch AI) Schnittstelle zu API hailuo-free-api

Emohaa Schnittstelle zu API emohaa-free-api

Login-freies Programm mit Chat-Schnittstelle

https://github.com/Mylinde/FreeGPT

 

Die Arbeit Code für cloudflare, binden Sie Ihren eigenen Domain-Namen zu spielen:

addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
// Sicherstellen, dass es sich bei der Anfrage um eine POST-Anfrage handelt und dass der Pfad korrekt ist
if (request.method === "POST" && new URL(request.url).pathname === "/v1/chat/completions") {
const url = 'https://multillm.ai-pro.org/api/openai-completion'; // Ziel-API-Adresse
const headers = new Headers(request.headers);

// Kopfzeilen nach Bedarf hinzufügen oder ändern
headers.set('Content-Type', 'application/json');

// Holen Sie sich den Text der Anfrage und analysieren Sie das JSON
const requestBody = await request.json();
const stream = requestBody.stream; // liefert das Stream-Argument

// Konstruieren Sie eine neue Anfrage
const newRequest = new Request(url, {
Methode: 'POST',
Kopfzeilen: Kopfzeilen,
body: JSON.stringify(requestBody) // geänderten Body verwenden
});

versuchen {
// Senden einer Anfrage an die Ziel-API
const response = await fetch(newRequest);

// Bestimmen Sie den Antworttyp anhand des Stream-Parameters
if (stream) {
// Handhabung von Streaming-Antworten
const { readable, writable } = new TransformStream();
response.body.pipeTo(writable);
return new Response(lesbar, {
Kopfzeilen: response.headers
});
} sonst {
// Normale Rückmeldung
return new Response(response.body, {
Status: response.status,
Kopfzeilen: response.headers
});
}
} catch (e) {
// Wenn die Anfrage fehlschlägt, wird eine Fehlermeldung zurückgegeben
return new Response(JSON.stringify({ error: 'Unable to reach the backend API' }), { status: 502 });
}
} sonst {
// Gibt einen Fehler zurück, wenn die Anfragemethode nicht POST ist oder der Pfad falsch ist.
return new Response('Nicht gefunden', { status: 404 });
}
}

POST Beispiel:

curl --location 'https://ai-pro-free.aivvm.com/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"Modell": "gpt-4-turbo".
"Nachrichten": [
{
"role": "user", "content": "Warum Lu Xun Zhou Shuren geschlagen hat"
}],
"Strom": wahr
}'

 

Fügen Sie einen Pseudo-Streaming-Code hinzu (die Ausgabe wird langsamer sein):

addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
if (request.method === "OPTIONS") {
return new Response(null, {
Kopfzeilen: {
Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers": '*'
}, status: 204
})
}
// Sicherstellen, dass es sich bei der Anfrage um eine POST-Anfrage handelt und dass der Pfad korrekt ist
if (request.method === "POST" && new URL(request.url).pathname === "/v1/chat/completions") {
const url = 'https://multillm.ai-pro.org/api/openai-completion'; // Ziel-API-Adresse
const headers = new Headers(request.headers);

// Kopfzeilen nach Bedarf hinzufügen oder ändern
headers.set('Content-Type', 'application/json');

// Holen Sie sich den Text der Anfrage und analysieren Sie das JSON
const requestBody = await request.json();
const stream = requestBody.stream; // liefert das Stream-Argument

// Konstruieren Sie eine neue Anfrage
const newRequest = new Request(url, {
Methode: 'POST',
Kopfzeilen: Kopfzeilen,
body: JSON.stringify(requestBody) // geänderten Body verwenden
});

versuchen {
// Senden einer Anfrage an die Ziel-API
const response = await fetch(newRequest);

// Bestimmen Sie den Antworttyp anhand des Stream-Parameters
if (stream) {
const originalJson = await response.json(); // Lesen der kompletten Daten auf einmal
// Erstellen eines lesbaren Streams
const readableStream = new ReadableStream({
start(controller) {
// Startdaten senden
const startData = createDataChunk(originalJson, "start");
controller.enqueue(new TextEncoder().encode('data: ' + JSON.stringify(startData) + '\n\n'));

// Angenommen, mehrere Datenblöcke werden verarbeitet und gemäß originalJson gesendet.
// Zum Beispiel, um das Senden von Daten in Stapeln zu simulieren
const content = originalJson.choices[0].message.content; // wir nehmen an, dass dies der zu sendende Inhalt ist
const newData = createDataChunk(originalJson, "data", content);
controller.enqueue(new TextEncoder().encode('data: ' + JSON.stringify(newData) + '\n\n'));

// Enddaten senden
const endData = createDataChunk(originalJson, "end");
controller.enqueue(new TextEncoder().encode('data: ' + JSON.stringify(endData) + '\n\n'));

controller.enqueue(new TextEncoder().encode('data: [DONE]'));
// Markieren Sie das Ende des Stroms
controller.close();
}
});
return new Response(readableStream, {
Kopfzeilen: {
Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers": '*',
Content-Type": "text/event-stream",
Cache-Kontrolle": "no-cache",
Verbindung": "keep-alive
}
});
} sonst {
// Normale Rückmeldung
return new Response(response.body, {
Status: response.status,
Kopfzeilen: response.headers
});
}
} catch (e) {
// Wenn die Anfrage fehlschlägt, wird eine Fehlermeldung zurückgegeben
return new Response(JSON.stringify({ error: 'Unable to reach the backend API' }), { status: 502 });
}
} sonst {
// Gibt einen Fehler zurück, wenn die Anfragemethode nicht POST ist oder der Pfad falsch ist.
return new Response('Nicht gefunden', { status: 404 });
}
}

// Erstellen verschiedener Datenblöcke je nach Typ
function createDataChunk(json, type, content = {}) {
switch (Typ) {
Fall "Start".
zurück {
id: json.id,
Objekt: "chat.completion.chunk",
erstellt: json.created,
model: json.model,
choices: [{ delta: {}, index: 0, finish_reason: null }] }.
Fall "Daten".
zurück {
id: json.id,
Objekt: "chat.completion.chunk",
erstellt: json.created,
model: json.model,
choices: [{ delta: { content }, index: 0, finish_reason: null }] }.
Fall "Ende".
zurück {
id: json.id,
Objekt: "chat.completion.chunk",
erstellt: json.created,
model: json.model,
choices: [{ delta: {}, index: 0, finish_reason: 'stop' }] }.
Standard.
zurückgeben {};
}
}

Inhalt 1
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " Sammlung freier Dialog-Makromodell-Inversion zu API-Schnittstellen

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)