ai-hedge-fund-এর custom API setup
Updated 2026-09-05
Endpoint configuration-এর আগে provider selection। Current model factory ও registry অনুসরণ করুন, তারপর data, agent output ও evaluation আলাদা stage হিসেবে validate করুন।
Current application path identify করুন
Current ai-hedge-fund application-এ OPENAI_API_BASE set করার আগে model-এর registry provider confirm করুন। Revision fc1bf250-এ client factory hedge_fund/llm/client.py path-এ এবং তার পাশে registry পড়ে। শুধু src/llm/models.py path বলা older tutorial অন্য application path বর্ণনা করে। Checkout pin করুন এবং current factory import করা entrypoint ব্যবহার করুন। নিচের provider preflight দিয়ে শুরু করুন, তারপর complete research cycle-এর financial data collect করার আগে project client exercise করুন।
Base URL set করার আগে provider resolve করুন
make_llm chosen model identifier থেকে provider select করে। এর OpenAI branch OPENAI_API_BASE ChatOpenAI-এ pass করে এবং corresponding API key পড়ে। Reviewed source-এ unknown identifier Anthropic transport-এ fallback করে, তাই শুধু OpenAI base URL export যথেষ্ট নয়। আগে confirm করুন exact endpoint model ID OpenAI-এর অধীনে registered। এখানে OpenAI transport adapter identify করে; underlying model vendor certify করে না। প্রতিটি workflow যে global registry entry consume করে তা না বুঝে বদলাবেন না।
| Setting | Purpose | Check |
|---|---|---|
| HEDGE_FUND_LLM_MODEL | Exact model ID select | Registry intended provider-এ resolve করে |
| OPENAI_API_BASE | OpenAI transport endpoint override | OpenAI branch-এ apply হয় |
| OPENAI_API_KEY | ওই transport authenticate করুন | Client process-এর জন্য available |
| api_models.json | Model ID provider-এ map করে | Current path hedge_fund/llm/ |
Request না করে configuration inspect করুন
Local registry আলাদা transport select করলে client construction-এর আগেই নিচের example fail করে। এমন catalog ID-তে RESEARCH_MODEL_ID set করুন যার application registration review করেছেন। Absent হলে existing display_name, model_name ও provider field বজায় রেখে local registry row deliberately যোগ করুন এবং unrelated entry preserve করুন। Placeholder supported model claim নয়। Environment বা secret store দিয়ে key supply করুন। এই preflight কেবল selection check করে; network access, account entitlement, structured output বা research quality establish করে না।
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.Proposed model route trace করুন
Registry resolution-এর পরে model route শুরু হয়। Application-এর এখনও financial data client, universe definition ও explicit research date দরকার। Gateway key Financial Datasets credential বা market data redistribute করার right নয়। Company identifier, currency ও timestamp semantic independently validate করুন। Cross-listed company-র ক্ষেত্রে analysis issuer, local share class নাকি depositary receipt নিয়ে তা specify করুন। Model-request evidence provider-data evidence থেকে আলাদা রাখুন, যাতে missing financial series-কে LLM problem বলে ভুল diagnose না করা হয়।
Parsed decision-কে data হিসেবে validate করুন
Reviewed factory provider client-কে complete(system, user) method-এর পেছনে wrap করে। তার response text automatically valid research result নয়। JSON parse, abstention handle ও output combine করা agent layer inspect করুন। Response nonempty হলেও malformed, internally contradictory বা input দ্বারা unsupported হতে পারে। Raw redacted response ও parsed object এক request record-এর অধীনে রাখুন। Reassuring sentence match না করে expected field ও allowed state validate করুন। Missing বা rejected result unavailable, portfolio aggregation-এ নীরবে ঢুকে পড়া neutral signal নয়।
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.প্রথম research cycle ছোট ও reviewable রাখুন
Authorized client test-এর পরে licensed বা public evidence-সহ একটি issuer ও bounded question বেছে নিন। প্রতিটি required tool expected company ও period ফেরত দিয়েছে confirm করুন, তারপর generated explanation original document-এর সঙ্গে তুলনা করুন। Initial run read-only রাখুন এবং explicit human review step রাখুন। Output supporting ও opposing evidence cite করে কি না, missing data record করে কি না এবং assumption ও calculation আলাদা করে কি না evaluate করুন। Analyst role বা investing style-এর নাম generated reasoning real person's method বা judgment reproduce করে এমন evidence নয়।
Backtest evidence independent রাখুন
Application research cycle finish করলেও historical evaluation invalid হতে পারে। Publication timestamp, revised data, surviving-company selection ও historical prompt-এ current news ব্যবহৃত হয়েছে কি না examine করুন। Prompt বা strategy setting iterate করার আগে development, validation ও held-out period আলাদা করুন। Benchmark, transaction-cost assumption ও প্রতিটি attempted configuration save করুন। একই test period-এর ওপর prompt repeatedly choose করলে period-টি development data হয়ে যায়। Illustrative return দিয়ে result table পূরণ না করে incomplete evaluation সৎভাবে report করুন।
Failure ও total research spend control করুন
Job level-এ model call, retry, parsing failure, financial-data charge ও local computation count করুন। Endpoint timeout-এ usage reconcile না হওয়া পর্যন্ত billing unknown থাকতে পারে। Fixed budget-এর মধ্যে transient transport failure retry করুন; authentication বা provider-selection failure unchanged retry করবেন না। Failed stage ও তার sanitized error review-এর জন্য available রাখুন। Generic gateway hello response transport isolate করতে পারে, কিন্তু project-এর own client test-ই adapter behavior test করে। Model candidate-এর fair cost comparison-এর জন্য source packet, role ও output acceptance criteria constant রাখুন।
Evidence ও সীমাবদ্ধতা
Current factory ও registry September 5, 2026-এ fc1bf250 revision-এ review করা হয়েছে। Example source-backed template; এই guide-এর জন্য কোনো APIsRouter request বা full research cycle execute করা হয়নি। অন্য gateway-এর earlier call এই integration establish করে না। Environment validate করার সময় client, data-tool ও complete-artifact result আলাদা রাখুন।
সাধারণ প্রশ্ন
আমার custom ID Anthropic key চাইছে কেন?
Reviewed factory-তে unregistered model ID Anthropic-এ fallback করে। Client construction-এর আগে provider_for(model) ও current hedge_fund/llm/api_models.json registry check করুন।
OPENAI_API_BASE কি প্রতিটি provider reroute করে?
না। এটি OpenAI client branch-এ পড়ে। অন্য registry provider নিজস্ব client তৈরি করে এবং আলাদা setting ব্যবহার করতে পারে।
কোন registry field relevant?
Reviewed registry display_name, model_name ও provider পড়ে। Exact endpoint ID preserve করে transport সচেতনভাবে select করুন।
Application menu-তে model থাকলেই endpoint access বোঝায়?
না। Chosen endpoint দিয়ে exact ID ও account access check করুন। Application registry client selection নির্ধারণ করে, gateway catalog নয়।
Client JSON ফেরত দেওয়ার পরে কী check করব?
Bounded task দিয়ে financial-data tool, agent output schema, abstention behavior ও final evidence-linked research artifact validate করুন।
Output ব্যবহার করে automatically order place করতে পারি?
এই guide research configuration cover করে। Order authorization, limit, reconciliation ও operational review আলাদাভাবে validated execution system-এর বিষয়।