Kimi K3.1 Pro and Highspeed are now live on CometAPI →
guide/CometAPI зерттеуі

CometAPI көмегімен көп үлгілі CrewAI агенттерін құрыңыз:

CometAPI-ді пайдаланып, бір API кілті мен негізгі URL-ді, әр агентке жеке модель тағайындауды, шектелген резервтік ауысуды және пайдалануды бақылауды қамтитын CrewAI көп агентті жұмыс ағынын құрыңыз.

CometAPI
Bobby SpencerAI model және API зерттеу тобы
Жаңартылды Sep 4, 2026 22 мин оқу
CometAPI көмегімен көп үлгілі CrewAI агенттерін құрыңыз:
Осы үлгіні пайдалану

Бірінші API шақыруын жасаңыз.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_COMETAPI_KEY",
    base_url="https://api.cometapi.com/v1",
)

response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "Build this workflow."}],
)

print(response.choices[0].message.content)

CrewAI көмегімен көп агентті жүйе құру әртүрлі агенттер әртүрлі модельдерді қолдана алғанда одан да қызықты бола түседі.

Зерттеушіге жылдам әрі үнемді модель пайдалы болуы мүмкін, талдаушыға күштірек пайымдау моделі қажет болуы ықтимал, ал жазушыға жоғары сапалы ұзын мәтін генерациясына оңтайландырылған модель керек болады. Дәстүрлі түрде бұл агенттерді әртүрлі провайдерлерге қосу жеке API кілттерін, endpoint-терді, SDK-ларды, биллинг жүйелерін және провайдерге тән конфигурацияны басқаруды білдіреді.

Тазарақ архитектура — агенттер мен жұмыс ағынын CrewAI басқарып, ал модель қолжетімділігін CometAPI басқаруы.

CometAPI https://api.cometapi.com/v1 мекенжайында OpenAI-мен үйлесімді endpoint ұсынады, сондықтан қосымшалар бірнеше провайдердегі модельдерге сұранымдарды бірыңғай API интерфейсі арқылы бағыттай алады. Оның ағымдағы жылдам бастау құжаттамасы API кілті мен base URL-ді өзгерту арқылы стандартты OpenAI Python SDK-ны қолдануды да қолдайды.

Осы оқулықта сіз үш агенттен тұратын CrewAI жұмыс ағынын құрамыз:

  • Зерттеу үшін Gemini 3.7 Flash
  • Талдау үшін Claude Opus 5
  • Қорытынды жазу үшін GPT-5.6
  • Бір CometAPI API кілті
  • Бір API base URL
  • Әр агентке жеке модель конфигурациясы
  • Уақытша ақауларға арналған шектелген фолбэк
  • Өндірістік қалпына келтіруге арналған CrewAI чекпойнтингі
  • Токен мен орындалуды қадағалау
  • Серверлік модель валидациясы

Маңызды архитектуралық шекара қарапайым:

Агенттерді оркестрациялауды CrewAI атқарады. Модель қолжетімділігін CometAPI атқарады. Маршруттауды модель ID-лері анықтайды.


CrewAI Multi-Agent Model Routing деген не?

CrewAI — агенттер, тапсырмалар, командалар (crews) және көп агентті жұмыс ағындарын жасауға арналған Python фреймворкі. Әр агент өз LLM конфигурациясына ие бола алады, ал Crew бұл агенттердің тапсырмаларды қалай орындайтынын және контекстті қалай алмасатынын үйлестіреді.

CrewAI-дің ағымдағы LLM конфигурациясы OpenAI-мен үйлесімді кастом base_url-дармен қоса айқын model, api_key, және base_url параметрлерін қолдайды.

Бұл көпмодельді архитектураны айқын етеді:

                         CometAPI                            │              https://api.cometapi.com/v1                            │        ┌───────────────────┼───────────────────┐        │                   │                   │   Researcher            Analyst             Writer        │                   │                   │ Gemini 3.7 Flash      Claude Opus 5         GPT-5.6

Агенттер логикалық тұрғыда бөлек қалады, бірақ олардың модельге қолжетімділігі бір жерде орталықтандырылған.

Бұл барлық модельдер өзара алмастырылатын дегенді білдірмейді. OpenAI-мен үйлесімді API ортақ сұраным интерфейсін береді; ол контекст шектеулері, құрал қолдауы, пайымдау басқаруы, шығыс мінезі, кешігу немесе баға бірдей болады дегенге кепілдік бермейді.

Бұл айырмашылық өндірістік маршруттауды жобалағанда маңызды.


Неліктен CrewAI-пен бірге CometAPI қолдану керек?

Басты артықшылық — CrewAI кенеттен көп провайдерлі фреймворкке айналатыны емес. CrewAI бастаптан-ақ бірнеше LLM провайдерін қолдайды.

Артықшылық — модельге қолжетімділік бір API қабатының артына біріктірілуі.

Бірыңғай API қабатынсыз үш агентті жұмыс ағыны былай көрінуі мүмкін:

АгентПровайдерКілтИнтеграция
ЗерттеушіGoogleGoogle API кілтіПровайдерге тән
ТалдаушыAnthropicAnthropic API кілтіПровайдерге тән
ЖазушыOpenAIOpenAI API кілтіПровайдерге тән

CometAPI-пен:

АгентМодельКілтEndpoint
ЗерттеушіGemini 3.7 FlashCometAPI кілтіCometAPI
ТалдаушыClaude Opus 5CometAPI кілтіCometAPI
ЖазушыGPT-5.6CometAPI кілтіCometAPI

CometAPI-дің ағымдағы жылдам бастау құжаттамасы оның endpoint-ін OpenAI API base URL-інің тікелей алмастыруы ретінде сипаттайды және бір қызмет арқылы бірнеше провайдерден модельдерді тізімдейді.

Бұл қосымшаға пайдалы бөлініс береді:

CrewAI

  • Агент рөлдерін анықтайды
  • Тапсырмаларды анықтайды
  • Контекст береді
  • Орындалуды басқарады
  • Агент итерацияларын басқарады
  • Команда деңгейіндегі оркестрацияны атқарады

