Einrichtung der benutzerdefinierten ai-hedge-fund-API

Updated 2026-09-05

Die Anbieterauswahl kommt vor der Endpunktkonfiguration. Folgen Sie der aktuellen Modellerzeugung und Registry und validieren Sie Daten, Agentenausgabe und Evaluierung als getrennte Stufen.

Identifizieren Sie den aktuellen Anwendungspfad

Bestätigen Sie bei der aktuellen ai-hedge-fund-Anwendung den Registry-Provider des Modells, bevor Sie OPENAI_API_BASE setzen. In Revision fc1bf250 liegt die Clientfabrik in hedge_fund/llm/client.py und liest eine danebenliegende Registry. Ältere Tutorials, die sich nur auf src/llm/models.py beziehen, beschreiben einen anderen Anwendungspfad. Fixieren Sie Ihren Checkout und verwenden Sie den Einstiegspunkt, der die aktuelle Fabrik importiert. Beginnen Sie mit dem folgenden Provider-Preflight und testen Sie anschließend den Projektclient, bevor Sie Finanzdaten für einen vollständigen Research-Zyklus sammeln.

Lösen Sie den Provider vor dem Setzen der Basis-URL auf

make_llm wählt aus der Kennung des ausgewählten Modells einen Provider. Sein OpenAI-Zweig übergibt OPENAI_API_BASE an ChatOpenAI und liest den zugehörigen API-Schlüssel. Eine unbekannte Kennung fällt im geprüften Quelltext auf den Anthropic-Transport zurück. Das bloße Exportieren einer OpenAI-Basis-URL reicht daher nicht aus. Bestätigen Sie zuerst, dass die exakte Endpunkt-Modell-ID unter OpenAI registriert ist. Hier identifiziert OpenAI den Transportadapter und zertifiziert nicht den Anbieter des zugrunde liegenden Modells. Ändern Sie keinen globalen Registry-Eintrag, bevor Sie nicht alle Workflows verstehen, die ihn verwenden.

EinstellungZweckPrüfung
HEDGE_FUND_LLM_MODELExakte Modell-ID auswählenRegistry löst zum vorgesehenen Provider auf
OPENAI_API_BASEOpenAI-Transportendpunkt überschreibenGilt für den OpenAI-Zweig
OPENAI_API_KEYDiesen Transport authentifizierenFür den Clientprozess verfügbar
api_models.jsonModell-IDs Providern zuordnenAktueller Pfad ist hedge_fund/llm/

Prüfen Sie eine Konfiguration ohne eine Anfrage zu stellen

Das folgende Beispiel schlägt vor der Clientkonstruktion fehl, wenn die lokale Registry einen anderen Transport auswählt. Setzen Sie RESEARCH_MODEL_ID auf eine Katalog-ID, deren Anwendungsregistrierung Sie geprüft haben. Falls sie fehlt, fügen Sie bewusst eine lokale Registry-Zeile mit den vorhandenen Feldern display_name, model_name und provider hinzu und bewahren Sie nicht zusammenhängende Einträge. Der Platzhalter ist keine Behauptung eines unterstützten Modells. Stellen Sie den Schlüssel über Ihre Umgebung oder Ihren Secret-Store bereit. Dieser Preflight prüft nur die Auswahl und kann weder Netzwerkzugriff, Kontoberechtigung, strukturierte Ausgabe noch Research-Qualität belegen.

import os
from hedge_fund.llm.registry import provider_for

model = os.environ["RESEARCH_MODEL_ID"]
if provider_for(model) != "OpenAI":
    raise RuntimeError("MODEL_TRANSPORT_MISMATCH")
os.environ["HEDGE_FUND_LLM_MODEL"] = model
os.environ["OPENAI_API_BASE"] = "https://api.apisrouter.com/v1"
assert os.environ["OPENAI_API_KEY"]
# Selection check only; no make_llm() or model request.

Verfolgen Sie die vorgeschlagene Modellroute

