Octopus ist ein einfaches, schönes und effizientes API-Aggregations- und Lastausgleichs-Proxy-Service-Tool für individuelle Nutzer und Entwickler. Mit der Verbreitung von LLMs auf dem Markt besteht die Herausforderung darin, APIs und mehrere Schlüssel von verschiedenen Anbietern effizient zu verwalten. Octopus bietet eine Lösung aus einer Hand, um LLM-APIs aus verschiedenen Kanälen in einem einheitlichen lokalen Verwaltungspanel für Konfiguration und Verteilung zu zentralisieren. Unabhängig von der zugrunde liegenden Schnittstelle, sei es OpenAI, Anthropic oder Gemini Octopus unterstützt die nahtlose Protokollkonvertierung für alle Formate und ermöglicht es Front-End-Anwendungen, das gesamte Netzwerkmodell mit einem einheitlichen Schnittstellenstandard aufzurufen. Darüber hinaus unterstützt die Plattform das Einbinden mehrerer API-Schlüssel für einen einzigen Kanal und löst die Probleme der Flussbegrenzung und Fehlerberichterstattung in Szenarien mit hoher Parallelität durch die Verwendung verschiedener Lastausgleichsstrategien wie intelligente Präferenz, Polling, Zufall oder Failover. Mit einer intuitiven visuellen Benutzeroberfläche verfügt Octopus über integrierte fortschrittliche Funktionen wie Anfragestatistiken, Überwachung des Token-Verbrauchs, Nachverfolgung von Kostenrechnungen und automatische Synchronisierung der Preisgestaltung für Upstream-Modelle, die den detaillierten Verwaltungsanforderungen von Fachleuten für Schnittstellenaufrufe mit mehreren Modellen perfekt entsprechen.
Funktionsliste
- Multi-Channel Large Language Model AggregationDas System unterstützt die einheitliche Verwaltung und Konfiguration von API-Kanälen mehrerer Mainstream Large Language Model (LLM)-Anbieter in einem einzigen System sowie die zentralisierte Integration und Sammlung fragmentierter Schnittstellen.
- Flexibler Multi-Key-VerteilungsmechanismusWenn mehrere verschiedene API-Schlüssel für denselben Modellkanal konfiguriert werden, wechselt das System automatisch die Verwendung des Schlüssels, wodurch verhindert wird, dass Anfragen fehlschlagen, weil ein einzelner Schlüssel die Ratenbegrenzung auslöst.
- Hochverfügbarkeit Total Load BalancingIntegrierte Verkehrsverteilungsrichtlinien der Unternehmensklasse, einschließlich Round Robin, Random, Failover und Weighted, gewährleisten einen stabilen und reibungslosen Fluss aller externen Anrufe.
- Vollständig automatisierte plattformübergreifende ProtokollkonvertierungDie protokollangepasste Übersetzung wird nativ unterstützt, was eine adaptive Kompatibilität zwischen Schnittstellenstandards wie OpenAI Chat, OpenAI Responses, Anthropic API und Gemini ermöglicht und es alten Clients erlaubt, die großen Modelle der neuen Plattform nahtlos aufzurufen.
- Intelligente Endpunkt-Velocimetrie und PräferenzenBei Kanälen, die an mehrere Endpunkte gebunden sind, berechnet das System automatisch die Latenzzeit der Netzwerkanfragen jedes Knotens und verteilt den Datenverkehr intelligent auf den Knoten mit der schnellsten aktuellen Antwort.
- Automatisierte Preissynchronisation mit ModellenAutomatischer Abruf der neuesten Modellpreisdaten aus der vorgelagerten Open-Source-Bibliothek models.dev und Synchronisierung mit dem lokalen Abrechnungssystem; außerdem automatische Aktualisierung und Synchronisierung der Liste der neuesten Modelle, die von den aktuellen zugrunde liegenden Kanälen unterstützt werden.
- Visuelle Statistik und KanbanBietet ein minimalistisches und datenreiches Front-End-Dashboard (Web UI), das in Echtzeit den Netzwerkstatus jeder Schnittstellenanforderung, die genaue Menge der verbrauchten Token und die entsprechende finanzielle Verfolgung der Streamingkosten aufzeichnet.
- Geringes Gewicht und Kompatibilität mit mehreren Datenbank-EnginesDie Service-Architektur ist extrem leichtgewichtig, mit Standardunterstützung für lokales SQLite für eine minimale Null-Konfigurationsbereitstellung und reibungslosem Zugriff auf MySQL oder PostgreSQL für die Speicherung größerer persistenter Protokolldaten.
Hilfe verwenden
🚀 Octopus Installation und detaillierte Bedienung Panorama-Anleitung
Octopus hat sich zum Ziel gesetzt, individuellen Entwicklern und KI-Enthusiasten die effizienteste und minimalistischste LLM-API-Verwaltungserfahrung zu bieten. Um Ihnen den Einstieg zu erleichtern und das Potenzial dieser Architektur voll auszuschöpfen, finden Sie in diesem Leitfaden eine Reihe umfassender Anleitungen auf Kindermädchen-Niveau, von der grundlegenden Systembereitstellung über die Umgebungskonfiguration bis hin zur detaillierten Multi-Channel-Aggregation und dem Client-Zugang. Bitte lesen Sie ihn sorgfältig durch und folgen Sie den Schritten, um Ihren eigenen privaten Big Model Scheduling Hub einzurichten und aufzubauen.
I. Einstellungen für Dienstbereitstellung und Initialisierung
Der Octopus-Server wird in eine einzige ausführbare Datei kompiliert und in optimierte Web-Frontend-Ressourcen eingebettet, was bedeutet, dass seine Bereitstellung extrem vereinfacht wird und komplexe Umgebungskonfigurationen überflüssig sind.
1. containerisierte Bereitstellung mit Docker (dringend empfohlen)
Für die meisten Benutzer bietet Docker eine saubere und leicht zu wartende isolierte Umgebung. Stellen Sie sicher, dass Docker auf Ihrem Host oder Server installiert ist, und führen Sie dann den folgenden Startbefehl mit einem Klick in einem Terminal aus:
docker run -d \
--name octopus \
-v /你的本地绝对路径/data:/app/data \
-p 8080:8080 \
chruxc/octopus
💡 Leitfaden für bewährte Verfahren: Befehl in der -v Parameter ist für die Einstellung der Container /app/data Katalog persistent auf der lokalen Festplatte einbinden. Dieser Schritt ist äußerst wichtig, da die von Octopus standardmäßig erzeugte SQLite-Datenbank (die alle statistischen Abrechnungen aufzeichnet) und der Systemkern config.json Die Konfigurationsdateien werden hier gespeichert. Die Datenpersistenz verhindert den Verlust Ihrer API-Schlüssel-Assets und historischen Statistiken aufgrund eines Neustarts oder der Zerstörung des Containers.
Wenn Sie ein fortgeschrittener Spieler sind, der es gewohnt ist, Orchestrierungstools zu verwenden, können Sie auch einfach eine docker-compose.yml Dokumentation:
wget https://raw.githubusercontent.com/chicring/octopus/refs/heads/dev/docker-compose.yml
docker compose up -d
2. binäre Direktausführung vs. Quellcode-Kompilierung
Wenn Sie keine Container-Umgebung haben oder es schnell auf Ihrem persönlichen Windows-/MacOS-Computer zum Laufen bringen wollen, können Sie direkt zur GitHub-Releases-Seite des Projekts gehen und das Betriebssystem-Binary herunterladen. Sobald Sie es extrahiert haben, öffnen Sie ein Terminal und geben Sie ein ./octopus start Der Dienst ist in Sekundenschnelle einsatzbereit.
Für Geeks, die sich an der Sekundärentwicklung beteiligen möchten, müssen Sie sicherstellen, dass Sie Go 1.24+ und Node.js 18+ auf Ihrem System installiert haben. Nachdem Sie das Code-Repository geklont haben, gehen Sie zunächst zu web Verwendung des Katalogs pnpm install && pnpm run build Kompilieren Sie die statischen Front-End-Ressourcen und verschieben Sie sie in das Back-End static und schließlich über das Verzeichnis go run main.go start Vervollständigen Sie die Zusammenstellung und Inbetriebnahme des gesamten Projekts.
3) Erstmalige Anmeldung und Änderung der Administrator-Anmeldedaten
Unabhängig davon, wie der Dienst gestartet wird, hört das System standardmäßig lokal auf dem 8080 Anschluss. Öffnen Sie einen beliebigen Browser, um auf die http://localhost:8080Sie können das erfrischende Admin-Backend sehen.
- Standard-Anmeldekonto:
admin - Standard-Login-Passwort:
admin
⚠️ Sicherheitswarnung: Ihre Verwaltungskonsole enthält nicht nur die hochwertigen API-Schlüssel, für die Sie bezahlt haben, sondern macht auch die Weiterleitungsendpunkte öffentlich zugänglich. Das erste, was Sie tun müssen, wenn Sie die Konsole zum ersten Mal betreten, ist, die Seite “Systemeinstellungen” aufzurufen und das Standardpasswort in eine sichere Passwortstruktur zu ändern.
🛠️ II Konfiguration von Kanalaggregation und intelligentem Routing von Grund auf
Nach erfolgreicher Anmeldung wird das Dashboard angezeigt. Wir müssen den Dienst nach der “Bottom-up”-Logik aufbauen: zuerst den zugrundeliegenden Bereitstellungskanal und dann die externen Verteilergruppen konfigurieren.
Schritt 1: Geben Sie den zugrundeliegenden API-Kanal ein und konfigurieren Sie ihn (Kanalverwaltung)
Der Kanal kann grob als Ihr “API-Anbieter” verstanden werden.
- Klicken Sie in der linken Navigationsleiste auf KanalmanagementKlicken Sie dann auf “Kanal hinzufügen” in der oberen rechten Ecke.
- Anbietertyp auswählenDas System wird mit einer Vielzahl von Modellprotokollen wie OpenAI Chat, Anthropic, Gemini und anderen vorkonfiguriert. Die Wahl des richtigen Typs bestimmt, wie die zugrundeliegenden Anfragen zusammengestellt und geparst werden.
- Füllen Sie die Basis-URL ausOctopus verfügt über eine intelligente Routenvervollständigung, so dass SieunnötigGeben Sie den spezifischen langen Anfragepfad an. Wenn Sie beispielsweise auf eine offizielle OpenAI-Site zugreifen, geben Sie einfach den
https://api.openai.com/v1Das System fügt automatisch eine intelligente Verbindung dahinter ein, wenn es weitergeleitet wird./chat/completionsund andere entsprechende Routing-Adressen. - Füllen Sie den API-Schlüsselmatrix-PoolOctopus ermöglicht es Ihnen, mehrere API-Schlüssel desselben Anbieters unter einem einzigen Kanal in verschiedenen Reihen zu konfigurieren: Um das Problem der Kontoblockierung oder der begrenzten Gleichzeitigkeit aufgrund von hochfrequenten Aufrufen zu lösen, können Sie mit Octopus den Datenverkehr automatisch unter diesen Schlüsseln aufteilen, wenn eine große Anzahl von Anfragen verarbeitet wird.
Schritt 2: Virtuelle Lastausgleichsgruppen bilden (Gruppenverwaltung)
Sobald die Kanäle konfiguriert sind, ist das System noch nicht bereit, Dienste direkt für die Öffentlichkeit bereitzustellen. Wir müssen diese fragmentierten Kanäle in einem externen virtuellen Modell “verpacken”.
- gehen in Cluster-Verwaltung Seite eine neue Unternehmensgruppierung an.
- Definieren Sie den Namen des virtuellen ModellsGruppenname: Der “Gruppenname” ist der Name der Gruppe, den der externe Client beim Senden der Anfrage angibt.
modelDer Feldname. Nennen Sie es zum Beispielgpt-4o-pro。 - Binden Sie die realen Kanäle der unteren EbeneTick below the specific physical channel just established that can provide the gpt-4o dialogue service (e.g. a mix of official directly connected nodes and cheap third-party transit nodes).
- Auswahl von Verkehrsverteilungs- und Routing-Policies (Kernpunkte):
- Runde RobinJede neue API-Anfrage fordert die zugrundeliegenden Kanäle nacheinander in einer bestimmten Reihenfolge an, um sicherzustellen, dass jeder Knoten den gleichen Datenverkehr hat.
- ZufälligVollständig zufällige Auswahl für Szenarien mit einer großen Anzahl von Knoten und undifferenzierter Stabilität.
- AusfallsicherungOctopus ist für hochstabile Produktionsumgebungen konzipiert! Sie können einen “billigen Proxy-Kanal” mit hoher Priorität als primären Kanal einrichten, und im Falle eines Netzwerkfehlers, eines erschöpften Guthabens oder einer Überlastungszeit auf diesem Kanal blockiert Octopus automatisch die Fehlerrückgabe und leitet die Anfrage im Hintergrund nahtlos an den “offiziellen Backup-Kanal” mit niedriger Priorität, der jedoch am stabilsten ist, weiter! "Der Kunde wird nicht einmal eine langsame Antwort spüren. Ihr Client spürt nur eine halbe Sekunde langsamere Antwortzeiten und erhält nie eine lästige rote Fehlermeldung.
- GewichtetDen Knoten kann ein beliebiges Gewichtungsverhältnis von 1-100 je nach Preis oder Rechnungssaldo der verschiedenen Kanäle zugewiesen werden, um die Verkehrsaufteilung jedes Knotens genau zu steuern.
Schritt 3: Synchronisierung von verfeinerten Abrechnungs- und Mustereinheitspreisen (Preismanagement)
Die Berechnung der spezifischen Ausgaben in einer hybriden Multi-Channel-Umgebung bereitet oft Kopfzerbrechen, und Octopus hat zu diesem Zweck ein automatisches Abrechnungssystem eingeführt:
- Standardmäßig verbindet sich Octopus im Hintergrund mit der berühmten Open-Source-Bibliothek für Modellpreise von GitHub
models.deverfasst und aktualisiert automatisch die offiziellen Echtzeit-Einzelpreise aller wichtigen Modelle weltweit für Sie. - Wenn Sie einige exklusive oder nicht standardmäßige Privatmodelle in den Kanal einbauen, nimmt das System diese “unbezahlbaren” Modelle automatisch in das Bedienfeld auf, und Sie können auf dieser Seite manuell benutzerdefinierte Modelle einrichten
Input和OutputPreis pro Einheit.
In Verbindung mit den monatlichen/täglichen statistischen Berichten im Dashboard können die Entwickler genau feststellen, welche Anwendungsszenarien am meisten Geld verbrauchen.
💻 drei, keine Code-Änderung: kompatibel mit dem Client-Zugang auf allen Plattformen
Der größte Vorteil der Octopus-Architektur besteht darin, dass Octopus ein perfektes und standardisiertes OpenAI-Schnittstellenprotokoll bereitstellt, ganz gleich, wie viele verschiedene Formate diverser Modelle Sie in Ihr Panel packen, wenn Sie es der Öffentlichkeit zugänglich machen! Sie können es als universelle, universelle Middleware betrachten.
Szenario 1: Verwendung des offiziellen OpenAI SDK für die Schnittstelle im Code
Sie müssen den bestehenden Projektcode nicht umschreiben, sondern nur überschreiben! base_url Parameter:
from openai import OpenAI
# 初始化客户端,将链接指向刚刚部署完成的 Octopus 本地或远程服务点
client = OpenAI(
base_url="http://127.0.0.1:8080/v1",
api_key="sk-octopus-你的系统授权Token"
)
# 重点注意:此处的 model 参数,必须填写在 Octopus "分组管理" 中建立的【虚拟名称】!
completion = client.chat.completions.create(
model="gpt-4o-pro",
messages=[{"role": "user", "content": "请用Python帮我写一个快速排序算法。"}]
)
print(completion.choices[0].message.content)
Szenario 2: Stärkung der Befehlszeilenintelligenz auf Systemebene (Beispiel Claude Code)
Einige strenge offizielle Tools verlangen, dass Anfragen eine native Parameterstruktur haben. Nehmen wir an, Sie wollen der Anthropic formal Claude Der Code-Befehlszeilen-Assistent verwendet einen billigen Relay-Agent-Knoten, und Sie können den lokalen ~/.claude/settings.json Lassen Sie Octopus als “trügerischen Vermittler” auftreten:
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:8080",
"ANTHROPIC_AUTH_TOKEN": "sk-octopus-你的授权Token",
"ANTHROPIC_MODEL": "这里填入Octopus里设定的Sonnet组名",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "这里填入Octopus里设定的Sonnet组名"
}
}
Sobald die Konfiguration in Kraft ist, werden die zugrundeliegenden Claude-Code-Aufrufe an Octopus weitergeleitet, das automatisch die Protokollübersetzung und die nicht-destruktive Verteilung der nativen Anthropic-Anfragen an den Back-End-Relay-Agent vornimmt.
Ultimativer Tipp zur Vermeidung von Datenverlusten: Aufgrund der Notwendigkeit, mit massiver Textgleichzeitigkeit umzugehen, um die Lese-/Schreibleistung des Systems zu garantieren, kombiniert Octopus jeden API-Durchsatz mit dem Token Die Verbrauchsstatistiken werden im Speicher abgelegt und alle paar Minuten gemäß einer Konfigurationsdatei in die SQLite/MySQL-Datenbank geschrieben. Egal, ob Sie Octopus aktualisieren müssen oder wegen Wartungsarbeiten außer Betrieb sind.Denken Sie daran, nicht zu verwenden kill -9 brachiale Gewalt. Bitte senden Sie die SIGTERM Signal oder durch direktes Drücken der Taste Ctrl+C Bei reibungslosem Abschluss legt das Programm automatisch die letzten “letzten Zugdaten” im Speicher sicher auf der Diskette ab.
Anwendungsszenario
- Quota-Pooling für mehrere API-Schlüssel und Verhinderung von Gleichzeitigkeitsblockaden
Wenn Sie mehrere API-Schlüssel von Drittanbietern mit geringem Wert und begrenztem freien Guthaben oder einer strengen Frequenzsteuerung mit hoher Währung haben, ist es sehr einfach, die Ratenbegrenzung aufgrund von sofortigen hochfrequenten Anfragen auszulösen, wenn die Front-End-Anwendungen direkt verbunden sind. Wenn Sie Octopus verwenden, um diese Schlüssel zu einem einheitlichen physischen Channel-Pool hinzuzufügen, implementiert das System ein dynamisches, ausgewogenes Polling und eine ausgewogene Verteilung, wodurch die Komplexität der Planung hinter einer einzigen Schnittstelle verborgen wird und der Engpass der Ratenbegrenzung vollständig überwunden wird. Engpass. - Verlustfreier Zugang zu multimodalen und markenübergreifenden großen Modell-Frontends
Für einzelne Entwickler, die oft mit mehreren Modellen wie ChatGPT, Claude und Gemini zusammenarbeiten müssen, um sie gegeneinander zu bewerten, können die privaten Protokollformate der verschiedenen Hersteller zu einer aufgeblähten Struktur von Anforderungscode auf der Anwendungsseite führen. Mit dem leistungsstarken nativen Protokollkonvertierungs-Gateway von Octopus werden alle Modelle in und aus einem Standardsatz von OpenAI-Schnittstellenformaten gemappt, wodurch sie perfekt mit jedem IDE-Plug-in, Chatbox-Client oder Effizienztool von Drittanbietern wie Immersive Translator kompatibel sind. - Master-Slave-Knotenredundanz für Disaster Recovery und Hochverfügbarkeits-Failover
Für Szenarien mit begrenzten Mitteln, aber starker geschäftlicher Abhängigkeit, kaufen Entwickler oft einen sehr günstigen, aber instabilen Transitkanal eines Drittanbieters. Nach der Anwendung von Octopus können Sie den günstigen Kanal als Hauptknoten und den offiziellen hochpreisigen Kanal als Backup-Knoten festlegen. Wenn der Hauptknoten eine Netzwerküberlastung erfährt und ausfällt, erreicht die Gateway-Schicht eine intelligente Umschaltung auf den offiziellen Knoten im Millisekundenbereich, und die Geschäftsanforderungen des Kunden bleiben 100% reibungslos. - Interne Anwendungsszenarien für granulare Rechnungsstellung und finanzielle Rechnungsverfolgung
Wenn eine Person die Fähigkeiten eines großen Modells über mehrere private Unterprojekte, Blogs, Endpunkt-Plug-ins oder Freundeskreise teilt, ist es oft schwierig, die Kosten zu verteilen. Mit der Unterstützung von Octopus für die automatische Synchronisierung von Standard-Modellmarkt-Einheitspreisen und benutzerdefinierten Modellpreis-Einheitspreisen bietet das integrierte Reporting-Dashboard eine tiefgehende anatomische Aufzeichnung der genauen Menge an verbrauchten Token und des entsprechenden Cent-Preises für jede Anfrage und hilft dabei, ein sichtbares und transparentes Kapitalkosten-Dashboard zu erstellen.
QA
- Wo werden die Konfigurationsinformationen und statistischen Abrechnungsdaten von Octopus standardmäßig gespeichert? Kann ich eine andere Datenbank verwenden?
Das Octopus-System verwendet standardmäßig eine Ein-Datei-SQLite-Datenbank für wartungsfreie und leichtgewichtige Prinzipien, mit Daten und selbst generiertenconfig.jsonwerden auf dem montierten lokalendata/data.dbVerzeichnis. Für fortgeschrittene Benutzer, die einen höheren Durchsatz benötigen oder eine serverübergreifende Datenisolierung wünschen, können Sie die Konfigurationsdatei so modifizieren, dass sie sich nativ und reibungslos mit einer leistungsfähigeren MySQL- oder PostgreSQL-Datenbankumgebung verbinden kann. - Ich habe beim Booten versehentlich ein schwaches Passwort verwendet. Wie ändere ich das Administrator-Passwort in der Administrationsoberfläche?
Bitte verwenden Sie das Standard-Anfangskonto, nachdem der Dienst seine Ersteinrichtung abgeschlossen hatadmin/ PasswortadminLoggen Sie sich in das Back-Office ein. Klicken Sie dann auf die Schaltfläche Persönliches Zentrum in der oberen rechten Ecke der Benutzeroberfläche oder auf die Schaltfläche Einstellungen in der unteren linken Ecke und folgen Sie den Aufforderungen zur sofortigen Aktualisierung und Festlegung eines neuen hochsicheren Passworts, um zu vermeiden, dass es von der Scan-Maschine des öffentlichen Netzwerks abgefangen wird und somit den böswilligen Diebstahl von API-Assets im Konto verursacht. - Mein KI-App-Plugin eines Drittanbieters unterstützt nur die Eingabe in die OpenAI-Format-Schnittstelle, aber ich möchte den zugrundeliegenden Aufruf des Anthropic Claude-Modells, wird dies funktionieren?
Vollkommen. Dank des in Octopus integrierten leistungsstarken Cross-Protocol Translators müssen Sie nur die Adresse und die Schlüsselparameter des Claude-Dienstes im Channel Manager korrekt eingeben. Sie müssen lediglich die korrekte Adresse und die Schlüsselparameter für den Claude-Service im Bereich “Channel Management” eingeben und dann das Octopus LAN oder das öffentliche Gateway für das extern aufgerufene Plugin eintragen. Das System empfängt dann automatisch die Standard-OpenAI-Daten des Clients./chat/completionsDie Protokolle werden angefordert und verlustfrei in Anthropic-Protokolle für den Dialog übersetzt, und der gesamte Prozess ist für den Anrufer völlig transparent. - Wenn ich versehentlich einen Stromausfall auf dem Server erlebe oder einen Systemprozess zwangsweise beende, führt dies zum Verlust der verbrauchten Rechnungsflusssätze?
Es besteht die Möglichkeit eines geringfügigen Datenverlusts. Da für die Beantwortung von Statistikanfragen extrem hohe IO-Gleichzeitigkeitsressourcen erforderlich sind, wendet Octopus eine "Memory-first"-Statistikstrategie an, bei der alle Anfragezählungen und Token-Abrechnungsprotokolle der letzten Minuten in einem Prozess-Cache-Pool gespeichert und regelmäßig in die zugrunde liegende Datenbank gepresst werden. Wenn diekill -9Bei dieser Art der erzwungenen Zerstörung werden Daten, die einige Minuten lang noch nicht in der Datenbank gespeichert waren, gelöscht. Verwenden Sie immer einen Standardprogrammstoppbefehl (z.B. Drücken Sie dieCtrl+CWarten Sie den Abschluss des Graceful Shutdown ab. - Wenn Sie die Basis-URL des Kanals eingeben, müssen Sie etwas wie die Postman-Debugging-Funktion hinzufügen
/chat/completionsdes Suffixes der Anfrage?
Das ist nicht nötig. Der Anforderungsersteller des Systems ist sich dessen bewusst, und Sie müssen nur einen Pre-Root-Pfad für den Domänennamen und den Versionsbezeichner eingeben (z. B.https://api.openai.com/v1、https://api.anthropic.com/v1(usw.). Bei differenzierten Endpunktsuffixen für Modellinteraktionen stellt Octopus diese automatisch zusammen und fügt sie zusammen, wenn eine Proxy-Anfrage initiiert wird; fügen Sie also nichts hinzu.






