CometAPI

  • Бірыңғай модель қолжетімділік қабатын ұсынады
  • API аутентификацияны орталықтандырады
  • Модель ID-лері арқылы маршруттауды береді
  • Қосымшаға бір API endpoint ұсынады
  • Пайдалану мен биллингті орталықтандырылған көрсетеді

Бұл CrewAI жұмыс ағыны не жасайды?

Мысал үш бірізді агентті құрады.

CrewAI агентіНегізгі модельФолбэкРөлі
Нарық зерттеушісіgemini-3.7-flashgpt-5.6Фактілерді жинау және зерттеу
Өнім талдаушысыclaude-opus-5gpt-5.6Дәлелдер мен трейд-оффтарды синтездеу
Техникалық жазушыgpt-5.6gemini-3.7-flashҚорытынды шешім мемосын жазу

Бұл — маршруттау саясатының мысалы, рейтинг емес.

Сіздің агентіңізге дұрыс модель келесілерге тәуелді:

  • тапсырма күрделілігі
  • қажет контекст ұзындығы
  • құралдарды пайдалану
  • құрылымдалған шығыс талаптары
  • кешігу
  • сенімділік
  • токен құны
  • шығыс сапасы
  • қолданбаға тән бағалау нәтижелері

Пайдалы ереже:

Модельді агент орындайтын жұмысқа сай таңдаңыз, тек провайдеріне қарап емес.


Әр CrewAI агенті қай модельді қолдануы керек?

Бұл мысалда тағайындау қарапайым «құн–қабілет» стратегиясын ұстанады.

Зерттеуші: Gemini 3.7 Flash

Зерттеу әдетте көп ақпаратты өңдеп, ықшам аралық нәтиже шығаруды қамтиды.

Жоғары көлемді зерттеу тапсырмалары үшін жылдам модель пайдалы болуы мүмкін.

"researcher": "gemini-3.7-flash"

Талдаушы: Claude Opus 5

Талдаушының рөлі тарлау, бірақ пайымдауға көбірек талап қояды. Ол зерттеу нәтижесін қабылдап, оны ұсынымға айналдырады.

"analyst": "claude-opus-5"

Жазушы: GPT-5.6

Соңғы агент зерттеу мен талдауды әзірлеушілерге арналған шешім мемосына айналдырады.

"writer": "gpt-5.6"

Маңыздысы дәл осы үш тағайындау емес. Қолданбаңыз маршруттау саясатын бекітпестен бұрын үлгілік тапсырмаларға қарсы модельдерді бағалауы керек.


Бастамас бұрын не керек?

Қажет:

  • Python 3.10+
  • CrewAI
  • OpenAI Python SDK-мен үйлесімділік
  • python-dotenv
  • CometAPI API кілті
  • Қолданбақ модель ID-лері

CometAPI-дің ағымдағы Python интеграциясы OpenAI-мен үйлесімді API-ды қолдайды, ал ресми CometAPI Python пакеті COMETAPI_KEY және COMETAPI_BASE_URL мәндерін орта айнымалылары арқылы конфигурациялауды құжаттайды.

Стандартты endpoint:

https://api.cometapi.com/v1

Жарияламас бұрын, таңдалған модель ID-лерінің қолжетімді екенін және CrewAI жүктемеңіз талап ететін endpoint пен параметрлерді қолдайтынын растаңыз. Модель каталогтары мен баға өзгеруі мүмкін.


CrewAI мен тәуелділіктерді қалай орнатасыз?

Жаңа Python ортасын жасаңыз:

python -m venv .venv

Оны белсендіріңіз:

source .venv/bin/activate

Windows-та:

.venv\Scripts\Activate.ps1

Сосын тәуелділіктерді орнатыңыз:

pip install "crewai[openai]" openai python-dotenv

Төмендегі фолбэк іске асыру OpenAI SDK-сының ерекшелік кластарына тікелей импорт жасайтындықтан, openai пакетін бөлек көрсету қасақана.

Өндірісте тексерілген нұсқаларды бекітіп қойып, әрдайым «жаңасына» сеніп қалмаңыз.

Мысалы:

crewai==YOUR_TESTED_VERSIONopenai==YOUR_TESTED_VERSIONpython-dotenv==YOUR_TESTED_VERSION

CrewAI-дің LLM қабаты белсенді түрде дамуда, сондықтан конструктор мен провайдер конфигурациясының дәл түрі қолданбаңызда пайдаланатын CrewAI нұсқасына сай тексерілуі керек. Ағымдағы CrewAI құжаттамасы кастом base_url және API кілтімен LLM конфигурациясын қолдайды.


CometAPI API кілтін қалай баптайсыз?

.env файлын жасаңыз:

COMETAPI_KEY=your_cometapi_keyCOMETAPI_BASE_URL=https://api.cometapi.com/v1

Бұл мәндерді Python-да жүктеңіз:

import osfrom dotenv import load_dotenvload_dotenv()COMETAPI_KEY = os.environ["COMETAPI_KEY"]COMETAPI_BASE_URL = os.getenv(    "COMETAPI_BASE_URL",    "https://api.cometapi.com/v1",)

.env файлын ешқашан Git-ке жібермеңіз.

Оны .gitignore-ға қосыңыз:

.env.venv/__pycache__/

API кілті сервер жағындағы құпия дерек болып қалуы керек. CometAPI-дің ағымдағы жылдам бастау нұсқаулығы да кілтті бастапқы кодтың орнына орта айнымалыларында сақтауды ұсынады.


CrewAI-ді CometAPI-ге қалай қосасыз?

CrewAI-дегі LLM объектісі модель атауын, API кілтін және кастом base URL-ді қабылдай алады.

Көмекші жасаңыз:

from crewai import LLMdef cometapi_llm(model_id: str) -> LLM:    return LLM(        model=model_id,        base_url=COMETAPI_BASE_URL,        api_key=COMETAPI_KEY,        timeout=60.0,        max_retries=0,    )