Die Modellroute beginnt nach der Registry-Auflösung. Die Anwendung benötigt weiterhin einen Finanzdatenclient, eine Universumsdefinition und ein ausdrückliches Research-Datum. Ein Gateway-Schlüssel ist weder Financial-Datasets-Zugangsdaten noch ein Recht zur Weiterverbreitung von Marktdaten. Validieren Sie Unternehmenskennungen, Währungs- und Zeitstempelsemantik unabhängig. Geben Sie bei doppelt gelisteten Unternehmen an, ob sich Ihre Analyse auf den Emittenten, eine lokale Aktienklasse oder ein Depositary Receipt bezieht. Halten Sie Belege für Modellanfragen getrennt von Belegen für Anbieterdaten, damit eine fehlende Finanzreihe nicht als LLM-Problem fehlinterpretiert wird.

OpenAI-Transportroute von ai-hedge-fund nach Auswahl der Modell-Registry.ai-hedge-fund routes through OpenAI-Registry-Provider + OPENAI_API_BASE to the APIsRouter gateway (api.apisrouter.com/v1), which fans out to: Registered research model.ai-hedge-fundviaOpenAI-Registry-Provider+ OPENAI_API_BASEAPIsRouterapi.apisrouter.com/v1Registered research model
Dokumentierte Clientroute nach der Provider-Auswahl. Finanzdaten verwenden ihren eigenen Client.

Validieren Sie geparste Entscheidungen als Daten

Die geprüfte Fabrik kapselt Provider-Clients hinter einer vollständigen(system, user)-Methode. Ihr Antworttext ist nicht automatisch ein gültiges Research-Ergebnis. Prüfen Sie die Agentenschicht, die JSON parst, Enthaltung behandelt und Ausgaben kombiniert. Eine Antwort kann nicht leer, aber dennoch fehlerhaft formatiert, intern widersprüchlich oder durch Eingaben nicht gestützt sein. Bewahren Sie rohe, bereinigte Antwort und geparstes Objekt unter einem Anfrage-Datensatz auf. Validieren Sie erwartete Felder und zulässige Zustände, statt auf einen beruhigenden Satz zu prüfen. Behandeln Sie ein fehlendes oder abgelehntes Ergebnis als nicht verfügbar und nicht als neutrales Signal, das stillschweigend in die Portfolioaggregation gelangt.

import os
from hedge_fund.llm.client import make_llm, extract_json
from hedge_fund.llm.registry import provider_for

model = os.environ["HEDGE_FUND_LLM_MODEL"]
assert provider_for(model) == "OpenAI"
client = make_llm(model=model)
result = extract_json(client.complete(
    "Return a JSON object with a boolean ready field.",
    "Set ready to true.",
))
assert result.get("ready") is True
# This request tests the client and parser, not financial research.

Machen Sie den ersten Research-Zyklus klein und prüfbar

Wählen Sie nach einem autorisierten Clienttest einen Emittenten und eine begrenzte Frage mit lizenzierten oder öffentlichen Belegen. Bestätigen Sie, dass jedes erforderliche Tool das erwartete Unternehmen und den erwarteten Zeitraum zurückgibt, und vergleichen Sie anschließend die generierte Erklärung mit Originaldokumenten. Halten Sie den ersten Lauf schreibgeschützt und bewahren Sie einen ausdrücklichen menschlichen Prüfschritt auf. Bewerten Sie, ob die Ausgabe stützende und gegenläufige Belege nennt, fehlende Daten festhält und Annahmen von Berechnungen unterscheidet. Der Name einer Analystenrolle oder eines Investmentstils ist kein Beleg dafür, dass das generierte Reasoning die Methoden oder Urteile einer realen Person reproduziert.

Halten Sie Backtest-Belege unabhängig

