AI Personal Learning
und praktische Anleitung

uni-api: leichtgewichtige Big Model API konvertiert in eine OpenAI-Schnittstelle, YAML-Datei zur Konfiguration des API-Kanals

Allgemeine Einführung

Kein Front-End, reine Konfigurationsdatei Konfiguration API-Kanal. Schreiben Sie einfach eine Datei kann bis eine API-Station von ihren eigenen laufen, hat das Dokument eine detaillierte Konfigurationsanleitung, weiß freundlich.

uni-api ist ein Projekt zur Vereinheitlichung der Verwaltung großer Modell-APIs, das es ermöglicht, mehrere Back-End-Dienste über eine einzige, einheitliche API-Schnittstelle zum OpenAI-Format mit Unterstützung für Lastausgleich aufzurufen. Das Projekt eignet sich besonders für Einzelnutzer, die keine komplexe Front-End-Schnittstelle benötigen, und unterstützt eine breite Palette von Modellen und Dienstanbietern, darunter OpenAI, Anthropic, Gemini, Vertex und andere.


 

Funktionsliste

  • Vereinheitlichte API-SchnittstelleAufrufen mehrerer Backend-Dienste über eine einzige, einheitliche API-Schnittstelle.
  • FormatkonvertierungKonvertierung von APIs von verschiedenen Dienstanbietern in das OpenAI-Format.
  • LastausgleichUnterstützt eine Vielzahl von Lastausgleichsstrategien, einschließlich Polling, gewichtetes Polling usw.
  • Multi-Service-UnterstützungUnterstützung für OpenAI, Anthropic, Gemini, Vertex und viele andere Dienstanbieter.
  • Verwaltung von KonfigurationsdateienVerwaltung von API-Kanälen und -Modellen über Konfigurationsdateien.
  • automatischer WiederholungsversuchAutomatisch den nächsten Kanal erneut versuchen, wenn eine API-Anfrage fehlschlägt.
  • PrivilegienkontrolleUnterstützt eine fein abgestufte Berechtigungskontrolle und Einstellungen zur Flussbegrenzung.

 

Hilfe verwenden

Leichter Einsatz

1. Einsatz in Vercel

Nachdem Sie oben auf die Schaltfläche für die Bereitstellung mit einem Klick geklickt haben, setzen Sie die Umgebungsvariablen CONFIG_URL für die direkte Kette von Profilen. DISABLE_DATABASE auf true und klicken Sie auf Create, um das Projekt zu erstellen.

 

2.serv00 Remote-Bereitstellung

Loggen Sie sich zunächst in das Panel ein, klicken Sie auf die Registerkarte Eigene Anwendungen ausführen in Zusätzliche Dienste, um die Ausführung eigener Anwendungen zu ermöglichen, und gehen Sie dann zum Panel Portreservierung, um einen beliebigen Port zu öffnen.

Wenn Sie keinen eigenen Domänennamen haben, gehen Sie zum Panel WWW-Websites und löschen Sie den standardmäßig angegebenen Domänennamen, dann erstellen Sie einen neuen Domänennamen Domain für den soeben gelöschten Domänennamen, klicken Sie auf Erweiterte Einstellungen und setzen Sie den Webseitentyp auf Proxy-Domänenname, den Proxy-Port auf den soeben geöffneten Port und aktivieren Sie nicht HTTPS verwenden.

ssh Melden Sie sich am Server serv00 an und führen Sie den folgenden Befehl aus:

git clone --depth 1 -b main --quiet https://github.com/yym68686/uni-api.git
cd uni-api
python -m venv uni-api
tmux neu -s uni-api
Quelle uni-api/bin/activate
export CFLAGS="-I/usr/local/include"
export CXXFLAGS="-I/usr/local/include"
export CC=gcc
export CXX=g++
export MAX_CONCURRENCY=1
exportieren CPUCOUNT=1
export MAKEFLAGS="-j1"
CMAKE_BUILD_PARALLEL_LEVEL=1 cpuset -l 0 pip install -vv -r requirements.txt
cpuset -l 0 pip install -r -vv anforderungen.txt

ctrl+b d tmux beenden Warten Sie ein paar Stunden, bis die Installation abgeschlossen ist, und führen Sie dann den folgenden Befehl aus:

tmux attach -t uni-api
Quelle uni-api/bin/activate
export CONFIG_URL=http://file_url/api.yaml
export DISABLE_DATABASE=true
# Ändern Sie den Port, xxx ist der Port, ändern Sie ihn selbst, er entspricht dem Port, den Sie gerade im Panel Port reservation geöffnet haben.
sed -i '' 's/port=8000/port=xxx/' main.py
sed -i '' 's/reload=True/reload=False/' main.py
python main.py

Benutzen Sie ctrl+b d, um tmux zu beenden und die Anwendung im Hintergrund laufen zu lassen. Jetzt können Sie uni-api in anderen Chat-Clients verwenden. curl test script:

curl -X POST https://xxx.serv00.net/v1/chat/completions \
-H 'Content-Type: application/json' \\
-H 'Authorization: Bearer sk-xxx' \\
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "hello"}]}'

 

3. lokale Docker-Bereitstellung

Start-Container

docker run --user root -p 8001:8000 --name uni-api -dit \
-e CONFIG_URL=http://file_url/api.yaml \ # Wenn Sie die lokale Konfigurationsdatei bereits gemountet haben, brauchen Sie CONFIG_URL nicht zu setzen
-v . /api.yaml:/home/api.yaml \ # Wenn Sie CONFIG_URL bereits festgelegt haben, müssen Sie die Konfigurationsdatei nicht einhängen
-v . /uniapi_db:/home/data \ # Wenn Sie keine Statistiken speichern möchten, müssen Sie den Ordner nicht mounten
yym68686/uni-api:latest

 

Wenn Sie Docker Compose verwenden möchten, finden Sie hier ein Beispiel für die Datei docker-compose.yml:

Dienstleistungen: uni-api.
uni-api.
container_name: uni-api
Abbild: yym68686/uni-api:latest
Umgebung: uni-api: container_name: uni-api
- CONFIG_URL=http://file_url/api.yaml # Wenn Sie die lokale Konfigurationsdatei bereits gemountet haben, müssen Sie die CONFIG_URL nicht setzen.
Ports.
- 8001:8000
ports: 8001:8000 volumes.
- . /api.yaml:/home/api.yaml # Wenn Sie CONFIG_URL bereits gesetzt haben, brauchen Sie die Konfigurationsdatei nicht zu mounten
- . /uniapi_db:/home/data # Wenn Sie keine Statistiken speichern wollen, brauchen Sie diesen Ordner nicht zu mounten

CONFIG_URL ist die Konfigurationsdatei, die automatisch von einem entfernten Ort heruntergeladen werden kann. Wenn Sie beispielsweise nicht die Möglichkeit haben, die Konfigurationsdatei auf einer bestimmten Plattform zu ändern, können Sie die Konfigurationsdatei an einen bestimmten Hosting-Dienst weitergeben, der einen direkten Link für den Download von uni-api bereitstellen kann, und CONFIG_URL ist dieser direkte Link. Wenn Sie lokal gemountete Konfigurationsdateien verwenden, brauchen Sie CONFIG_URL nicht zu setzen. CONFIG_URL wird verwendet, wenn es unpraktisch ist, Konfigurationsdateien zu mounten.

Ausführen des Docker Compose-Containers im Hintergrund

docker-compose pull
docker-compose up -d

Docker bauen

docker build --no-cache -t uni-api:latest -f Dockerfile --platform linux/amd64 .
docker tag uni-api:latest yym68686/uni-api:latest
docker push yym68686/uni-api:latest

Neustart eines Docker-Images mit einem einzigen Klick

setzen -eu
docker pull yym68686/uni-api:latest
docker rm -f uni-api
docker run --user root -p 8001:8000 -dit --name uni-api \
-e CONFIG_URL=http://file_url/api.yaml \
-v . /api.yaml:/home/api.yaml \
-v . /uniapi_db:/home/data \
yym68686/uni-api:latest
docker logs -f uni-api

RESTful curl test

curl -X POST http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${API}" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}], "stream": true}'

 

Ablauf der Installation

  1. Vorbereiten der Konfigurationsdatei: Erstellen Sie eine Datei mit dem Namenapi.yamlKonfigurationsdatei und geben Sie die Informationen zum Dienstanbieter, die API-Adresse und den API-Schlüssel ein.
  2. Hochladen von KonfigurationsdateienHochladen der Konfigurationsdatei auf ein Cloud-Laufwerk, um einen direkten Link zur Datei zu erhalten.
  3. Starten eines Docker-Containers::
    • ausnutzenCONFIG_URLDie Umgebungsvariable legt die URL der Konfigurationsdatei fest.
    • aufstellenDISABLE_DATABASEwegenwahr.
    • Starten Sie den Container mit dem Docker-Befehl:docker run -d --name uni-api -e CONFIG_URL=http://file_url/api.yaml -e DISABLE_DATABASE=true yym68686/uni-api:latest
  4. Konfigurieren Sie den AnschlussÖffnen Sie einen beliebigen Port im Panel und verweisen Sie ihn auf den Docker-Container.