Бұл бірдей конфигурацияны әр агентке бөлек енгізуден жақсы.

Енді әр агентке тек модель ID қажет:

research_llm = cometapi_llm("gemini-3.7-flash")analysis_llm = cometapi_llm("claude-opus-5")writing_llm = cometapi_llm("gpt-5.6")

Неліктен max_retries=0?

Себебі — фолбэк бақылауы.

Егер базалық LLM клиенті автоматты түрде қайта әрекет жасаса, ал қолданбаңыз да фолбэк іске асырса, бір ақау фолбэк логикасы орындалғанға дейін бірнеше жасырын сұранымға айналуы мүмкін.

Маршруттау айқын көрсетілген оқулық үшін қайта әрекет ету не модель ауыстыруды қолданбаның өзі шешкені таза.


Модель маршруттау саясатын қалай анықтайсыз?

Маршруттауды промпттарыңыздан тыс ұстаңыз:

PRIMARY_MODELS = {    "researcher": "gemini-3.7-flash",    "analyst": "claude-opus-5",    "writer": "gpt-5.6",}FALLBACK_MODELS = {    "researcher": "gpt-5.6",    "analyst": "gpt-5.6",    "writer": "gemini-3.7-flash",}

Бұл анық конфигурациялық шекара жасайды.

Кейін осы сәйкестікті төмендегілерге ауыстыра аласыз:

  • орта конфигурациясы
  • YAML
  • JSON
  • дерекқор
  • feature flag-тер
  • ішкі модель маршруттау қызметі

— агент промпттарын қайта жазбай-ақ.


Үш CrewAI агентін қалай құрамыз?

Әр агентке бір LLM объектісін жасаңыз.

from crewai import Agentdef build_agents(model_map: dict[str, str]):    researcher = Agent(        role="Market Researcher",        goal="Collect the facts needed to answer the topic",        backstory=(            "You create concise, source-aware research briefs "            "and clearly separate facts from assumptions."        ),        llm=cometapi_llm(model_map["researcher"]),        max_iter=3,        allow_delegation=False,    )    analyst = Agent(        role="Product Analyst",        goal="Turn research into a defensible recommendation",        backstory=(            "You identify evidence, assumptions, risks, "            "and trade-offs before making recommendations."        ),        llm=cometapi_llm(model_map["analyst"]),        max_iter=3,        allow_delegation=False,    )    writer = Agent(        role="Technical Writer",        goal="Produce a concise technical decision memo",        backstory=(            "You write clear technical explanations "            "without unnecessary marketing language."        ),        llm=cometapi_llm(model_map["writer"]),        max_iter=3,        allow_delegation=False,    )    return researcher, analyst, writer

Модель тағайындауы енді агент рөлінен толық тәуелсіз.

Маршруттауды іс жүзінде мүмкін ететін де — осы.


Агенттерді бірізді тапсырмалармен қалай байланыстырасыз?

Үш тапсырма жасаңыз:

from crewai import Taskdef build_tasks(researcher, analyst, writer):    research_task = Task(        description=(            "Research this topic: {topic}. "            "Return the key facts, uncertainties, "            "and relevant sources that the analyst should consider."        ),        expected_output=(            "A compact research brief containing facts, "            "uncertainties, and source references."        ),        agent=researcher,    )    analysis_task = Task(        description=(            "Using the research brief, analyze {topic}. "            "Identify the strongest conclusion and explain "            "the major trade-offs."        ),        expected_output=(            "A decision outline with evidence, "            "assumptions, risks, and trade-offs."        ),        agent=analyst,        context=[research_task],    )    writing_task = Task(        description=(            "Write a concise technical decision memo about {topic}. "            "State the recommendation early and preserve "            "important caveats."        ),        expected_output="A polished technical decision memo in Markdown.",        agent=writer,        context=[research_task, analysis_task],    )    return research_task, analysis_task, writing_task

Тәуелділік тізбегі:

Topic  ↓Research  ↓Analysis  ↓Final memo

Талдаушы зерттеу тапсырмасының шығысын алады, ал жазушыға зерттеу де, талдау да контекст ретінде беріледі.


Команданы (Crew) қалай құрамыз?

Агенттер мен тапсырмаларды біріктіріңіз:

from crewai import Crew, Processdef build_crew(model_map: dict[str, str]) -> Crew:    researcher, analyst, writer = build_agents(model_map)    research_task, analysis_task, writing_task = build_tasks(        researcher,        analyst,        writer,    )    return Crew(        agents=[researcher, analyst, writer],        tasks=[            research_task,            analysis_task,            writing_task,        ],        process=Process.sequential,        verbose=True,    )

Енді модель маршруттауы толықтай конфигурациямен басқарылады.

Мынаны өзгерту:

"researcher": "gemini-3.7-flash"

басқа қолдаулы модельге ауыстыру — зерттеу промптын немесе тапсырма сипаттамасын өзгертуді талап етпейді.


CrewAI модель фолбэгі қалай жұмыс істеуі керек?

Өндірістік бағытталған іске асыру осында көбірек ұқыптылық талап етеді.

Жиі кездесетін қате:

Any error   ↓Switch model

Бұл тым агрессивті.

Мысалы, мына қателер әдетте фолбэкке себеп болмауы тиіс:

400 Bad Request401 Unauthorized403 Forbidden404 Not Found422 Validation Error

Модель ауыстыру жарамсыз API кілтін немесе қате сұранымды түземейді.

Фолбэк уақытша ақауларға көбірек лайық:

408 Request Timeout429 Rate Limit500 Internal Server Error502 Bad Gateway503 Service Unavailable504 Gateway TimeoutConnection errorTimeout

Сондықтан фолбэк саясаты:

Тек шектелген, уақытша ақаулар үшін ғана қайта әрекет етіңіз не модель ауыстырыңыз және тек фолбэк моделі сол сұраным келісімін қолдағанда.


