OxyGent ist ein quelloffenes Python-Framework von JD Open Source, das Entwicklern hilft, schnell produktionsreife intelligente Systeme zu erstellen. Es bietet einen durchgängigen Entwicklungsprozess durch die Vereinheitlichung von Management-Tools, Modellen und Intelligenzen durch modulare Oxy-Komponenten. OxyGent unterstützt die schnelle Erstellung, Bereitstellung und Optimierung von Multi-Intelligenz-Systemen mit hoher Skalierbarkeit und Transparenz. Die neueste Version (15. Juli 2025) erreichte 59,14 Punkte bei den GAIA-Benchmarks und liegt damit nahe am besten Open-Source-System OWL Es wurde entwickelt, um die Entwicklung komplexer KI-Systeme sowohl für Unternehmen als auch für einzelne Entwickler zu vereinfachen.
Funktionsliste
- Modulare Entwicklung Oxy: Bietet standardisierte Oxy-Komponenten, ähnlich wie Lego-Bausteine, zur Unterstützung des schnellen Zusammenbaus von Intelligenzen und ermöglicht Hot-Swapping und szenarioübergreifende Wiederverwendung.
- Intelligente Zusammenarbeit Unterstützung der dynamischen Aufgabenzerlegung: Intelligenz kann verhandeln und sich in Echtzeit an Veränderungen anpassen, wodurch sichergestellt wird, dass Entscheidungen nachvollziehbar sind.
- elastische Architektur Unterstützt eine Vielzahl von Smart Body Topologien (z.B. ReAct und hybride Planung) und bietet automatisiertes Abhängigkeitsmanagement und visuelle Debugging-Tools.
- Kontinuierliche Entwicklung Eine eingebaute Bewertungsmaschine, die automatisch Trainingsdaten generiert, die von den Intelligenzen durch Feedbackschleifen kontinuierlich optimiert werden.
- hohe Skalierbarkeit Verteilte Scheduler ermöglichen ein lineares Kostenwachstum und unterstützen die Entscheidungsfindung und Optimierung in großem Maßstab in Echtzeit.
Hilfe verwenden
Das Hauptziel von OxyGent ist es, Entwicklern die Möglichkeit zu geben, sich auf die Geschäftslogik zu konzentrieren und intelligente Systeme schnell aufzubauen und einzusetzen. Nachfolgend finden Sie einen detaillierten Leitfaden zur Installation und Nutzung, der die wichtigsten Funktionen und Betriebsverfahren abdeckt.
Einbauverfahren
OxyGent unterstützt Python 3.10 Umgebungen und kann über die conda
vielleicht uv
Installation. Im Folgenden werden die einzelnen Schritte beschrieben:
Installation mit Conda
- Erstellen und aktivieren Sie eine virtuelle Umgebung:
conda create -n oxy_env python=3.10 conda activate oxy_env
- Installieren Sie das OxyGent-Paket:
pip install oxygent
Einbau mit uv
- Installieren Sie die uv-Tools:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Erstellen und aktivieren Sie eine virtuelle Umgebung:
uv python install 3.10 uv venv .venv --python 3.10 source .venv/bin/activate
- Installieren Sie das OxyGent-Paket:
uv pip install oxygent
Einstellungen der Entwicklungsumgebung
Wenn lokale Entwicklung erforderlich ist, installieren Sie Node.js und die Abhängigkeiten zusätzlich:
- Laden Sie Node.js herunter und installieren Sie es.
- Installieren Sie die Projektabhängigkeiten:
pip install -r requirements.txt
Für macOS-Benutzer müssen Sie möglicherweise Folgendes installieren
coreutils
::brew install coreutils
Konfigurieren des Sprachmodells
OxyGent muss mit dem Large Language Model (LLM) verbunden werden, um Intelligenzen zu betreiben. Die Konfiguration ist wie folgt:
- einrichten.
.env
geben Sie die LLM-Parameter ein:echo 'DEFAULT_LLM_API_KEY="your_api_key"' > .env echo 'DEFAULT_LLM_BASE_URL="your_base_url"' >> .env echo 'DEFAULT_LLM_MODEL_NAME="your_model_name"' >> .env
- Oder über Umgebungsvariablen konfiguriert:
export DEFAULT_LLM_API_KEY="your_api_key" export DEFAULT_LLM_BASE_URL="your_base_url" export DEFAULT_LLM_MODEL_NAME="your_model_name"
Verwendung
OxyGent bietet eine einfache Python-Schnittstelle, die es Entwicklern ermöglicht, komplexe Funktionen mit wenigen Zeilen Code zu implementieren. Hier ist ein Beispielskript demo.py
und zeigt, wie man die Uhrzeit nachschlägt und in einer Datei speichert:
import os
from oxygent import MAS, Config, oxy, preset_tools
Config.set_agent_llm_model("default_llm")
oxy_space = [
oxy.HttpLLM(
name="default_llm",
api_key=os.getenv("DEFAULT_LLM_API_KEY"),
base_url=os.getenv("DEFAULT_LLM_BASE_URL"),
model_name=os.getenv("DEFAULT_LLM_MODEL_NAME"),
llm_params={"temperature": 0.01},
semaphore=4,
),
preset_tools.time_tools,
oxy.ReActAgent(
name="time_agent",
desc="查询时间的工具",
tools=["time_tools"],
),
preset_tools.file_tools,
oxy.ReActAgent(
name="file_agent",
desc="操作文件系统的工具",
tools=["file_tools"],
),
preset_tools.math_tools,
oxy.ReActAgent(
name="math_agent",
desc="执行数学计算的工具",
tools=["math_tools"],
),
oxy.ReActAgent(
is_master=True,
name="master_agent",
sub_agents=["time_agent", "file_agent", "math_agent"],
),
]
async def main():
async with MAS(oxy_space=oxy_space) as mas:
await mas.start_web_service(first_query="当前时间是多少?请保存到 time.txt 文件。")
if __name__ == "__main__":
import asyncio
asyncio.run(main())
laufendes Beispiel
- Speichern Sie den obigen Code als
demo.py
. - Stellen Sie sicher, dass die LLM-Parameter konfiguriert sind.
- Führen Sie das Skript aus:
python demo.py
- Ausgabe: Das System fragt die aktuelle Uhrzeit ab und speichert sie in der
time.txt
Datei. Nach der Ausführung können Sie über einen Browser auf den Webdienst zugreifen, um die Ergebnisse anzuzeigen.
Featured Function Bedienung
- Modulare intelligente Körperentwicklung ::
- Mit der Oxy-Komponente von OxyGent können Entwickler schnell Intelligenzen definieren. Zum Beispiel das Hinzufügen neuer Werkzeuge:
oxy.NewTool(name="custom_tool", desc="自定义工具", func=custom_function)
- Intelligentsia unterstützt Hot-Plugging und den dynamischen Austausch von Werkzeugen oder Modellen zur Laufzeit, ohne dass ein Neustart des Systems erforderlich ist.
- Mit der Oxy-Komponente von OxyGent können Entwickler schnell Intelligenzen definieren. Zum Beispiel das Hinzufügen neuer Werkzeuge:
- Dynamische Aufgabenstellung ::
- Hauptnachrichtendienst (
master_agent
Komplexe Aufgaben können in Teilaufgaben zerlegt und Subintelligenzen zugewiesen werden. Geben Sie zum Beispiel "Verkaufsdaten analysieren und einen Bericht erstellen" ein, und die Hauptintelligenz koordiniert diemath_agent
Berechnen Sie die Daten,file_agent
Ergebnisse speichern. - Der Prozess der Aufgabenzerlegung ist transparent, da jeder Schritt der Entscheidung protokolliert wird, und die Entwickler können die
MAS
der Überwachungsschnittstelle, um sie anzuzeigen.
- Hauptnachrichtendienst (
- Visuelles Debugging ::
- OxyGent bietet Visualisierungswerkzeuge, um die Interaktionen und Abhängigkeiten intelligenter Körper darzustellen. Zugang
http://localhost:port/debug
Zeigen Sie die Topologiekarte an.
- OxyGent bietet Visualisierungswerkzeuge, um die Interaktionen und Abhängigkeiten intelligenter Körper darzustellen. Zugang
- Kontinuierliche Optimierung ::
- Die eingebaute Auswertungs-Engine zeichnet die Auswirkungen jeder Aufgabenausführung auf und erzeugt Trainingsdaten. Zum Beispiel können mathematische Intelligenzen durch mehrfache Berechnungen auf Genauigkeit optimiert werden.
- Entwickler können manuell einstellen
llm_params
(z.B..temperature
), um die Ausgabequalität zu optimieren.
caveat
- Vergewissern Sie sich, dass die Netzwerkverbindung stabil ist und dass die LLM-API Echtzeitzugriff erfordert.
- Für die lokale Entwicklung wird empfohlen, mindestens 8 GB Speicher zuzuweisen, um den Multi-Intelligence-Betrieb zu unterstützen.
- Siehe dazu die offizielle Dokumentation (
http://oxygent.jd.com/docs/
) für weitere Konfigurationsmöglichkeiten.
Anwendungsszenario
- Entwicklung von AI-Systemen für Unternehmen
OxyGent eignet sich für den Aufbau intelligenter Systeme der Unternehmensklasse, wie z. B. Kundendienst-Bots oder Datenanalyseplattformen. Entwickler können schnell mehrere Intelligenzen integrieren, um komplexe Geschäftslogik zu handhaben. - Automatisierte Aufgabenbearbeitung
Einzelne Entwickler können OxyGent verwenden, um Routineaufgaben zu automatisieren. Konfigurieren Sie z. B. Intelligenzen zur Überwachung von Ordneränderungen und zur Erstellung von Berichten, um Zeit bei manuellen Vorgängen zu sparen. - Entscheidungsunterstützung in Echtzeit
Im Finanzwesen oder in der Logistik unterstützt das verteilte Scheduling von OxyGent die Optimierung in Echtzeit. Beispielsweise können die Intelligenzen die Logistikpfade dynamisch anpassen, um die Kosten zu senken.
QA
- Welche Sprachmodelle werden von OxyGent unterstützt?
Unterstützung für jeden LLM, der eine HTTP-API bereitstellt, ist für Entwickler über die.env
Datei werden der API-Schlüssel und der Modellname konfiguriert. - Wie kann ich die Funktionalität meines Smart Body erweitern?
existierenoxy_space
Hinzufügen eines neuen Smarts oder Werkzeugs zumname
im Gesang antwortentools
Attribut ist ausreichend. Fügen Sie zum Beispiel eine Wetterabfrage Smartbody:oxy.ReActAgent(name="weather_agent", desc="查询天气的工具", tools=["weather_tools"])
- Ist es für kleine Projekte geeignet?
Ja, das modulare Design von OxyGent unterstützt kleine Projekte mit einer einzigen Intelligenz, die in der Lage ist, sowohl einfache Aufgaben auszuführen als auch auf komplexe Systeme zu skalieren.