Налаштування користувацького API ai-hedge-fund
Updated 2026-09-05
Вибір провайдера передує налаштуванню кінцевої точки. Дотримуйтеся актуальної фабрики моделей і реєстру, а потім окремо перевіряйте дані, результат агента та оцінювання.
Визначте актуальний шлях програми
Для поточної програми ai-hedge-fund підтвердьте провайдера моделі в реєстрі до налаштування OPENAI_API_BASE. У ревізії fc1bf250 фабрика клієнта розташована в hedge_fund/llm/client.py і читає реєстр поруч із нею. Старі посібники, що посилаються лише на src/llm/models.py, описують інший шлях програми. Зафіксуйте checkout і використовуйте точку входу, яка імпортує поточну фабрику. Почніть із наведеної нижче попередньої перевірки провайдера, а потім виконайте клієнт проєкту до збору фінансових даних для повного дослідницького циклу.
Визначте провайдера до налаштування базового URL
make_llm обирає провайдера з ідентифікатора вибраної моделі. Його гілка OpenAI передає OPENAI_API_BASE у ChatOpenAI і читає відповідний ключ API. Невідомий ідентифікатор у перевіреному джерелі повертається до транспорту Anthropic, тому самого експорту базового URL OpenAI недостатньо. Спочатку підтвердьте, що точний ID моделі кінцевої точки зареєстрований під OpenAI. Тут OpenAI визначає адаптер транспорту, але не сертифікує базового постачальника моделі. Не змінюйте глобальний запис реєстру, доки не зрозумієте всі процеси, які його споживають.
| Параметр | Призначення | Перевірка |
|---|---|---|
| HEDGE_FUND_LLM_MODEL | Вибрати точний ID моделі | Реєстр розв’язує його до потрібного провайдера |
| OPENAI_API_BASE | Перевизначити кінцеву точку транспорту OpenAI | Застосовується до гілки OpenAI |
| OPENAI_API_KEY | Автентифікувати цей транспорт | Доступно процесу клієнта |
| api_models.json | Зіставити ID моделей із провайдерами | Поточний шлях — hedge_fund/llm/ |
Перевірте конфігурацію без запиту
Наведений нижче приклад завершується до створення клієнта, якщо локальний реєстр вибирає інший транспорт. Задайте RESEARCH_MODEL_ID рівним 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.
Перевіряйте розібрані рішення як дані
Перевірена фабрика приховує клієнти провайдерів за повним методом 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.Зробіть перший дослідницький цикл малим і придатним для перевірки
Після авторизованого тесту клієнта оберіть одного емітента та обмежене питання з ліцензованими або публічними доказами. Підтвердьте, що кожен потрібний інструмент повернув правильні компанію та період, а потім порівняйте згенероване пояснення з оригінальними документами. Початковий запуск залиште доступним лише для читання та збережіть явний крок людської перевірки. Оцініть, чи результат містить підтверджувальні та протилежні докази, записує відсутні дані й розрізняє припущення та розрахунки. Назва ролі аналітика або стиль інвестування не доводить, що згенероване міркування відтворює методи чи судження реальної людини.
Зберігайте докази бек-тесту незалежними
Програма може завершити дослідницький цикл, тоді як її історичне оцінювання залишається недійсним. Перевірте часові мітки публікації, переглянуті дані, відбір компаній, що вижили, та використання актуальних новин в історичних prompt. До ітерацій над prompt або налаштуваннями стратегії розділіть періоди розробки, перевірки й відкладених даних. Збережіть бенчмарк, припущення щодо транзакційних витрат і кожну спробувану конфігурацію. Повторний вибір prompt за тим самим тестовим періодом перетворює цей період на дані розробки. Чесно повідомляйте про неповне оцінювання, а не заповнюйте таблицю результатів ілюстративною дохідністю, яку можна сприйняти як вимірювання.
Контролюйте збої та загальні витрати дослідження
Рахуйте виклики моделі, повтори, помилки розбору, списання фінансових даних і локальні обчислення на рівні завдання. Тайм-аут кінцевої точки може залишати оплату невідомою до узгодження usage. Повторюйте тимчасові транспортні збої в межах фіксованого бюджету; не повторюйте без змін помилки автентифікації або вибору провайдера. Зберігайте невдалий етап і його очищену помилку доступними для перевірки. Загальна відповідь шлюзу може допомогти ізолювати транспорт, але лише власні тести клієнта проєкту перевіряють поведінку його адаптера. Корисне порівняння вартості тримає пакет джерела, ролі та критерії прийняття результату сталими для всіх кандидатів-моделей.
Докази та обмеження
Поточну фабрику та реєстр перевірено у fc1bf250 5 вересня 2026 року. Приклади є шаблонами на основі джерел; для цього посібника не виконувалися запит 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?
Перевірте інструменти фінансових даних, схему результату агента, поведінку утримання та фінальний дослідницький артефакт із посиланнями на докази за обмеженим завданням.
Чи можна використати результат для автоматичного замовлення?
Цей посібник охоплює конфігурацію дослідження. Авторизація замовлень, ліміти, узгодження та операційна перевірка належать окремо перевіреній системі виконання.