Қайта әрекет жасауға болатын қателерді қалай анықтайсыз?

OpenAI SDK-сының қате кластарыны пайдалануға болады:

from collections.abc import Iteratorfrom openai import (    APIConnectionError,    APIStatusError,    APITimeoutError,)def exception_chain(error: BaseException) -> Iterator[BaseException]:    current: BaseException | None = error    seen: set[int] = set()    while current is not None and id(current) not in seen:        seen.add(id(current))        yield current        current = (            current.__cause__            or current.__context__        )def should_fallback(error: BaseException) -> bool:    for current in exception_chain(error):        if isinstance(            current,            (APIConnectionError, APITimeoutError),        ):            return True        if isinstance(current, APIStatusError):            return (                current.status_code in {408, 429}                or current.status_code >= 500            )    return False

Бұл қасақана 408 және 429-дан бөлек 400-деңгейдегі конфигурация қателерін алып тастайды.


Толық команданы ма, әлде тек ақауға ұшыраған агентті ме қайта жүргізу керек?

Екі түрлі фолбэк стратегиясы бар.

Команда деңгейіндегі фолбэк

Ең қарапайым іске асыру:

Start crew   ↓failure   ↓change routing   ↓run crew again

Бұл түсінікті, бірақ аяқталған тапсырмаларды қайталауы мүмкін.

Мысалы:

Research → completedAnalysis → completedWriter → failed

Толық kickoff() қайталап іске қосу мынадай орындалуға әкелуі мүмкін:

Research → againAnalysis → againWriter → fallback

Бұл келесілерді арттырады:

  • токен пайдалануы
  • кешігу
  • API құны
  • ықтимал жанама әсерлер

Тапсырма деңгейіндегі қалпына келтіру

Өндірістік жұмыс ағыны аяқталған жұмысты чекпойнтқа сақтауы керек:

Research   ↓checkpoint   ↓Analysis   ↓checkpoint   ↓Writer fails   ↓retry writer with fallback

CrewAI қазір орындалу күйін сақтап, ақаудан кейін жұмысты жалғастыруға мүмкіндік беретін чекпойнтинг ұсынады. Құжатталған чекпойнт мінез-құлқы аяқталған тапсырмаларды аттап өтіп, сақталған күйден әрі қарай жалғастырады.

Бұл — қымбат немесе жанама әсерлері бар жұмыс ағындары үшін дұрысы.


CrewAI чекпойнтингін қалай қосасыз?

Өндірістік жұмыс ағындары үшін командада чекпойнтингті қосыңыз:

crew = Crew(    agents=[researcher, analyst, writer],    tasks=[        research_task,        analysis_task,        writing_task,    ],    process=Process.sequential,    checkpoint=True,    verbose=True,)

CrewAI-дің чекпойнтинг жүйесі тапсырма аяқталғаннан кейін орындалу күйін сақтап, команданы чекпойнттан қалпына келтіре алады.

Мысалы, қалпына келтірілген іске қосу мынадай түрде болуы мүмкін:

from crewai import CheckpointConfigresult = crew.kickoff(    from_checkpoint=CheckpointConfig(        restore_from="./.checkpoints/checkpoint.json",    ))

Чекпойнт конфигурациясының дәл түрі жобаңызда қолданатын CrewAI нұсқасына сай болуы керек.

Маңызды архитектуралық қағида:

Алдымен чекпойнт, содан кейін фолбэк.

Бұл уақытша модель ақауы аяқталған қымбат жұмысты қайта орындауға мәжбүрлемеуін қамтамасыз етеді.


Қарапайым шектелген фолбэкті қалай іске асырасыз?

Оқулық үшін сіз әлі де қарапайым команда деңгейіндегі фолбэкті көрсете аласыз.

def run_with_fallback(topic: str):    routes = [        PRIMARY_MODELS,        {            **PRIMARY_MODELS,            "writer": FALLBACK_MODELS["writer"],        },        {            **PRIMARY_MODELS,            "analyst": FALLBACK_MODELS["analyst"],            "writer": FALLBACK_MODELS["writer"],        },    ]    last_error = None    for attempt, model_map in enumerate(routes, start=1):        try:            crew = build_crew(model_map)            result = crew.kickoff(                inputs={"topic": topic}            )            return result, model_map        except Exception as error:            last_error = error            if not should_fallback(error):                raise            if attempt == len(routes):                raise            print(                f"Transient failure on attempt {attempt}. "                f"Trying bounded fallback route.",                flush=True,            )    raise RuntimeError(        "Crew execution failed after all fallback routes."    ) from last_error

Маңызды айырмашылыққа назар аударыңыз:

Бұл ақауға ұшыраған агент нақты анықталды деп мәлімдемейді.

Бұл — шектелген команда деңгейіндегі фолбэк стратегиясы.

Шағын, күйі сақталмайтын жұмыс ағындары үшін бұл қабылдауға болады. Қымбат зерттеулер, құралдар немесе жанама әсерлер бар өндірістік жұмыс ағындары үшін чекпойнтқа негізделген қалпына келтіруді пайдаланыңыз.


CrewAI токен пайдалануды қалай қадағалайсыз?

Пайдалануды қадағалау маршруттау қабатының бөлігі болуы керек, кейінгі ой емес.

Жүгіру соңында CrewAI нәтижесін қараңыз:

result, selected_models = run_with_fallback(topic)print("Selected models:")print(selected_models)print("Final result:")print(result.raw)print("Usage:")print(result.token_usage)

Қолда бар пайдалану өрістері CrewAI нұсқасы мен орындалу жолына тәуелді болуы мүмкін, сондықтан орналастыратын нұсқа үшін қайтарылған result объектісін шындық көзі ретінде қарастырыңыз.

Өндірістік пайдалану жазбасына идеалда мыналар кіруі керек:

job_idagentmodelinput_tokensoutput_tokenstotal_tokenslatency_msfallback_usedfallback_reasonstatuscreated_at

Бұл сұрақтарға жауап беруге мүмкіндік береді, мысалы:

