ai-hedge-fund 사용자 지정 API 설정

Updated 2026-09-05

엔드포인트 구성 전에 제공업체를 선택하세요. 현재 모델 팩토리와 레지스트리를 따른 뒤 데이터, 에이전트 출력, 평가를 별도 단계로 검증합니다.

현재 애플리케이션 경로를 식별하세요

현재 ai-hedge-fund 애플리케이션에서는 OPENAI_API_BASE를 설정하기 전에 모델의 레지스트리 제공업체를 확인하세요. 리비전 fc1bf250에서 클라이언트 팩토리는 hedge_fund/llm/client.py에 있고 옆의 레지스트리를 읽습니다. src/llm/models.py만 언급하는 오래된 튜토리얼은 다른 애플리케이션 경로를 설명합니다. 체크아웃을 고정하고 현재 팩토리를 가져오는 진입점을 사용하세요. 아래 제공업체 사전 확인에서 시작한 뒤 완전한 리서치 사이클을 위해 금융 데이터를 수집하기 전에 프로젝트 클라이언트를 실행합니다.

base URL을 설정하기 전에 제공업체를 확정하세요

make_llm은 선택한 모델 식별자에서 제공업체를 선택합니다. OpenAI 분기는 OPENAI_API_BASE를 ChatOpenAI에 전달하고 해당 API 키를 읽습니다. 검토된 소스에서는 알 수 없는 식별자가 Anthropic 전송 방식으로 대체되므로 OpenAI base URL을 내보내는 것만으로는 충분하지 않습니다. 먼저 정확한 엔드포인트 모델 ID가 OpenAI 아래에 등록되어 있는지 확인하세요. 여기서 OpenAI는 전송 어댑터를 식별할 뿐 기초 모델 제공업체를 인증하지 않습니다. 이를 사용하는 모든 워크플로를 이해하지 못한 채 전역 레지스트리 항목을 바꾸지 마세요.

설정목적확인
HEDGE_FUND_LLM_MODEL정확한 모델 ID 선택레지스트리가 의도한 제공업체로 해석
OPENAI_API_BASEOpenAI 전송 엔드포인트 재정의OpenAI 분기에 적용
OPENAI_API_KEY해당 전송 인증클라이언트 프로세스에서 사용 가능
api_models.json모델 ID를 제공업체에 매핑현재 경로는 hedge_fund/llm/

요청 없이 구성을 검사하세요

아래 예시는 로컬 레지스트리가 다른 전송 방식을 선택하면 클라이언트 구성 전에 실패합니다. 애플리케이션 등록을 검토한 카탈로그 ID로 RESEARCH_MODEL_ID를 설정하세요. 없으면 기존 display_name, model_name, provider 필드를 사용해 로컬 레지스트리 행을 의도적으로 추가하되 관련 없는 항목은 보존합니다. 플레이스홀더는 지원 모델에 대한 주장이 아닙니다. 환경 또는 시크릿 저장소를 통해 키를 제공하세요. 이 사전 확인은 선택만 검사하며 네트워크 접근, 계정 권한, 구조화된 출력, 리서치 품질은 확립할 수 없습니다.

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.

제안된 모델 경로를 추적하세요

모델 경로는 레지스트리 확인 후 시작됩니다. 애플리케이션에는 여전히 금융 데이터 클라이언트, 모집단 정의, 명시적인 리서치 날짜가 필요합니다. 게이트웨이 키는 Financial Datasets 자격 증명이나 시장 데이터를 재배포할 권리가 아닙니다. 기업 식별자, 통화, 타임스탬프 의미를 독립적으로 검증하세요. 여러 거래소에 상장된 기업이라면 분석 대상이 발행인인지, 현지 주식 종류인지, 예탁증서인지 명시합니다. 모델 요청 근거와 제공업체 데이터 근거를 분리해 금융 시계열 누락을 LLM 문제로 잘못 진단하지 않도록 하세요.

모델 레지스트리 선택 후 ai-hedge-fund OpenAI 전송 경로ai-hedge-fund routes through OpenAI 레지스트리 제공업체 + OPENAI_API_BASE to the APIsRouter gateway (api.apisrouter.com/v1), which fans out to: Registered research model.ai-hedge-fundviaOpenAI 레지스트리 제공업체 +OPENAI_API_BASEAPIsRouterapi.apisrouter.com/v1Registered research model
제공업체 선택 후의 문서화된 클라이언트 경로입니다. 금융 데이터는 자체 클라이언트를 사용합니다.

파싱된 결정을 데이터로 검증하세요

검토된 팩토리는 provider 클라이언트를 complete(system, user) 메서드 뒤에 감쌉니다. 응답 텍스트가 자동으로 유효한 리서치 결과가 되는 것은 아닙니다. JSON을 파싱하고 기권을 처리하며 출력을 결합하는 에이전트 계층을 검사하세요. 응답은 비어 있지 않아도 형식이 잘못되었거나 내부적으로 모순되거나 입력이 뒷받침하지 않을 수 있습니다. 비식별화한 원시 응답과 파싱된 객체를 하나의 요청 기록 아래에 보존하세요. 안심시키는 문장을 검색하지 말고 예상 필드와 허용 상태를 검증합니다. 누락되거나 거부된 결과는 포트폴리오 집계에 조용히 들어가는 중립 신호가 아니라 이용 불가로 처리하세요.

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.