Eine Anwendung kann einen Research-Zyklus abschließen, während ihre historische Evaluierung ungültig bleibt. Prüfen Sie Veröffentlichungszeitpunkte, revidierte Daten, die Auswahl überlebender Unternehmen und jede Verwendung aktueller Nachrichten in historischen Prompts. Trennen Sie Entwicklungs-, Validierungs- und zurückgehaltene Zeiträume, bevor Sie Prompts oder Strategieeinstellungen iterieren. Speichern Sie Benchmark, Annahmen zu Transaktionskosten und jede versuchte Konfiguration. Wenn Sie einen Prompt wiederholt anhand desselben Testzeitraums auswählen, wird dieser Zeitraum zu Entwicklungsdaten. Berichten Sie eine unvollständige Evaluierung ehrlich, statt eine Ergebnistabelle mit einer beispielhaften Rendite zu füllen, die als Messung missverstanden werden könnte.

Steuern Sie Fehler und die gesamten Research-Ausgaben

Zählen Sie Modellaufrufe, Wiederholungen, Parsing-Fehler, Finanzdatengebühren und lokale Berechnung auf Job-Ebene. Ein Timeout am Endpunkt kann die Abrechnung unbekannt lassen, bis die Nutzung abgeglichen wurde. Wiederholen Sie vorübergehende Transportfehler innerhalb eines festen Budgets, nicht aber unverändert Authentifizierungs- oder Provider-Auswahlfehler. Halten Sie die fehlgeschlagene Stufe und ihren bereinigten Fehler zur Prüfung verfügbar. Eine allgemeine Gateway-Hello-Antwort kann helfen, den Transport zu isolieren, aber nur die eigenen Clienttests des Projekts prüfen sein Adapterverhalten. Ein nützlicher Kostenvergleich hält Quellenpaket, Rollen und Abnahmekriterien für die Ausgabe über Modellkandidaten hinweg konstant.

Belege und Einschränkungen

Die aktuelle Fabrik und Registry wurden am 5. September 2026 bei fc1bf250 geprüft. Die Beispiele sind quellenbasierte Vorlagen; für diesen Leitfaden wurde weder eine APIsRouter-Anfrage noch ein vollständiger Research-Zyklus ausgeführt. Frühere Aufrufe über andere Gateways belegen diese Integration nicht. Halten Sie Client-, Datentool- und vollständige Artefaktergebnisse bei der Validierung Ihrer Umgebung getrennt.

Häufige Fragen

Warum verlangt meine benutzerdefinierte ID einen Anthropic-Schlüssel?

In der geprüften Fabrik fällt eine nicht registrierte Modell-ID auf Anthropic zurück. Prüfen Sie provider_for(model) und die aktuelle Registry hedge_fund/llm/api_models.json vor der Clientkonstruktion.

Leitet OPENAI_API_BASE jeden Provider um?

Nein. Sie wird im OpenAI-Clientzweig gelesen. Andere Registry-Provider erstellen eigene Clients und können andere Einstellungen verwenden.

Welche Registry-Felder sind relevant?

Die geprüfte Registry liest display_name, model_name und provider. Bewahren Sie die exakte Endpunkt-ID und wählen Sie den Transport bewusst.

Bedeutet ein Modell im Anwendungsmenü Zugriff auf den Endpunkt?

Nein. Prüfen Sie die exakte ID und den Kontozugriff mit dem ausgewählten Endpunkt. Die Anwendungs-Registry bestimmt die Clientauswahl und nicht den Gateway-Katalog.

Was sollte ich prüfen, nachdem der Client JSON zurückgibt?

Validieren Sie Finanzdatentools, Schema der Agentenausgabe, Enthaltungsverhalten und das endgültige quellenverknüpfte Research-Artefakt anhand einer begrenzten Aufgabe.

Kann ich die Ausgabe automatisch zum Platzieren einer Order verwenden?

Dieser Leitfaden behandelt Research-Konfiguration. Orderautorisierung, Limits, Abgleich und Betriebsprüfung gehören zu einem separat validierten Ausführungssystem.