Қай агент бюджеттің көбін жұмсап жатыр?

Талдаушы қаншалықты жиі фолбэк жасайды?

Қай модельдің кешігуі ең жоғары?

Әр жұмыс ағыны қанша тұрады?


Құнын агент деңгейінде қалай басқарасыз?

Көпмодельді маршруттау нақты жүктемелер айырмашылығын көрсеткенде ең пайдалы.

Мысалы:

Researcher→ high volume→ lower-cost modelAnalyst→ low volume→ stronger reasoning modelWriter→ medium volume→ general-purpose production model

Сондай-ақ құнын агент конфигурациясы арқылы шектеуге болады.

Мысалы:

max_iter=3

агент итерация циклына шектеу қояды. Бұны нақты үш API шақыру немесе үш токен бюджеті деп түсінуге болмайды.

Қосымша басқару тәсілдері:

  • тапсырма контекстін шектеу
  • аралық шығыстарды түйіндеу
  • қайталанатын зерттеуді кэштеу
  • кіріс өлшемінің ең жоғарғы шегін қою
  • қолдауы болғанда шығыс токендерінің ең жоғарғы шегін қою
  • құрал шақыруларын шектеу
  • пайдаланушыға байланысты бюджеттер орнату
  • жұмыс ағынына байланысты бюджеттер орнату
  • фолбэк жиілігін қадағалау

Жариялар алдында модельдерді қалай валидтейсіз?

Модель ID-лерін мәңгіге хардкодтамаңыз.

Модель мынадай болуы мүмкін:

  • қолжетімсіз
  • қайта аталған
  • тоздырылған (deprecated)
  • шектелген
  • қабілеті өзгерген
  • бағасы өзгерген
  • қолданбаңыз пайдаланатын параметрмен үйлеспейтін

CometAPI бағдарламалық түрде сұрауға болатын модель каталогы endpoint-ін ұсынады, ал оның жария модель анықтамалығы адамдарға арналған модельді табуға жарайды.

Жариялау тексерісі мынадай болуы мүмкін:

curl -s \  https://api.cometapi.com/api/models \  -H "Authorization: Bearer $COMETAPI_KEY"

Сосын конфигурацияланған модель ID-леріңіздің бар екенін жариялау алдында растаңыз.

Мысалы, CI процесіңіз тексере алады:

gemini-3.7-flash → availableclaude-opus-5    → availablegpt-5.6          → available

Қолжетімділік тексерісін қолданба тесттерінің орнына қолданбаңыз. Каталогта модельдің болуы — агентіңіз қолданатын әр параметр, құрал немесе шығыс форматы қолдау табады дегенді білдірмейді.


Толық CrewAI мысалы қандай көрінеді?

Міне, біріктірілген іске асыру:

import jsonimport osimport sysfrom collections.abc import Iteratorfrom dotenv import load_dotenvfrom openai import (    APIConnectionError,    APIStatusError,    APITimeoutError,)from crewai import Agent, Crew, LLM, Process, Taskload_dotenv()COMETAPI_KEY = os.environ["COMETAPI_KEY"]COMETAPI_BASE_URL = os.getenv(    "COMETAPI_BASE_URL",    "https://api.cometapi.com/v1",)PRIMARY_MODELS = {    "researcher": "gemini-3.7-flash",    "analyst": "claude-opus-5",    "writer": "gpt-5.6",}FALLBACK_MODELS = {    "researcher": "gpt-5.6",    "analyst": "gpt-5.6",    "writer": "gemini-3.7-flash",}def cometapi_llm(model_id: str) -> LLM:    return LLM(        model=model_id,        base_url=COMETAPI_BASE_URL,        api_key=COMETAPI_KEY,        timeout=60.0,        max_retries=0,    )def build_crew(model_map: dict[str, str]) -> Crew:    researcher = Agent(        role="Market Researcher",        goal="Collect the facts needed to answer the topic",        backstory=(            "You create concise, source-aware research briefs "            "and distinguish facts from assumptions."        ),        llm=cometapi_llm(model_map["researcher"]),        max_iter=3,        allow_delegation=False,    )    analyst = Agent(        role="Product Analyst",        goal="Turn research into a defensible recommendation",        backstory=(            "You evaluate evidence, assumptions, risks, "            "and trade-offs."        ),        llm=cometapi_llm(model_map["analyst"]),        max_iter=3,        allow_delegation=False,    )    writer = Agent(        role="Technical Writer",        goal="Produce a concise technical decision memo",        backstory=(            "You write clear technical explanations "            "without unnecessary hype."        ),        llm=cometapi_llm(model_map["writer"]),        max_iter=3,        allow_delegation=False,    )    research_task = Task(        description=(            "Research this topic: {topic}. "            "Return the key facts, uncertainties, "            "and relevant sources."        ),        expected_output=(            "A concise research brief with facts "            "and open questions."        ),        agent=researcher,    )    analysis_task = Task(        description=(            "Using the research brief, analyze {topic}. "            "Identify the strongest conclusion and "            "explain the major trade-offs."        ),        expected_output=(            "A decision outline with evidence, "            "assumptions, risks, and trade-offs."        ),        agent=analyst,        context=[research_task],    )    writing_task = Task(        description=(            "Write a concise technical decision memo "            "about {topic}. State the recommendation early "            "and preserve important caveats."        ),        expected_output=(            "A polished technical decision memo in Markdown."        ),        agent=writer,        context=[            research_task,            analysis_task,        ],    )    return Crew(        agents=[            researcher,            analyst,            writer,        ],        tasks=[            research_task,            analysis_task,            writing_task,        ],        process=Process.sequential,        verbose=True,    )def exception_chain(    error: BaseException,) -> Iterator[BaseException]:    current = error    seen: set[int] = set()    while current is not None and id(current) not in seen:        seen.add(id(current))        yield current        current = (            current.__cause__            or current.__context__        )def should_fallback(error: BaseException) -> bool:    for current in exception_chain(error):        if isinstance(            current,            (                APIConnectionError,                APITimeoutError,            ),        ):            return True        if isinstance(current, APIStatusError):            return (                current.status_code in {408, 429}                or current.status_code >= 500            )    return Falsedef run_with_fallback(topic: str):    routes = [        PRIMARY_MODELS,        {            **PRIMARY_MODELS,            "writer": FALLBACK_MODELS["writer"],        },        {            **PRIMARY_MODELS,            "analyst": FALLBACK_MODELS["analyst"],            "writer": FALLBACK_MODELS["writer"],        },    ]    last_error = None    for attempt, model_map in enumerate(        routes,        start=1,    ):        try:            crew = build_crew(model_map)            result = crew.kickoff(                inputs={                    "topic": topic,                }            )            return result, model_map        except Exception as error:            last_error = error            if not should_fallback(error):                raise            if attempt == len(routes):                raise            print(                f"Transient failure on attempt "                f"{attempt}; trying fallback.",                file=sys.stderr,            )    raise RuntimeError(        "No model route completed the crew."    ) from last_errordef main():    topic = (        sys.argv[1]        if len(sys.argv) > 1        else (            "Should a small SaaS add "            "AI-generated meeting summaries?"        )    )    result, selected_models = (        run_with_fallback(topic)    )    output = {        "selected_models": selected_models,        "raw": result.raw,        "tasks_output": [            task.raw            for task in result.tasks_output        ],        "token_usage": str(            result.token_usage        ),    }    print(        json.dumps(            output,            indent=2,            default=str,        )    )if __name__ == "__main__":    main()