첫 리서치 사이클을 작고 검토 가능하게 만드세요

승인된 클라이언트 테스트 후 라이선스가 있거나 공개된 근거를 사용해 기업 하나와 범위가 정해진 질문을 선택하세요. 필요한 각 도구가 예상한 기업과 기간을 반환했는지 확인한 다음 생성된 설명을 원본 문서와 비교합니다. 첫 실행은 읽기 전용으로 유지하고 명시적인 사람의 검토 단계를 보존하세요. 출력이 뒷받침 근거와 반대 근거를 인용하고 누락 데이터를 기록하며 가정과 계산을 구분하는지 평가합니다. 애널리스트 역할 이름이나 투자 스타일은 생성된 추론이 실제 사람의 방법이나 판단을 재현한다는 근거가 아닙니다.

백테스트 근거를 독립적으로 유지하세요

애플리케이션이 리서치 사이클을 완료해도 역사적 평가가 유효하지 않을 수 있습니다. 게시 타임스탬프, 수정된 데이터, 생존 기업 선택, 과거 프롬프트에서 현재 뉴스를 사용했는지 검사하세요. 프롬프트나 전략 설정을 반복하기 전에 개발, 검증, 홀드아웃 기간을 분리합니다. 벤치마크, 거래 비용 가정, 시도한 모든 구성을 저장하세요. 같은 테스트 기간을 기준으로 프롬프트를 반복 선택하면 그 기간이 개발 데이터로 바뀝니다. 결과표를 예시 수익률로 채우지 말고 불완전한 평가를 정직하게 보고하세요.

실패와 전체 리서치 지출을 제어하세요

작업 수준에서 모델 호출, 재시도, 파싱 실패, 금융 데이터 요금, 로컬 계산을 집계하세요. 엔드포인트 타임아웃은 사용량을 대조할 때까지 결제 상태를 알 수 없게 만들 수 있습니다. 고정된 예산 안에서 일시적인 전송 실패만 재시도하고 인증 또는 제공업체 선택 실패를 원인 변경 없이 재시도하지 마세요. 실패한 단계와 비식별화한 오류를 검토할 수 있게 유지합니다. 일반적인 게이트웨이 hello 응답은 전송을 분리하는 데 도움이 될 수 있지만 프로젝트 자체 클라이언트만 어댑터 동작을 테스트합니다. 유용한 비용 비교를 위해 모델 후보 간 소스 패킷, 역할, 출력 승인 기준을 고정하세요.

근거와 한계

현재 팩토리와 레지스트리는 2026년 9월 5일 fc1bf250에서 검토되었습니다. 예시는 소스에 기반한 템플릿이며 이 가이드를 위해 APIsRouter 요청이나 완전한 리서치 사이클을 실행하지 않았습니다. 다른 게이트웨이를 통한 이전 호출은 이 통합을 확립하지 않습니다. 환경을 검증할 때 클라이언트, 데이터 도구, 완전한 산출물의 결과를 분리하세요.

자주 묻는 질문

사용자 지정 ID가 Anthropic 키를 요청하는 이유는 무엇인가요?

검토된 팩토리에서는 등록되지 않은 모델 ID가 Anthropic으로 대체됩니다. 클라이언트 구성 전에 provider_for(model)과 현재 hedge_fund/llm/api_models.json 레지스트리를 확인하세요.

OPENAI_API_BASE가 모든 제공업체를 다시 라우팅하나요?

아니요. OpenAI 클라이언트 분기에서 읽습니다. 다른 레지스트리 제공업체는 자체 클라이언트를 구성하고 다른 설정을 사용할 수 있습니다.

관련 레지스트리 필드는 무엇인가요?

검토된 레지스트리는 display_name, model_name, provider를 읽습니다. 정확한 엔드포인트 ID를 보존하고 전송 방식을 의도적으로 선택하세요.

애플리케이션 메뉴에 모델이 있으면 엔드포인트 접근도 가능한가요?

아니요. 선택한 엔드포인트로 정확한 ID와 계정 접근을 확인하세요. 애플리케이션 레지스트리는 클라이언트 선택을 결정하며 게이트웨이 카탈로그를 결정하지 않습니다.

클라이언트가 JSON을 반환한 뒤 무엇을 확인해야 하나요?

금융 데이터 도구, 에이전트 출력 스키마, 기권 동작, 최종 근거 연결 리서치 산출물을 범위가 정해진 작업으로 검증하세요.

출력을 사용해 자동으로 주문할 수 있나요?

이 가이드는 리서치 구성을 다룹니다. 주문 승인, 한도, 대조, 운영 검토는 별도로 검증된 실행 시스템에 속합니다.