IBM Watsonx.ai
IBM Watsonx.ai
AgentOps로 IBM Watsonx.ai API 호출을 추적하고 분석하는 방법을 소개해요. 설치, API 키 설정, 그리고 기본 사용법 예제까지 알아볼게요.
출처: 문서
본문
AgentOps는 IBM Watsonx.ai Python SDK와 원활하게 통합되어, 모든 Watsonx.ai 모델 상호작용을 자동으로 추적하고 분석할 수 있게 해줍니다.
설치 (Installation)
poetry add agentops ibm-watsonx-ai
uv pip install agentops ibm-watsonx-ai
API 키 설정 (Setting Up API Keys)
IBM Watsonx.ai를 AgentOps와 함께 사용하기 전에 API 키를 설정해야 해요. 다음을 얻을 수 있습니다.
- IBM_WATSONX_API_KEY: IBM Cloud 계정에서
- IBM_WATSONX_URL: Watsonx.ai 인스턴스의 URL로, 보통 IBM Cloud 대시보드에서 찾을 수 있어요.
- IBM_WATSONX_PROJECT_ID: Watsonx.ai 프로젝트의 프로젝트 ID로, Watsonx.ai 콘솔에서 찾을 수 있어요.
- AGENTOPS_API_KEY: AgentOps Dashboard에서
그런 다음 환경 변수로 내보내거나 .env 파일에 설정할 수 있어요.
IBM_WATSONX_API_KEY="your_ibm_api_key_here"
IBM_WATSONX_URL="your_ibm_url_here"
IBM_WATSONX_PROJECT_ID="your_project_id_here"
AGENTOPS_API_KEY="your_agentops_api_key_here"
그리고 Python 코드에서 환경 변수를 로드합니다.
from dotenv import load_dotenv
import os
# Load environment variables from .env file
load_dotenv()
# Set up environment variables with fallback values
os.environ["IBM_WATSONX_API_KEY"] = os.getenv("IBM_WATSONX_API_KEY")
os.environ["IBM_WATSONX_URL"] = os.getenv("IBM_WATSONX_URL")
os.environ["IBM_WATSONX_PROJECT_ID"] = os.getenv("IBM_WATSONX_PROJECT_ID")
os.environ["AGENTOPS_API_KEY"] = os.getenv("AGENTOPS_API_KEY")
사용법 (Usage)
애플리케이션 시작 시 AgentOps를 초기화하면 모든 IBM Watsonx.ai API 호출이 자동으로 추적됩니다.
import agentops
from ibm_watsonx_ai import Credentials
from ibm_watsonx_ai.foundation_models import ModelInference
# Initialize AgentOps
agentops.init(api_key="")
# Initialize credentials
credentials = Credentials(
url=os.getenv("IBM_WATSONX_URL"),
api_key=os.getenv("IBM_WATSONX_API_KEY"),
)
# Project ID
project_id = os.getenv("IBM_WATSONX_PROJECT_ID")
# Create a model instance
model = ModelInference(
model_id="meta-llama/llama-3-3-70b-instruct",
credentials=credentials,
project_id=project_id
)
# Make a completion request
response = model.generate_text("What is artificial intelligence?")
print(f"Generated Text:\n{response}")
# Don't forget to close connection when done
model.close_persistent_connection()