Алдыңғы нұсқадан маңызды жетілдіру — енді код ерекшелік негізінде нақты қай агенттің ақауға ұшырағанын меңзебейді.

Бұл айқын шектелген команда деңгейіндегі фолбэк іске асыруы.

Өндірісте дәл осы маршруттау саясатын CrewAI чекпойнтингімен біріктіріңіз.


CrewAI жұмыс ағынын қалай іске қосасыз?

Файлды былай сақтаңыз:

crewai_multi_model.py

Сосын іске қосыңыз:

python crewai_multi_model.py \  "Should a small SaaS add AI-generated meeting summaries?"

Сәтті жауап шамамен мынандай ақпаратты қамтиды:

{  "selected_models": {    "researcher": "gemini-3.7-flash",    "analyst": "claude-opus-5",    "writer": "gpt-5.6"  },  "raw": "<final decision memo>",  "tasks_output": [    "<research output>",    "<analysis output>",    "<writing output>"  ],  "token_usage": "<usage information>"}

Дәл жауап пен пайдалану мәндері енгізуге, модель мінезіне, CrewAI нұсқасына және орындалу жолына тәуелді.

Егер қайта әрекет жасауға болатын қате фолбэк маршрутын белсендірсе, selected_models объектісі сол crew орындалуында қолданылған маршрутты көрсетеді.


Өндірістік модель маршруттауын қалай жобалайсыз?

Өндірістік маршруттау саясаты модель сапасынан да көп факторды ескеруі керек.

Пайдалы шешім функциясы:

Model Score =Quality+ Reliability+ Context Fit+ Tool Compatibility- Cost- Latency

Мұны бірнеше деңгейде іске асыруға болады.

Құнға негізделген маршруттау

Simple task → economical modelComplex task → premium model

Кешігуге негізделген маршруттау

Interactive request → fast modelBackground workflow → higher-quality model

Сенімділікке негізделген маршруттау

Primary model     ↓transient failure     ↓fallback model

Тапсырмаға негізделген маршруттау

Research → Model AAnalysis → Model BWriting → Model CCode → Model D

Соңғы тәсіл CrewAI үшін ерекше табиғи, себебі фреймворк әр агентке бастаптан бөлек рөл береді.


Фолбэкті қалай қауіпсіз етесіз?

Төзімді фолбэк жүйесі төрт ережені ұстануы тиіс.

Аутентификация қателерінде фолбэк жасамаңыз

Егер API кілті жарамсыз болса:

401

модель ауыстыру мәселені шешпейді.

Жарамсыз сұранымдарда фолбэк жасамаңыз

Егер сұраным жарамсыз болса:

400422

сұранымды түзетіңіз.

Шексіз фолбэк жасамаңыз

Қатаң шек қойыңыз:

MAX_FALLBACK_ATTEMPTS = 2

Шегі жоқ фолбэк жүйесі қымбат қайта әрекет ету цикліне айналуы мүмкін.

Фолбэк модельдері сұранымға үйлесімді болсын

Фолбэк моделі агентіңіз талап ететін мүмкіндіктерді қолдауы керек.

Мысалы, егер негізгі агентке нақты құрал немесе құрылымдалған шығыс мінезі қажет болса, фолбэк те сол келісімді қолдауы тиіс.

OpenAI-мен үйлесімді — мүмкіндіктері бірдей дегенді білдірмейді.


CrewAI + CometAPI ең жиі қателері қандай?

СимптомЫқтимал себепШешім
401 UnauthorizedAPI кілті жарамсыз не жоқCOMETAPI_KEY тексеріңіз; фолбэк жоқ
400 Bad RequestЖарамсыз сұраным параметрлеріСұранымды түзетіңіз
404 Model Not FoundЕскірген модель IDАғымдағы модель каталогын тексеріңіз
408 TimeoutУақытша таймаутШектеулі саясат шегінде қайта әрекет
429 Rate LimitedТым көп сұранымБаяулатыңыз және қайта көріңіз
500–504Уақытша сервер/шлюз ақауыШектелген фолбэк қолданыңыз
Агент қайта-қайта қайтарадыЖасырын SDK қайта әрекеттеріmax_retries-ті басқарыңыз
Аяқталған тапсырмалар қайта жүгіредіТолық команданы қайта іске қосуЧекпойнтке негізделген қалпына келтіру
Әртүрлі модель мінезі өзгешеМодель мүмкіндіктері әртүрліӘр модельді бөлек тесттеңіз
CrewAI конструкторы күтпеген қатеНұсқа сәйкессіздігіCrewAI нұсқасын бекітіп, тексеріңіз