Verwendung Prozess

  1. Aufrufen der APIAufruf von Backend-Diensten über eine einheitliche API-Schnittstelle, die mehrere Modelle und Dienstanbieter unterstützt.
  2. LastausgleichAutomatisches Zuweisen von Anfragen zu verschiedenen Kanälen auf der Grundlage der Lastausgleichsrichtlinie in der Konfigurationsdatei.
  3. PrivilegienkontrolleAPI-Schlüssel: Steuert den Umfang der API-Schlüsselverwendung und der Flussbegrenzung basierend auf den Berechtigungseinstellungen in der Konfigurationsdatei.
  4. automatischer WiederholungsversuchHochverfügbarkeit: Gewährleisten Sie eine hohe Verfügbarkeit, indem Sie bei einer fehlgeschlagenen Anfrage automatisch den nächsten verfügbaren Kanal erneut versuchen.

Detaillierte Schritte

  1. Beispiel für eine Konfigurationsdatei::
    
    anbieter: anbieter_name
    - provider: provider_name # Name des Dienstanbieters, z. B. openai, anthropic, gemini, openrouter, deepbricks, wie auch immer, erforderlich
    base_url: https://api.your.com/v1/chat/completions # API-Adresse des Backend-Dienstes, erforderlich.
    api: sk-YgS6GTi0b4bEabc4C # API-Schlüssel des Anbieters, erforderlich
    model: # Optional, wenn kein Modell konfiguriert ist, werden alle verfügbaren Modelle automatisch über base_url und api über den Endpunkt /v1/models abgerufen.
    - gpt-4o # Der Name des Modells, das verwendet werden kann, erforderlich.
    - claude-3-5-sonnet-20240620: claude-3-5-sonnet # Umbenennen des Modells, claude-3-5-sonnet-20240620 ist der Name des Modells des Dienstanbieters, claude-3-5-sonnet ist der umbenannte Name, Sie können stattdessen einen prägnanten Namen verwenden. ursprünglicher komplexer Name, optional
    - dall-e-3
    - Anbieter. anthropisch
    base_url: https://api.anthropic.com/v1/messages
    api: # unterstützt mehrere API-Schlüssel, mehrere Schlüssel ermöglichen automatisch den Lastausgleich von Trainingsrunden, mindestens ein Schlüssel erforderlich
    - sk-ant-api03-bNnAOJyA-xQw_twAA
    - sk-ant-api02-bNnxxxx
    Modell: claude-3-5-sonnet
    - claude-3-5-sonnet-20240620: claude-3-5-sonnet # Umbenennen des Modells, claude-3-5-sonnet-20240620 ist der Name des Modells des Diensteanbieters, und claude-3-5-sonnet ist der umbenannte Name, der durch einen prägnanten Namen ersetzt werden kann. ursprünglicher komplexer Name, optional
    tools: true # ob Tools unterstützt werden sollen, wie z.B. das Generieren von Code, das Generieren von Dokumenten, usw., der Standard ist true, optional.
    - Anbieter. gemini
    base_url: https://generativelanguage.googleapis.com/v1beta # base_url support v1beta/v1, nur für Gemini-Modelle, erforderlich
    api: AIzaSyAN2k6IRdgw
    api: AIzaSyAN2k6IRdgw
    - gemini-1.5-pro
    - gemini-1.5-flash-exp-0827: gemini-1.5-flash # Nach der Umbenennung kann der ursprüngliche Modellname gemini-1.5-flash-exp-0827 nicht mehr verwendet werden. Wenn Sie den ursprünglichen Namen verwenden möchten, können Sie den ursprünglichen Namen zum Modell hinzufügen, indem Sie die folgende Zeile hinzufügen Sie können den Originalnamen verwenden, indem Sie die folgende Zeile hinzufügen
    - gemini-1.5-flash-exp-0827 # Mit dieser Zeile können sowohl gemini-1.5-flash-exp-0827 als auch gemini-1.5-flash angefordert werden.
    tools: wahr
    - Anbieter: vertex
    project_id: gen-lang-client-xxxxxxxxxxxxxxxxx # Beschreibung: Ihre Google Cloud-Projekt-ID. Format: String, normalerweise bestehend aus Kleinbuchstaben, Zahlen und Bindestrichen. So erhalten Sie sie: Ihre Projekt-ID finden Sie im Projektselektor in der Google Cloud Console.
    private_key: "-----BEGIN PRIVATE KEY-----\nxxxxx\n-----END PRIVATE" # DESCRIPTION: Der private Schlüssel für das Google Cloud Vertex AI-Servicekonto. Format: Eine Zeichenfolge im JSON-Format, die die Informationen zum privaten Schlüssel des Servicekontos enthält. So erhalten Sie ihn: Erstellen Sie ein Dienstkonto in der Google Cloud Console, erzeugen Sie eine Schlüsseldatei im JSON-Format und setzen Sie deren Inhalt auf den Wert dieser Umgebungsvariablen.
    client_email: xxxxxxxxxx@xxxxxxx.gserviceaccount.com # Beschreibung: Die E-Mail-Adresse des Google Cloud Vertex AI-Servicekontos. Format: Normalerweise eine Zeichenfolge wie "service-account-name@project-id.iam.gserviceaccount.com". So erhalten Sie sie: Sie wird beim Erstellen des Servicekontos generiert oder Sie können sie erhalten, indem Sie die Details des Servicekontos im Abschnitt IAM & Management der Google Cloud Console anzeigen.
    Modell.
    - gemini-1.5-pro
    - gemini-1.5-flash
    - claude-3-5-sonnet@20240620: claude-3-5-sonnet
    - claude-3-opus@20240229: claude-3-opus
    - claude-3-sonnet@20240229: claude-3-sonnet
    - claude-3-haiku@20240307: claude-3-haiku
    Werkzeuge: wahr
    notes: https://xxxxx.com/ # kann die URL des Dienstanbieters, Informationen zu den Notizen, die offizielle Dokumentation, optional
    - Anbieter: cloudflare
    api: f42b3xxxxxxxxxxxxq4aoGAh # Cloudflare API Key, erforderlich
    cf_account_id: 8ec0xxxxxxxxxxxxxxxxxxe721 # Cloudflare Account ID, erforderlich
    model.
    - @cf/meta/llama-3.1-8b-instruct': llama-3.1-8b # Umbenanntes Modell, @cf/meta/llama-3.1-8b-instruct ist der ursprüngliche Modellname des Dienstanbieters, Sie müssen den Modellnamen in Anführungszeichen setzen, da sonst ein yaml-Syntaxfehler auftritt, llama- 3.1-8b ist der umbenannte Name, Sie können einen prägnanten Namen anstelle des ursprünglichen komplexen Namens verwenden, optional
    - @cf/meta/llama-3.1-8b-instruct' # muss den Modellnamen in Anführungszeichen setzen, andernfalls tritt ein yaml-Syntaxfehler auf
    - Anbieter: anderer-Anbieter
    basis_url: https://api.xxx.com/v1/messages
    api: sk-bNnAOJyA-xQw_twAA
    Modell: sk-bNNAOJyA-xQw_twAA
    - causallm-35b-beta2ep-q6k: causallm-35b
    - anthropisch/claude-3-5-sonnet
    Werkzeuge: false
    Werkzeuge: false openrouter # erzwingt die Verwendung eines bestimmten Nachrichtenformats, unterstützt derzeit gpt, claude, gemini, openrouter native format, optional
    api_keys: api: sk-KjjI60Yf0JFWW
    - api: sk-KjjI60Yf0JFWxfgRmXqFWyGtWUd9GZnmi3KlvowmRWpWpQRo # API-Schlüssel, der Benutzer benötigt einen API-Schlüssel, um diesen Dienst zu nutzen, erforderlich.
    model: # Das Modell, für das dieser API-Schlüssel verwendet werden kann (erforderlich). Standardmäßig ist der Lastausgleich für Abfragen auf Kanalebene aktiviert, und die Modelle werden in der durch das Modell konfigurierten Reihenfolge für jede Anfrage angefordert. Dies hat nichts mit der ursprünglichen Channel-Reihenfolge in den Providern zu tun. Sie können also jeden API-Schlüssel so einstellen, dass er in einer anderen Reihenfolge angefordert wird.
    - Die Namen der Modelle, die von gpt-4o # verwendet werden können, und alle vom Provider bereitgestellten gpt-4o-Modelle können verwendet werden
    - claude-3-5-sonnet # Modellname, der verwendet werden kann, kann das Modell claude-3-5-sonnet von allen Anbietern verwenden.
    - gemini/* #-Modellname, der verwendet werden kann, es können nur alle Modelle verwendet werden, die von einem Anbieter namens gemini bereitgestellt werden, wobei gemini der Name des Anbieters ist und * für alle Modelle steht
    Rolle: admin
    - api: sk-pkhf60Yf0JGyJxgRmXqFQyTgWUd9GZnmi3KlvowmRWpWqrhy
    Modell.
    - anthropic/claude-3-5-sonnet # Der Name des Modells, das verwendet werden kann. Es können nur claude-3-5-sonnet-Modelle verwendet werden, die von Anbietern mit dem Namen anthropic bereitgestellt werden. claude-3-5-sonnet-Modelle von anderen Anbietern dürfen nicht verwendet werden. Diese Niederschrift passt nicht zu einem Modell mit dem Namen anthropic/claude-3-5-sonnet, das von einem anderen Anbieter bereitgestellt wird.
    -  # Durch das Setzen von spitzen Klammern auf beiden Seiten des Modellnamens wird nicht der Kanal mit dem Namen anthropic aufgerufen, um das claude-3-5-sonnet-Modell zu finden, sondern das gesamte anthropic/claude-3-5-sonnet als Modell Name. Dieser Text passt zu Modellen, die von anderen Anbietern mit dem Namen anthropic/claude-3-5-sonnet bereitgestellt werden. Sie passt nicht zu dem Modell claude-3-5-sonnet unter anthropic.
    - openai-test/text-moderation-latest # Wenn die moralische Zensur von Nachrichten eingeschaltet ist, kann das Modell text-moderation-latest unter dem Kanal openai-test für die moralische Zensur verwendet werden.
    Einstellungen.
    SCHEDULING_ALGORITHM: fixed_priority # Wenn SCHEDULING_ALGORITHM auf fixed_priority eingestellt ist, wird immer der erste Channel mit dem angeforderten Modell mit fester Priorität ausgeführt. Standardmäßig aktiviert, ist SCHEDULING_ALGORITHM auf fixed_priority voreingestellt. SCHEDULING_ALGORITHM kann folgende Werte annehmen: fixed_priority, round_robin, weighted_round_robin, lottery, und zufällig.
    # Wenn SCHEDULING_ALGORITHM zufällig ist, wird ein zufälliger Rundlauf-Lastausgleich verwendet, um nach dem Zufallsprinzip Kanäle anzufordern, die das angeforderte Modell besitzen.
    # Wenn SCHEDULING_ALGORITHM round_robin ist, wird der Lastausgleich nach dem Rundentraining verwendet, um die Kanäle des vom Benutzer verwendeten Modells in der Reihenfolge anzufordern.
    AUTO_RETRY: true # Ob Auto-Retry, automatische Wiederholung des nächsten Providers, true für Auto-Retry, false für keine Auto-Retry, Standard ist true
    RATE_LIMIT: 2/min # unterstützt die Begrenzung des Flusses, die maximale Anzahl von Anfragen pro Minute, kann auf eine ganze Zahl gesetzt werden, wie 2/min, 2 mal pro Minute, 5/Stunde, 5 mal pro Stunde, 10/Tag, 10 mal pro Tag, 10/Monat, 10 mal pro Monat, 10/Jahr, 10 mal pro Jahr. Standardwert 60/min, optional
    ENABLE_MODERATION: true # Ob die moralische Zensur von Nachrichten aktiviert werden soll, true ist aktiviert, false ist nicht aktiviert, der Standardwert ist false, wenn aktiviert, werden die Nachrichten des Benutzers moralisch zensiert, und wenn unangemessene Nachrichten gefunden werden, wird eine Fehlermeldung ausgegeben.
    # Channel-Level Weighted Load Balancing Konfigurationsbeispiel
    - api: sk-KjjI60Yd0JFWtxxxxxxxxxxxxxxxxxxxwmRWpWpQRo
    Modell: gcp1/*: 5
    - gcp1/*: 5 # Die Gewichte kommen nach dem Doppelpunkt und es werden nur positive Ganzzahlen unterstützt.
    - gcp2/*: 3 # Die Größe der Zahl steht für die Gewichtung, je größer die Zahl, desto höher die Wahrscheinlichkeit der Anfrage.
    - gcp3/*: 2 # In diesem Beispiel gibt es 10 Gewichtungen für alle Kanäle zusammen, und von den 10 Anfragen werden 5 Anfragen das Modell gcp1/*, 2 Anfragen das Modell gcp2/* und 3 Anfragen das Modell gcp3/* anfordern.
    Einstellungen.
    SCHEDULING_ALGORITHM: weighted_round_robin # Nur wenn SCHEDULING_ALGORITHM weighted_round_robin ist und die obigen Kanäle, falls gewichtet, in gewichteter Reihenfolge angefordert werden. Verwenden Sie den gewichteten Round-Robin-Lastausgleich, um Kanäle anzufordern, die das angeforderte Modell in gewichteter Reihenfolge haben. Wenn SCHEDULING_ALGORITHM lottery ist, verwenden Sie lottery round robin load balancing, um Kanäle, die das angeforderte Modell besitzen, nach dem Zufallsprinzip entsprechend ihrer Gewichtung anzufordern. Kanäle, für die keine Gewichtung festgelegt wurde, fallen automatisch auf den round_robin-Lastausgleich zurück.
    AUTO_RETRY: true
    Einstellungen: # globale Konfiguration
    model_timeout: #-Modell-Timeout in Sekunden, Standardwert 100 Sekunden, optional
    gpt-4o: 10 Die Zeitüberschreitung für das #-Modell gpt-4o beträgt 10 Sekunden, gpt-4o ist der Name des Modells, wenn ein Modell wie gpt-4o-2024-08-06 angefordert wird, beträgt die Zeitüberschreitung ebenfalls 10 Sekunden.
    claude-3-5-sonnet: 10 #-Modell claude-3-5-sonnet Timeout ist 10 Sekunden, bei der Anforderung von Modellen wie claude-3-5-sonnet-20240620 beträgt der Timeout ebenfalls 10 Sekunden.
    default: 10 #-Modell hat keine Zeitüberschreitung eingestellt, verwenden Sie die Standard-Zeitüberschreitung von 10 Sekunden, wenn Sie ein Modell anfordern, das nicht in model_timeout enthalten ist, beträgt die Standard-Zeitüberschreitung 10 Sekunden, ohne Einstellung der Standard-Zeitüberschreitung verwendet uni-api die Standard-Zeitüberschreitung, die durch die Umgebungsvariable TIMEOUT eingestellt ist, die Standard-Zeitüberschreitung beträgt 100 Sekunden.
    o1-mini: 30 # Die Zeitüberschreitung für das Modell o1-mini beträgt 30 Sekunden, wenn ein Modell angefordert wird, dessen Name mit o1-mini beginnt, beträgt die Zeitüberschreitung 30 Sekunden.
    o1-preview: 100 # Die Zeitüberschreitung für das Modell o1-preview beträgt 100 Sekunden, wenn ein Modell angefordert wird, dessen Name mit o1-preview beginnt.
    cooldown_period: 300 # Abkühlungszeit des Kanals in Sekunden, Standardwert 300 Sekunden, optional. Wenn die Modellanforderung fehlschlägt, wird der Kanal automatisch für eine bestimmte Zeit von der Abkühlung ausgeschlossen, und der Kanal wird nicht erneut angefordert. Wenn cooldown_period auf 0 gesetzt ist, ist der Kühlmechanismus nicht aktiviert.
    
  2. Start-Container::
    docker run -d --name uni-api -e CONFIG_URL=http://file_url/api.yaml -e DISABLE_DATABASE=true yym68686/uni-api:latest
    
  3. Aufrufen der API::
    curl -X POST https://api.your.com/v1/chat/completions -H "Authorisation: Bearer sk-Pkj60Yf8JFWxfgRmXQFWyGtWUddGZnmi3KlvowmRWpWpQxx" -d '{" model": "gpt-4o", "messages": [{"role": "user", "content": "Hello!"}]}'
    
AI Leichtes Lernen

Der Leitfaden für Laien zum Einstieg in die KI

Hilft Ihnen, die Nutzung von KI-Tools kostengünstig und von Null an zu erlernen.KI ist, wie Bürosoftware, eine wesentliche Fähigkeit für jeden. Die Beherrschung von KI verschafft Ihnen einen Vorteil bei der Stellensuche und die Hälfte des Aufwands bei Ihrer zukünftigen Arbeit und Ihrem Studium.

Details ansehen>
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " uni-api: leichtgewichtige Big Model API konvertiert in eine OpenAI-Schnittstelle, YAML-Datei zur Konfiguration des API-Kanals

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)