TokenLab

프레임워크 및 플랫폼

AutoGen

OpenAI 호환 클라이언트를 통해 Microsoft AutoGen에서 TokenLab 모델 사용하기

개요

AutoGen은 다른 커스텀 Chat Completions 엔드포인트와 동일한 OpenAI 호환 클라이언트 경로인 OpenAIChatCompletionClient를 통해 TokenLab을 사용할 수 있습니다.

설치

pip install -U autogen-agentchat "autogen-ext[openai]" pyyaml

환경 설정

export TOKENLAB_API_KEY="sk-your-tokenlab-key"

YAML 모델 설정

TokenLab의 /v1 엔드포인트를 base_url로 사용합니다:

다음 구성을 tokenlab-model.yaml로 저장하세요:

provider: autogen_ext.models.openai.OpenAIChatCompletionClient
config:
  model: claude-sonnet-5
  base_url: https://api.tokenlab.sh/v1
  model_info:
    function_calling: true
    json_output: true
    structured_output: false
    vision: false
    family: claude

YAML을 로드한 뒤 환경 변수에서 API 키를 읽어 설정하세요. YAML은 환경 변수를 자동으로 확장하지 않습니다:

import os
import yaml

from autogen_agentchat.agents import AssistantAgent
from autogen_core.models import ChatCompletionClient

with open("tokenlab-model.yaml", encoding="utf-8") as config_file:
    config = yaml.safe_load(config_file)

config["config"]["api_key"] = os.environ["TOKENLAB_API_KEY"]
model_client = ChatCompletionClient.load_component(config)
agent = AssistantAgent("assistant", model_client=model_client)

Python 클라이언트

import os

from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient

model_client = OpenAIChatCompletionClient(
    model="claude-sonnet-5",
    base_url="https://api.tokenlab.sh/v1",
    api_key=os.environ["TOKENLAB_API_KEY"],
    model_info={
        "function_calling": True,
        "json_output": True,
        "structured_output": False,
        "vision": False,
        "family": "claude",
    },
)

agent = AssistantAgent("assistant", model_client=model_client)

첫 요청 보내기

import asyncio

async def main():
    try:
        result = await agent.run(task="Reply with: Connected to TokenLab.")
        print(result.messages[-1].content)
    finally:
        await model_client.close()

asyncio.run(main())

엔드포인트 참고 사항

AutoGen의 OpenAI 확장 기능은 OpenAI 호환 요청 형식을 기대합니다. Anthropic Messages나 Gemini generateContent와 같은 공급자 고유 기능을 사용하려면, 해당 프로토콜을 직접 지원하는 클라이언트에서 TokenLab의 네이티브 엔드포인트를 사용하십시오.

이 페이지의 내용