CrewAI қателерін модель қателерінен қалай ажыратасыз?

Бұл дебагта маңызды.

Конфигурация қателері

Missing API keyInvalid model IDInvalid base URLUnsupported parameter

Мұндайлар тез сәтсіздікке ұшырауы керек.

Провайдер/API қателері

401403404429500503

Бұлар статусқа байланысты әртүрлі өңдеуді талап етеді.

Қолданба қателері

Agent output invalidTool returned malformed dataTask context missingSide effect failed

Бұлар модельді ауыстырумен міндетті түрде шешіле бермейді.

Пісіп-жетілген агент жүйесі сондықтан мыналар үшін бөлек өңдеуге ие болуы тиіс:

configuration      ↓API transport      ↓model execution      ↓agent logic      ↓tool execution      ↓application side effects

Бұл жай ғана:

except Exception:    use_fallback()

деген әмбебап тәсілден әлдеқайда қауіпсіз.


Сыртқы жанама әсерлерді қалай қорғайсыз?

Агенттер тек мәтін генерациясынан артық іс істей бастағанда фолбэк едәуір күрделене түседі.

Мысалы, агент:

  1. дерекқор жазбасын жасайды
  2. email жібереді
  3. сыртқы API шақырады
  4. CRM жаңартады

Егер модель сыртқы әрекет сәтті өткеннен кейін таймаут алса, бүкіл команданы қайта жүргізу әрекетті қайталауы мүмкін.

Қолданыңыз:

  • идемпотенттік кілттер
  • тапсырма чекпойнттары
  • транзакция шекаралары
  • орындалу ID-лері
  • тұрақты тапсырма күйі
  • жанама әсерді айқын растау

Мысалы:

job_id = crew_run_123task_id = writer_456

Осы идентификаторларды сыртқы операциялармен бірге сақтаңыз, сонда қайта әрекет кезінде операцияның орындалған-орындалмағанын анықтауға болады.


Көпмодельді CrewAI жұмыс ағындарын қалай мониторингтейсіз?

Кемінде мынадайларды логтаңыз:

workflow_idagentmodeltaskstart_timeend_timelatencystatusfallback_usedfallback_reasoninput_tokensoutput_tokenstotal_tokens

Логтамаңыз:

API keysprivate credentialsfull sensitive promptsprivate user dataunredacted model output

Әр модель үшін төмендегілерді қадағалаңыз:

Сенімділік

success ratetimeout rate5xx ratefallback rate

Өнімділік

p50 latencyp95 latencyp99 latency

Құн

input tokensoutput tokenscost per taskcost per completed workflow

Сапа

task success ratehuman evaluationstructured-output validitytool-call success

Осылайша модель маршруттауды хардкодталған талғамнан бақылауға болатын инженерлік жүйеге айналдырасыз.


Тікелей провайдер API-лары мен CometAPI арасынан қалай таңдайсыз?

Таңдау архитектураңызға байланысты.

АрхитектураКілттерМодель ауыстыруПровайдер интеграциясыОрталық маршруттау
Тікелей провайдер APIБірнешеТеңшелгенЖоғарыЖоқ
Бір провайдерБіреуШектеуліТөменШектеулі
CrewAI + CometAPIБір CometAPI кілтіМодель ID-менТөменірекИә

Қолданбаңызға бір-ақ провайдер және оның жергілікті мүмкіндіктері қажет болса, тікелей интеграция толық орынды.

CrewAI қолданбаңызға бірнеше провайдерден модельдер қажет болып, бір қолжетімділік қабатын қаласаңыз, CometAPI тартымдырақ болады.

Маңыздысы — CometAPI CrewAI-ді алмастырмайды.

Керісінше:

CrewAIAgent orchestration       ↓CometAPIModel access       ↓Multiple models

Әр қабаттың жауапкершілігі бөлек.


Бұл архитектура қалай масштабталады?

Маршруттау саясаты агент анықтамаларынан бөлінгеннен кейін жаңа модель қосу бүкіл қолданбаны қайта құруды талап етпейді.

Мысалы:

PRIMARY_MODELS = {    "researcher": "gemini-3.7-flash",    "analyst": "claude-opus-5",    "writer": "gpt-5.6",    "coder": "YOUR_CODE_MODEL",}

Сол архитектура төмендегілерді де қолдай алады:

Research agentAnalysis agentCoding agentReview agentWriting agentFact-checking agent

Әр агент CometAPI-дің ортақ қолжетімділік қабатын пайдалана отырып, әртүрлі модельге ие бола алады.

Келесі қадам — маршруттауды динамикалық ету.

Мынадайдың орнына:

"analyst": "claude-opus-5"

бір күні мынаны қолдануыңыз мүмкін:

select_model(    task="analysis",    budget=budget,    latency_target=latency_target,)

Сонда маршруттау жүйесі қолданба талаптарына сүйене отырып, мақұлданған модельдерден таңдай алады.


CrewAI + CometAPI үшін ең жақсы өндірістік архитектура қандай?

Шағын жұмыс ағыны үшін:

User Input   ↓CrewAI   ↓CometAPI   ↓Models

Өндіріс үшін:

                     ┌───────────────┐                     │ Model Catalog │                     └───────┬───────┘                             │                             ▼User → CrewAI → Routing Policy → CometAPI           │          │             │           │          │             ├── Gemini           │          │             ├── Claude           │          │             └── GPT           │          │           │          ▼           │     Cost / Quality /           │     Latency / Policy           │           ▼      Checkpoints           │           ▼      Usage Tracking

Негізгі өндірістік құрамдас бөліктер:

  1. Модель allowlist
  2. Әр агентке арналған маршруттау
  3. Шектелген қайта әрекеттер
  4. Тапсырма чекпойнтингі
  5. Пайдалануды қадағалау
  6. Құнды бақылау
  7. Модель үйлесімділігін тестілеу
  8. Бақыламдылық (observability)
  9. Идемпотенттік жанама әсерлер

