Aangepaste API instellen voor ai-hedge-fund
Updated 2026-09-05
Providerselectie komt vóór endpointconfiguratie. Volg de actuele modelfactory en registry en valideer daarna data, agentoutput en evaluatie als afzonderlijke fasen.
Identificeer het huidige applicatiepad
Bevestig voor de huidige ai-hedge-fund-applicatie de registry-provider van het model voordat je OPENAI_API_BASE instelt. In revisie fc1bf250 staat de clientfactory in hedge_fund/llm/client.py en leest die een registry ernaast. Oudere tutorials die alleen naar src/llm/models.py verwijzen, beschrijven een ander applicatiepad. Pin je checkout en gebruik het entrypoint dat de huidige factory importeert. Begin met de providerpreflight hieronder en voer de projectclient uit voordat je financiële data verzamelt voor een volledige researchcyclus.
Los de provider op vóór je de base URL instelt
make_llm selecteert een provider op basis van de gekozen modelidentifier. De OpenAI-branch geeft OPENAI_API_BASE door aan ChatOpenAI en leest de bijbehorende API-key. Een onbekende identifier valt in de gereviewde source terug op het Anthropic-transport; alleen een OpenAI-base URL exporteren is dus onvoldoende. Bevestig eerst dat de exacte model-ID van het endpoint onder OpenAI geregistreerd is. OpenAI identificeert hier de transportadapter en certificeert niet de onderliggende modelleverancier. Wijzig geen globale registry-entry voordat je begrijpt welke workflows haar gebruiken.
| Instelling | Doel | Controle |
|---|---|---|
| HEDGE_FUND_LLM_MODEL | Exacte model-ID selecteren | Registry lost de bedoelde provider op |
| OPENAI_API_BASE | Endpoint van OpenAI-transport overriden | Geldt voor de OpenAI-branch |
| OPENAI_API_KEY | Dat transport authenticeren | Beschikbaar voor het clientproces |
| api_models.json | Model-ID's aan providers koppelen | Huidig pad is hedge_fund/llm/ |
Inspecteer configuratie zonder request
Het voorbeeld hieronder faalt vóór clientconstructie wanneer de lokale registry een ander transport kiest. Stel RESEARCH_MODEL_ID in op een catalogus-ID waarvan je de applicatieregistratie hebt gereviewd. Voeg bij afwezigheid bewust een lokale registryrij toe met de bestaande display_name-, model_name- en provider-velden en behoud niet-gerelateerde entries. De placeholder is geen claim over een ondersteund model. Lever de key via je omgeving of secret store. Deze preflight controleert alleen selectie; hij stelt geen netwerktoegang, accountrecht, structured output of onderzoekskwaliteit vast.
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.Volg de voorgestelde modelroute
De modelroute begint na registryresolutie. De applicatie heeft nog een client voor financiële data, een universumdefinitie en een expliciete onderzoeksdatum nodig. Een gatewaykey is geen Financial Datasets-credential en geen recht om marktdata te herverdelen. Valideer bedrijfsidentifiers, valuta en timestampsemantiek onafhankelijk. Specificeer bij cross-listed bedrijven of je analyse over de emittent, een lokale aandelenklasse of een depositary receipt gaat. Houd modelevidence gescheiden van providerdata-evidence zodat een ontbrekende financiële reeks niet als LLM-probleem wordt gediagnosticeerd.
Valideer geparste beslissingen als data
De gereviewde factory wikkelt providerclients achter een complete(system, user)-methode. De response-tekst is niet automatisch een geldig onderzoeksresultaat. Inspecteer de agentlaag die JSON parseert, abstention afhandelt en outputs combineert. Een response kan niet leeg zijn maar toch misvormd, intern tegenstrijdig of niet door input ondersteund. Bewaar ruwe geredigeerde response en geparst object in één requestrecord. Valideer verwachte velden en toegestane statussen in plaats van een geruststellende zin te matchen. Behandel een ontbrekend of afgewezen resultaat als niet beschikbaar en niet als een neutraal signaal dat stil de portfoliotoevoeging ingaat.
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.Houd de eerste onderzoekscyclus klein en reviewbaar
Kies na een geautoriseerde clienttest één emittent en een beperkte vraag met gelicentieerd of publiek bewijs. Bevestig dat elke vereiste tool het verwachte bedrijf en de verwachte periode teruggeeft en vergelijk daarna de gegenereerde uitleg met de originele documenten. Houd de eerste run read-only en behoud een expliciete menselijke reviewstap. Evalueer of de output ondersteunend en tegenstrijdig bewijs citeert, ontbrekende data registreert en aannames van berekeningen onderscheidt. De naam van een analistenrol of beleggingsstijl bewijst niet dat gegenereerde redenering methoden of oordeel van een echte persoon reproduceert.
Houd backtestbewijs onafhankelijk
Een applicatie kan een onderzoekscyclus voltooien terwijl historische evaluatie ongeldig blijft. Onderzoek publicatietimestamps, herziene data, selectie van overlevende bedrijven en het gebruik van actueel nieuws in historische prompts. Scheid ontwikkel-, validatie- en holdoutperioden voordat je prompts of strategie-instellingen iteratief aanpast. Bewaar benchmark, transactiekosten-aannames en elke geteste configuratie. Herhaaldelijk een prompt kiezen op basis van dezelfde testperiode maakt die periode ontwikkeldata. Rapporteer onvolledige evaluatie eerlijk in plaats van een resultatenoverzicht te vullen met een illustratief rendement dat voor een meting kan worden aangezien.
Beheers fouten en totale onderzoekskosten
Tel modelcalls, retries, parsefouten, kosten van financiële data en lokale berekening op jobniveau. Een endpointtimeout kan facturering onopgelost laten tot usage is afgestemd. Herhaal tijdelijke transportfouten binnen een vast budget en herhaal authenticatie- of providerselectiefouten niet ongewijzigd. Houd een mislukte fase en geschoonde fout beschikbaar voor review. Een generieke gateway-hello kan transport isoleren, maar alleen projectclienttests testen adaptergedrag. Een zinvolle kostenvergelijking houdt bronpakket, rollen en acceptatiecriteria constant tussen modelkandidaten.
Bewijs en beperkingen
De actuele factory en registry zijn op 5 september 2026 in fc1bf250 gereviewd. De voorbeelden zijn brononderbouwde templates; voor deze gids zijn geen APIsRouter-requests of volledige onderzoekscycli uitgevoerd. Eerdere calls via andere gateways stellen deze integratie niet vast. Houd client-, datatool- en complete-artefactresultaten gescheiden bij validatie van je omgeving.
Veelgestelde vragen
Waarom vraagt mijn aangepaste ID om een Anthropic-key?
In de gereviewde factory valt een niet-geregistreerde model-ID terug op Anthropic. Controleer provider_for(model) en de actuele registry hedge_fund/llm/api_models.json vóór clientconstructie.
Stuurt OPENAI_API_BASE elke provider om?
Nee. Hij wordt gelezen in de OpenAI-clientbranch. Andere registryproviders maken eigen clients en kunnen andere instellingen gebruiken.
Welke registryvelden zijn relevant?
De gereviewde registry leest display_name, model_name en provider. Behoud de exacte endpoint-ID en kies het transport bewust.
Betekent een model in het applicatiemenu endpointtoegang?
Nee. Controleer de exacte ID en accounttoegang met je gekozen endpoint. De applicatieregistry bepaalt clientselectie en niet de gatewaycatalogus.
Wat controleer ik nadat de client JSON teruggeeft?
Valideer financiële datatools, het agent-outputschema, abstentiongedrag en het uiteindelijke aan bewijs gekoppelde onderzoeksartefact met een begrensde taak.
Kan ik output gebruiken om automatisch een order te plaatsen?
Deze gids behandelt onderzoeksconfiguratie. Orderautorisatie, limieten, reconciliatie en operationele review horen bij een afzonderlijk gevalideerd uitvoeringssysteem.