google-cloud-aiplatform 패키지에는 Python용 AI Platform SDK와 Gemini Enterprise Agent Platform Python 클라이언트 라이브러리가 모두 포함되어 있습니다. 이 페이지에서는 google-cloud-aiplatform 패키지의 다음 변경사항 카테고리를 다룹니다.
생성형 AI 모듈이 Google 생성형 AI SDK로 이동:
vertexai패키지의 다음 생성형 AI 모듈이 지원 중단되고 Google 생성형 AI SDK (google-genai)로 이전됩니다.vertexai.generative_modelsvertexai.language_modelsvertexai.vision_modelsvertexai.cachingvertexai.tuning
지원 중단된 모듈을 Google 생성형 AI SDK로 이전하는 방법을 알아보려면 생성형 AI 모듈을 Google 생성형 AI SDK로 이동하기를 참고하세요.
에이전트 표면 재구성:
google-cloud-aiplatform의agentplatform모듈이 다음과 같이 변경되었습니다.- 이름 바꾸기
- 최상위 수준으로 승격
- 전역 초기화 프로그램 삭제
새 SDK 구조로 이전하는 방법을 알아보려면 Agent Platform SDK 재구성을 참고하세요.
agentplatform분리: 이제google-cloud-agentplatform는 독립형 경량 배포이며 에이전트 워크로드에 권장되는 설치입니다. 에이전트만 빌드하는 경우 생성형 AI 모듈이 포함되지 않은google-cloud-agentplatform를 설치합니다.agentplatform모듈은[adk],[a2a],[agent_engines],[langchain],[ag2],[llama_index],[evaluation],[bigquery],[live],[all]과 같은 일반적인 통합을 다룹니다.
영향을 받지 않는 항목
클래식 머신러닝 서페이스 (데이터 세트, 학습, 모델, 예측, 추적, 파이프라인)는 완전히 지원되며 버전 2.0.1 변경사항의 영향을 받지 않고 Google 생성형 AI SDK에 상응하는 항목이 없습니다. google-cloud-aiplatform를 설치하면 평가, Agent Runtime, 프롬프트, 스킬에 계속 액세스할 수 있습니다. google-cloud-aiplatform와 google-genai이 하나의 환경에 공존하며 이제 google-genai은 google-cloud-aiplatform의 하드 종속 항목입니다.
import agentplatform
client = agentplatform.Client(project="my-project", location="global")
# client.evals client.prompts
# client.prompt_optimizer client.datasets client.skills
vertexai.batch_prediction는 지원 중단되지 않았지만 Google 생성형 AI SDK에 상응하는 항목이 있으며 권장되는 도구입니다.
생성형 AI 모듈을 Google 생성형 AI SDK로 이동
google-cloud-aiplatform 패키지에서 생성형 AI 모듈을 사용하는 경우 다음 권장사항에 따라 Google 생성형 AI SDK (google-genai)로 이전하세요.
관련 없는 종속 항목 업데이트로 인해 내 아래 모듈이 삭제되지 않도록
google-cloud-aiplatform < 2.0.0설정코드에서 지원 중단된 모듈을 검색합니다.
vertexai.generative_modelsvertexai.language_modelsvertexai.vision_modelsvertexai.cachingvertexai.tuning
영향을 받는 Python 모듈을 가져오면 다음과 같은 지원 중단 경고가 표시됩니다.
UserWarning: This feature is deprecated as of June 24, 2025 and will be removed on June 24, 2026. For details, see https://cloud.google.com/vertex-ai/generative-ai/docs/deprecations/genai-vertexai-sdk.-W error::UserWarning로 테스트 모음을 실행하여 누락된 가져오기를 포착합니다.vertexai.init(...)을 명시적genai.Client(enterprise=True, project=..., location=...)으로 바꿉니다. 기본 머신러닝 표면도 사용하는 경우vertexai.init()를 유지합니다.이전
# pip install google-cloud-aiplatform import vertexai from vertexai.generative_models import GenerativeModel vertexai.init(project="my-project", location="us-central1") # Model identity and config are bound at construction time. model = GenerativeModel("gemini-2.5-flash")이후
# pip install google-genai from google import genai from google.genai import types client = genai.Client( enterprise=True, project="my-project", location="global", )또는 환경에서 구성합니다.
export GOOGLE_GENAI_USE_ENTERPRISE=true export GOOGLE_CLOUD_PROJECT=my-project export GOOGLE_CLOUD_LOCATION=globalfrom google import genai client = genai.Client()주요 고려사항:
- 전역 상태가 명시적 클라이언트가 됩니다.
vertexai.init()는 전체 프로세스를 구성하고genai.Client()는 전달하는 객체입니다.genai.Client()를 사용하면 하나의 프로세스에서 두 개의 프로젝트 또는 리전을 사용할 수 있습니다. enterprise=True필드는 필수 항목입니다. 이를 생략하면 클라이언트가 자동으로 Gemini Developer API를 타겟팅하며, 이 경우 애플리케이션 기본 사용자 인증 정보가 실패하거나 API 키가 필요합니다.- 모델 이름이 생성에서 모든 호출로 이동합니다. 바인드 한 번 모델 객체가 없습니다.
model=는 각client.models.*호출에서 필수 키워드 인수입니다. - 인증이 변경되지 않았습니다. 애플리케이션 기본 사용자 인증 정보는 계속 적용되며
credentials=는 두 SDK에서 모두google.auth.credentials.Credentials를 허용합니다. vertexai.init()는staging_bucket,experiment,encryption_spec_key_name,service_account,network과 같은 생성되지 않은 설정도 전달했습니다.genai.Client에 상응하는 요소가 없습니다.- 최신
enterprise=True맞춤법은google-genai2.20.0부터 허용되지만 이전 버전인vertexai=True는 모든 출시에서 작동하며 더 안전한 선택입니다.
- 전역 상태가 명시적 클라이언트가 됩니다.
오류 없이 동작이 달라지는 무음 변경사항이 있는지 코드를 감사합니다. 이러한 코드는 컴파일되고 실행되지만 의미가 변경됩니다.
동작 이전 이후 차단되거나 비어 있는 대답에 대한 response.textValueError발생None반환response.text명의 후보가 있는 경우ValueError발생경고를 기록하고 첫 번째 후보를 반환합니다. 클라이언트 타겟팅 vertexai.init()암시적 Agent Platformvertexai=True를 생략하면 Gemini Developer API가 자동으로 타겟팅됩니다.임베딩 auto_truncate기본값은 True입니다.설정되지 않음, 서버 기본값이 적용됨 도구로 전달된 Python 함수 지원되지 않음 SDK에 의해 자동으로 실행됨 system_instruction모델에서 한 번 바인딩됨 모든 호출에서 전달해야 합니다. response.text변경사항을 먼저 검색해야 합니다..text로 래핑된 모든try/except ValueError가 데드 코드가 되고, 보호되지 않은 모든.text는 이제 이전에str가 반환된 위치에서None를 생성할 수 있습니다.if response.text is None: print( "blocked or empty:", response.prompt_feedback, response.candidates[0].finish_reason if response.candidates else None, )평가, Agent Runtime, 프롬프트, 데이터 세트, 스킬, 전체 기존 머신러닝 표시 경로를 사용하는 경우
google-cloud-aiplatform를 설치된 상태로 유지하세요.새 버전으로 호출을 변경합니다. 기계적 이름 변경부터 시작한 다음
config=통합을 계속합니다.
작업 기반 통화 변경사항
작업에 따라 변경된 호출을 확인합니다.
텍스트 생성
텍스트 생성 작업의 경우 모든 인수는 키워드 전용입니다. 위치 호출은 TypeError를 발생시킵니다.
이전
model = GenerativeModel("gemini-2.5-flash")
response = model.generate_content("Why is the sky blue?")
print(response.text)
이후
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Why is the sky blue?",
)
print(response.text)
스트리밍 생성
스트리밍 생성 작업의 경우 stream=True 플래그가 삭제됩니다. 이제 스트리밍은 Iterator[types.GenerateContentResponse]를 반환하는 별도의 메서드입니다. 각 청크는 전체 응답 객체이고 .text 속성이 None일 수 있으므로 텍스트에 액세스하기 전에 if chunk.text:를 사용하여 확인하세요.
이전
stream = model.generate_content("Tell me a story in 300 words.", stream=True)
for chunk in stream:
print(chunk.text, end="")
이후
for chunk in client.models.generate_content_stream(
model="gemini-3.5-flash",
contents="Tell me a story in 300 words.",
):
if chunk.text:
print(chunk.text, end="")
비동기 생성
비동기 생성 작업의 경우 _async 메서드 이름 접미사가 삭제되었습니다. 모든 비동기 호출은 동기 대응 항목과 동일한 메서드 이름으로 client.aio.<module> 아래에 있습니다. await client.aio.aclose()로 클라이언트를 닫거나 async with genai.Client(...).aio as aclient:를 사용합니다.
이전
response = await model.generate_content_async("Why is the sky blue?")
async_stream = await model.generate_content_async("Why is the sky blue?", stream=True)
async for chunk in async_stream:
print(chunk.text, end="")
이후
response = await client.aio.models.generate_content(
model="gemini-3.5-flash",
contents="Why is the sky blue?",
)
# Note the `await` in front of the async iterator.
async for chunk in await client.aio.models.generate_content_stream(
model="gemini-3.5-flash",
contents="Tell me a story in 300 words.",
):
print(chunk.text, end="")
채팅 세션
채팅 세션 작업의 변경사항은 다음과 같습니다.
- 채팅은 모델 객체가 아닌 클라이언트에서 생성됩니다.
chat.history(속성)이chat.get_history()(메서드)가 됩니다. 새 메서드는curated: bool = False를 사용합니다.True를 전달하면 보관된 턴만 반환되며, 이는 이전 버전에 상응하는 항목이 없습니다.client.aio.chats.create(...)은AsyncChat를 직접 반환합니다.send_message및send_message_stream만 대기합니다.- 턴별 옵션이 하나의 인수로 축소됩니다(
send_message(message, config=types.GenerateContentConfig(...))). 첫 번째 매개변수의 이름도content에서message로 변경되었습니다. start_chat(response_validation=False)은 이전 버전에 상응하는 항목이 없는 새로운 메서드입니다.
이전
model = GenerativeModel("gemini-2.5-flash")
chat = model.start_chat()
print(chat.send_message("Tell me a story").text)
for content in chat.history:
print(content.role, content.parts)
이후
chat = client.chats.create(model="gemini-3.5-flash")
print(chat.send_message("Tell me a story").text)
for content in chat.get_history():
print(content.role, content.parts)
구성, 안전 설정, 시스템 안내
구성, 안전 설정, 시스템 안내 작업의 변경사항은 다음과 같습니다.
다음 인수는
GenerateContentConfig의 필드로 하나의config=로 축소됩니다.generation_configsafety_settingstoolstool_configlabelssystem_instruction
일반
dict는 구성 유형이 작동하는 모든 곳에서 작동합니다.system_instruction이 모델 생성자에서 호출별 구성으로 이동합니다. 이전 SDK 버전에서는GenerativeModel을 빌드할 때system_instruction가 한 번 설정되었습니다. 이제 모든 호출에서system_instruction를 전달하거나client.chats.create(config=...)에 포함해야 합니다.안전 설정이
dict에서list로 변경됩니다. 예를 들면[types.SafetySetting(category=c, threshold=t) for c, t in old_dict.items()]입니다.열거형은 일반 문자열로 허용되고 강제 변환됩니다.
스칼라 필드 이름은 변경되지 않습니다.
temperature,top_p,top_k,candidate_count,max_output_tokens,stop_sequences,presence_penalty,frequency_penalty,seed,response_mime_type,response_schema,response_logprobs,logprobs이전과 동일한 항목이 없는 새 필드에는
thinking_config,cached_content,automatic_function_calling,http_options,media_resolution,speech_config이 포함됩니다.
이전
from vertexai.generative_models import (
GenerativeModel, GenerationConfig, HarmCategory, HarmBlockThreshold,
)
model = GenerativeModel(
"gemini-2.5-flash",
system_instruction=["Talk like a pirate.", "Don't use rude words."],
)
response = model.generate_content(
contents="Why is the sky blue?",
generation_config=GenerationConfig(temperature=0, top_p=0.95, max_output_tokens=100),
safety_settings={
HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_ONLY_HIGH,
},
)
이후
from google.genai import types
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Why is the sky blue?",
config=types.GenerateContentConfig(
system_instruction="Talk like a pirate. Don't use rude words.",
temperature=0,
top_p=0.95,
max_output_tokens=100,
safety_settings=[
types.SafetySetting(
category="HARM_CATEGORY_HATE_SPEECH",
threshold="BLOCK_MEDIUM_AND_ABOVE",
),
types.SafetySetting(
category=types.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
threshold=types.HarmBlockThreshold.BLOCK_ONLY_HIGH,
),
],
),
)
멀티모달 입력하기
멀티모달 입력 작업의 변경사항은 다음과 같습니다.
| 이전 오퍼 | 신규 |
|---|---|
Part.from_uri(uri, mime_type), 위치 지정 허용됨 |
Part.from_uri(file_uri=, mime_type=), 키워드 전용, 매개변수 이름 변경 |
Part.from_data(data, mime_type) |
Part.from_bytes(data=, mime_type=), 메서드 이름 변경 |
Part.from_text(text) |
Part.from_text(text=), 키워드 전용 |
Image.load_from_file(path) |
해당하는 항목이 없습니다. 파일을 열고 Part.from_bytes를 사용하세요. |
mime_type은types.Part.from_uri()(서버 측에서 추론)에서 선택사항이지만types.Part.from_bytes()에서는 필수입니다.client.files.upload(...)는 Gemini Developer API에서만 지원됩니다. Agent Platform 워크로드의 경우from_uri를 사용하여 Cloud Storage URI를 전달하거나from_bytes를 사용하여 인라인 바이트를 전달합니다.
이전
from vertexai.generative_models import GenerativeModel, Part, Image
image = Image.load_from_file("image.jpg")
print(model.generate_content(["What is shown in this image?", image]).text)
image_part = Part.from_uri(
"gs://cloud-samples-data/generative-ai/image/scones.jpg",
mime_type="image/jpeg",
)
이후
from google.genai import types
# Image.load_from_file has no equivalent: read the bytes yourself.
with open("image.jpg", "rb") as f:
image = types.Part.from_bytes(data=f.read(), mime_type="image/jpeg")
response = client.models.generate_content(
model="gemini-3.5-flash",
contents=["What is shown in this image?", image],
)
image_part = types.Part.from_uri(
file_uri="gs://cloud-samples-data/generative-ai/image/scones.jpg",
mime_type="image/jpeg",
)
함수 호출 및 그라운딩
함수 호출 및 그라운딩 작업의 변경사항은 다음과 같습니다.
- 도구가
config=로 이동합니다. 호출 또는 모델 객체에tools=인수가 없습니다. Tool.from_google_search_retrieval(grounding.GoogleSearchRetrieval())이types.Tool(google_search=types.GoogleSearch())이 됩니다. 팩토리 메서드가 일반 필드가 됩니다.types.Tool에는 별도의google_search_retrieval필드도 있습니다.response.function_calls는 관용적인 접근자이며 0번 부분이 텍스트인 경우에도 실패하지 않습니다. 이전 순회는 여전히 작동합니다.- 원시 JSON 스키마는
parameters_json_schema에 지정됩니다. 입력된types.Schema은parameters에 지정됩니다. - 이제 Python 함수를 도구로 전달할 수 있으며, 함수를 전달하면 자동 함수 호출이 기본적으로 사용 설정됩니다. 수동 도구 루프를 포팅하고 함수 객체를 전달하면 SDK가 코드를 실행하기 시작합니다.
automatic_function_calling=types.AutomaticFunctionCallingConfig(disable=True)를 사용하여 기본 자동 함수 호출을 사용 중지합니다. 다음 새 도구 유형은 이전 버전에 상응하는 도구가 없습니다.
code_execution,url_context,google_maps,computer_use,file_search,enterprise_web_search,mcp_servers
이전
from vertexai.generative_models import GenerativeModel, FunctionDeclaration, Tool, grounding
weather_tool = Tool(function_declarations=[
FunctionDeclaration(
name="get_current_weather",
description="Get the current weather in a given location",
parameters={
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"],
},
)
])
model = GenerativeModel("gemini-2.5-flash", tools=[weather_tool])
response = model.generate_content("What is the weather in Boston?")
call = response.candidates[0].content.parts[0].function_call
# Grounding
search_tool = Tool.from_google_search_retrieval(grounding.GoogleSearchRetrieval())
이후
from google.genai import types
weather_tool = types.Tool(function_declarations=[
types.FunctionDeclaration(
name="get_current_weather",
description="Get the current weather in a given location",
parameters_json_schema={
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"],
},
)
])
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="What is the weather in Boston?",
config=types.GenerateContentConfig(tools=[weather_tool]),
)
call = response.function_calls[0]
# Grounding
search_tool = types.Tool(google_search=types.GoogleSearch())
임베딩
작업을 삽입할 때 다음 변경사항에 유의하세요.
TextEmbeddingInput가 삭제되었습니다. 이제task_type및title이 요청별로 적용되므로 혼합 작업 일괄 처리를 여러 호출로 분할해야 합니다.- 반환 유형이 직접 목록에서 응답 객체로 변경되었습니다.
get_embeddings()는list[TextEmbedding]를 직접 반환하므로 호출자는 목록을 직접 색인화했습니다 (embeddings[0].values). 새 버전에서는embed_content()가.embeddings목록이 포함된EmbedContentResponse객체를 반환하므로response.embeddings[0].values에 액세스해야 합니다. 개별 삽입 필드 (.values및.statistics)는 원래 이름을 유지합니다. auto_truncate가 더 이상True로 기본 설정되지 않습니다. 새 필드는 기본적으로unset로 설정됩니다. 너무 긴 입력의 자동 잘림에 의존하는 경우auto_truncate를 명시적으로 설정하세요.
이전
from vertexai.language_models import TextEmbeddingModel, TextEmbeddingInput
model = TextEmbeddingModel.from_pretrained("gemini-embedding-001")
text_input = TextEmbeddingInput(
text="How do I get a driver's license?",
task_type="RETRIEVAL_DOCUMENT", # per input
title="Driver's License", # per input
)
embeddings = model.get_embeddings([text_input], output_dimensionality=3072, auto_truncate=True)
print(embeddings[0].values)
이후
from google.genai import types
response = client.models.embed_content(
model="gemini-embedding-2",
contents="How do I get a driver's license?",
config=types.EmbedContentConfig(
task_type="RETRIEVAL_DOCUMENT", # now per request
title="Driver's License", # now per request
output_dimensionality=3072,
auto_truncate=True,
),
)
print(response.embeddings[0].values)
토큰 수 계산
토큰 수 계산 작업의 다음 변경사항에 유의하세요.
total_billable_characters이(가) 삭제되었으며 대체 항목이 없습니다.total_billable_characters를 기반으로 하는 비용 추정치는 생성 호출에서 다시 작업해야 합니다 (예:total_tokens또는response.usage_metadata).- 토큰 ID와 문자열 조각에
client.models.compute_tokens(...)가 추가되었습니다. google.genai.local_tokenizer.LocalTokenizer를 통해 오프라인 집계가 추가되었습니다.
이전
model = GenerativeModel("gemini-2.5-flash")
response = model.count_tokens(["Why is the sky blue?"])
print(response.total_tokens)
print(response.total_billable_characters)
이후
response = client.models.count_tokens(
model="gemini-3.5-flash",
contents=["Why is the sky blue?"],
)
print(response.total_tokens)
print(response.cached_content_token_count)
컨텍스트 캐싱이
컨텍스트 캐싱 작업의 다음 변경사항에 유의하세요.
ttl유형이datetime.timedelta에서"86400s"와 같은 기간 문자열로 변경됩니다.- 리소스 객체 메서드가 클라이언트 모듈 호출이 됩니다.
update는 제자리에서 변이하는 대신 새 객체를 반환합니다.
이전
import datetime
from vertexai.caching import CachedContent
cache = CachedContent.create(
model_name="gemini-2.5-flash",
system_instruction="Please answer my question formally",
contents=contents,
ttl=datetime.timedelta(days=1),
)
cache.update(ttl=datetime.timedelta(days=2))
cache.delete()
이후
from google.genai import types
cache = client.caches.create(
model="gemini-3.5-flash",
config=types.CreateCachedContentConfig(
contents=contents,
system_instruction="Please answer my question formally",
ttl="86400s",
),
)
cache = client.caches.update(
name=cache.name, config=types.UpdateCachedContentConfig(ttl="172800s")
)
client.caches.delete(name=cache.name)
일괄 예측 및 튜닝
일괄 예측 및 조정 작업의 변경사항은 다음과 같습니다.
- 폴링은 인플레이스가 아닌 리바인드 기반입니다.
job.refresh()도job.has_ended도 없습니다.client.batches.get(name=...)에서 새 객체를 가져와job.state을JOB_STATE_*문자열과 비교합니다. - 일괄 이름 바꾸기:
source_model을model으로,input_dataset을src으로,output_uri_prefix을config.dest으로,job_display_name을config.display_name으로 - 일괄 머신 모양 컨트롤이 삭제되었으며 새 SDK 버전에는 이에 상응하는 컨트롤이 없습니다.
machine_type,accelerator_type,accelerator_count,starting_replica_count,max_replica_count이 더 이상CreateBatchJobConfig의 필드가 아닙니다. - 다음 메서드의 이름이 변경되었습니다.
sft.train~client.tunings.tunesource_model~base_modeltrain_dataset~training_datasetepochs~epoch_count
- 조정 데이터 세트가 래핑됩니다.
"gs://..."문자열은types.TuningDataset(gcs_uri=...)이 됩니다. adapter_size유형이int에서"ADAPTER_SIZE_FOUR"와 같은 열거형 문자열로 변경됩니다.
이전
from vertexai.batch_prediction import BatchPredictionJob
from vertexai.tuning import sft
job = BatchPredictionJob.submit(
source_model="gemini-2.5-flash",
input_dataset="bq://my-project.my-dataset.my-table",
output_uri_prefix="bq://my-project.my-dataset.output",
)
while not job.has_ended:
job.refresh()
tuning_job = sft.train(
source_model="gemini-2.5-flash",
train_dataset="gs://bucket/train.jsonl",
epochs=1,
adapter_size=4,
)
이후
from google.genai import types
job = client.batches.create(
model="gemini-3.5-flash",
src="bq://my-project.my-dataset.my-table",
config=types.CreateBatchJobConfig(dest="bq://my-project.my-dataset.output"),
)
completed = {"JOB_STATE_SUCCEEDED", "JOB_STATE_FAILED", "JOB_STATE_CANCELLED", "JOB_STATE_PAUSED"}
while job.state not in completed:
job = client.batches.get(name=job.name)
tuning_job = client.tunings.tune(
base_model="gemini-3.5-flash",
training_dataset=types.TuningDataset(gcs_uri="gs://bucket/train.jsonl"),
config=types.CreateTuningJobConfig(
epoch_count=1,
adapter_size="ADAPTER_SIZE_FOUR",
),
)
Agent Platform SDK 구조 조정
google-cloud-aiplatform의 agentplatform 모듈을 사용하는 경우 다음 권장사항에 따라 새 SDK 구조로 이전하세요.
google-cloud-agentplatform는 이제 독립형 경량 배포이며 에이전트 워크로드에 권장되는 설치입니다. 기존 머신러닝 서페이스가 필요하지 않으면 설치를pip install google-cloud-aiplatform에서pip install google-cloud-agentplatform로 전환하세요.다음 표를 사용하여 가져오기 및 속성 경로를 업데이트합니다.
이전 신규 client.agent_engines.createclient.runtimes.create(Gemini Enterprise Agent Platform 인스턴스에 Agent Runtime 배포, 기본 제공 세션, 샌드박스 코드 실행, 컨텍스트 메모리 구성 제공)
client.memory_banks.create(상호작용 전반에서 메모리를 유지하고 관리하고 검색하기 위한 독립형 메모리 뱅크 리소스 생성)client.agent_engines.sandboxesclient.sandboxesclient.agent_engines.sandboxes.snapshotsclient.sandboxes.snapshotsclient.agent_engines.sandboxes.templatesclient.sandboxes.templatesclient.agent_engines.sessionsclient.sessionsclient.agent_engines.sessions.eventsclient.sessions.eventsclient.agent_engines.runtimes.revisionsclient.runtimes.revisionsclient.agent_engines.memoriesclient.memory_banks.memoriesagentplatform.agent_engines.templatesagentplatform.frameworks전역 이니셜라이저가 삭제되고 에이전트 프레임워크가 더 이상
aiplatform.init()또는vertexai.init()상태에서 프로젝트와 위치를 읽지 않습니다. 에이전트 프레임워크 내에서 실행되는 모든 항목에 대해 이니셜라이저 파생 구성을 환경 변수로 대체 이니셜라이저를 사용하여 배포된 에이전트를 구성하는 코드에서 오류가 발생하지 않고 자동으로 중단됩니다.SDK에서 더 이상
types.AgentEngine를 허용하지 않으므로evals.run_inference(agent=...)호출 사이트를 업데이트하여types.Runtime를 전달합니다.다음과 같이 변경하세요.
vertexai.Client~agentplatform.Clientvertexai.rag~agentplatform.Client().rag
vertexai.Client는 첫 번째 인스턴스화에서FutureWarning를 방출합니다.The vertexai.Client class is deprecated. Please use agentplatform.Client instead.vertexai.rag는 호출 시가 아닌 모듈 가져오기 시간에UserWarning를 내보냅니다. 다음으로 이전합니다.import agentplatform client = agentplatform.Client(project="your-project", location="global") client.rag.create_corpus(...)AdkApp및 세션 호출 관련 오류 처리 업데이트 동기 세션 메서드와 스트리밍 에이전트 실행에서 이제 기본 API 오류가 표시됩니다. 일반 래핑 오류를 포착하는 호출자가 더 이상 일치하지 않습니다. 일반 라이브러리 래퍼 예외의 catch를google.api_core.exceptions.GoogleAPICallError(또는ResourceExhausted,NotFound과 같은 특정 상태 오류)로 바꿉니다.토큰이 이제 일시적이며 세션 상태와 함께 유지되지 않으므로 각 요청에 사용자의 OAuth 액세스 토큰을 포함하도록 클라이언트 호출자 또는 미들웨어를 업데이트합니다. 토큰 갱신이 클라이언트 측에서 관리되는지 확인합니다.
a2a.tasks모듈이 대체 없이 삭제되었습니다.