Бұл архитектура crew.kickoff() айналасына жай ғана try/except қосудан әлдеқайда төзімді.


Бір CometAPI кілті, әртүрлі модельдер, айқынырақ агент рөлдері

CrewAI мен CometAPI-ді бірге ойлаудың ең пайдалы жолы — екі толықтыратын қабат ретінде қарастыру.

CrewAI агенттердің не істейтінін анықтайды.

CometAPI агенттер модельдерге қалай қол жеткізетінін анықтайды.

Бұл бөлініс жоғары көлемді зерттеу агентіне жылдам модельді, талдау агентіне күштірек пайымдау моделін, ал соңғы жазушыға жалпы мақсаттағы модельді тағайындауға мүмкіндік береді — жұмыс ағыны ішінде бөлек провайдер интеграцияларын ұстамай-ақ.

Ең қарапайым іске асыру бір CometAPI кілті мен бір OpenAI-мен үйлесімді base URL қолданады:

https://api.cometapi.com/v1

Өндіріс үшін архитектураны бір қадам алға жылжытыңыз: модель маршруттауды конфигурацияда ұстаңыз, модель қолжетімділігін жарияламас бұрын валидтеңіз, тек уақытша ақаулар үшін ғана шектелген фолбэк қолданыңыз, аяқталған тапсырмаларды чекпойнтқа сақтаңыз және әр жүгіріс үшін модель мен пайдалану метадеректерін жазыңыз.

Бұл CrewAI-ді бір LLM-ге жай ғана қосқаннан әлдеқайда берік үлгі береді:

Агенттерді CrewAI оркестрациялайды. Модель қолжетімділігін CometAPI орталықтандырады. Маршруттауды модель ID-лері басқарады. Чекпойнттар аяқталған жұмысты қорғайды. Пайдалануды қадағалау құнын бақылайды.


Жиі қойылатын сұрақтар

CrewAI бір команданың ішінде бірнеше AI моделін қолдана ала ма?

Иә. Әр CrewAI агентіне бөлек LLM конфигурациясын тағайындаңыз. Әр конфигурация бірдей CometAPI API кілті мен base URL-ді қолдана отырып, өз моделін көрсете алады.

CrewAI OpenAI-мен үйлесімді API-ға қосыла ала ма?

Иә. CrewAI-дің LLM конфигурациясы OpenAI-мен үйлесімді endpoint-тер үшін кастом base_url мен API кілтін қолдайды.

CometAPI-пен base URL:

https://api.cometapi.com/v1

GPT, Claude және Gemini үшін бөлек API кілттері қажет пе?

Бұл модельдерге CometAPI арқылы қол жеткізгенде, қолданба әр CrewAI агентіне бөлек провайдер кілттерін енгізудің орнына CometAPI кілті мен endpoint-ін пайдалана алады.

Бір API кілті модель қабілеттері бірдей дегенді білдіре ме?

Жоқ. API интерфейсі біріктірілуі мүмкін, бірақ модель қабілеттері әртүрлі болып қала береді. Контекст терезелері, құрал қолдауы, параметрлер, шығыс мінезі, кешігу және баға модельге қарай өзгереді.

Бір модель істен шыққанда бүкіл CrewAI жұмыс ағынын қайта жүргізу керек пе?

Тек қарапайым, күйі сақталмайтын жұмыс ағындары үшін. Толық команданы қайта іске қосу аяқталған тапсырмаларды қайталай алады және құнын арттырады. Өндірісте аяқталған тапсырмаларды чекпойнтқа сақтап, мүмкін болса, ақауға ұшыраған жерден жалғастырыңыз.

CrewAI-дің ағымдағы чекпойнтинг функционалдығы орындалу күйін сақтап, ақаулардан кейін жалғастыруға арналған.

Әр CrewAI ерекшелігі фолбэкке триггер болуы керек пе?

Жоқ. Аутентификация, қате сұранымдар, жарамсыз модель ID-лері және қолдауы жоқ параметрлер әдетте модельді ауыстырудан гөрі конфигурацияны түзетуді талап етеді.

Фолбэк таймауттар, rate limit және уақытша 5xx жауаптары сияқты шектелген уақытша ақауларға сақталғаны дұрыс.

Әр CrewAI агентінің құнын қалай қадағалаймын?

Әр тапсырма үшін агент атауын, модель ID-сін, токен пайдалануын, кешігуін, орындалу күйін және фолбэк ақпаратын жазыңыз. Осы деректер арқылы агент пен жұмыс ағыны құнын есептеңіз.

Агентке тағайындалған модельді динамикалық өзгерте аламын ба?

Иә. Модель ID-лерін агент анықтамаларының ішінде емес, маршруттау конфигурациясында сақтаңыз. Қолданбаңыз құн, кешігу, тапсырма түрі немесе қолжетімділік негізінде модельдерді таңдай алады.

CometAPI CrewAI-дің орнын баса ма?

Жоқ. Олар әртүрлі қабаттарда жұмыс істейді. CrewAI агенттер мен тапсырмаларды оркестрациялайды, ал CometAPI біріктірілген модель қолжетімділік қабатын береді.

Ағымдағы CometAPI модельдерін қайдан табамын?

CometAPI модель анықтамалығын адамға арналған модель іздеу үшін және үрдістік валидацияға арналған модель API-ін пайдаланыңыз. CometAPI-дің ағымдағы жылдам бастау беті мәтін, сурет, видео және аудио санаттарында 500+ модельді тізімдейді.


Дереккөздер

Оқуды жалғастыру

Осы мақаланы келесі шешіммен байланыстырыңыз.

Барлық тақырыптарды көру
Жарияланды Aug 25, 2026
Соңғы жаңарту Sep 4, 2026
10 көрілім
Түсініктілік, дереккөзге сілтеме және ағымдағы API терминологиясы бойынша тексерілді.

Толығырақ оқу