π§ͺ μ λ²μ ν
μ€νΈ μ€...
β μΈμ
μμ± μ€ν¨!
μ λ°°ν¬λ₯Ό μμ ν©λλ€...κ°μ₯ νν μμΈμ μλΈ μμ΄μ νΈλ λꡬλ₯Ό importν λ λ°μνλ μλ¬μ λλ€.
νμΈ λ°©λ²:
# λ‘컬μμ import ν
μ€νΈ
cd /Users/hong-gihyeon/Desktop/cap
python -c "from goole_adk.agent import root_agent; print('β
Import μ±κ³΅!')"ν΄κ²° λ°©λ²:
goole_adk/__init__.pyνμΌμ΄ λͺ¨λ μλΈ λλ ν 리μ μλμ§ νμΈ- μν importκ° μλμ§ νμΈ
- λͺ¨λ κ²½λ‘κ° μ¬λ°λ₯Έμ§ νμΈ
PROJECT_IDλ VERTEX_AI_LOCATIONμ΄ μ λλ‘ μ€μ λμ§ μμμ μ μμ΅λλ€.
νμΈ λ°©λ²:
# config.py νμΈ
cat goole_adk/config.pyν΄κ²° λ°©λ²:
# goole_adk/config.pyμμ νλμ½λ©λ κ° νμΈ
PROJECT_ID = "kangnam-backend" # μ¬λ°λ₯Έ νλ‘μ νΈ ID
VERTEX_AI_LOCATION = "us-east4" # μ¬λ°λ₯Έ 리μ μλΈ μμ΄μ νΈμ Vertex AI Search μλν¬μΈνΈκ° μλͺ»λμμ μ μμ΅λλ€.
νμΈ λ°©λ²:
# κ° μμ΄μ νΈμ search_tools.py νμΈ
grep -r "VERTEX_SEARCH_ENDPOINT" goole_adk/agents/ν΄κ²° λ°©λ²:
- κ° μλν¬μΈνΈ URLμ΄ μ¬λ°λ₯Έμ§ νμΈ
- νλ‘μ νΈ IDκ° λ§λμ§ νμΈ
- μμ§ IDκ° μ‘΄μ¬νλμ§ νμΈ
νμν ν¨ν€μ§κ° deploy.pyμ requirementsμ ν¬ν¨λμ§ μμμ μ μμ΅λλ€.
νμΈ λ°©λ²:
# deploy.pyμ requirements νμΈ
grep -A 10 "requirements=" deploy.pyνμ¬ requirements:
requirements=[
"google-cloud-aiplatform[adk,agent_engines]",
"requests",
"beautifulsoup4",
"python-dotenv",
]ν΄κ²° λ°©λ²:
- νμν ν¨ν€μ§κ° λͺ¨λ ν¬ν¨λμ΄ μλμ§ νμΈ
- λ²μ μΆ©λμ΄ μλμ§ νμΈ
Agent μ μ μ λ¬Έλ² μ€λ₯λ μλͺ»λ νλΌλ―Έν°κ° μμ μ μμ΅λλ€.
νμΈ λ°©λ²:
# κ° μμ΄μ νΈ νμΌ λ¬Έλ² μ²΄ν¬
python -m py_compile goole_adk/agents/*/agent.pyν΄κ²° λ°©λ²:
- Agentμ
model,name,description,instructionνλΌλ―Έν° νμΈ tools리μ€νΈκ° μ¬λ°λ₯Έμ§ νμΈsub_agents리μ€νΈκ° μ¬λ°λ₯Έμ§ νμΈ
cd /Users/hong-gihyeon/Desktop/cap
# κ°μνκ²½ νμ±ν
source .venv/bin/activate
# Import ν
μ€νΈ
python -c "
from goole_adk.agent import root_agent
print('β
Root agent import μ±κ³΅!')
print(f'Agent name: {root_agent.name}')
print(f'Sub-agents: {len(root_agent.sub_agents)}')
"
# κ° μλΈ μμ΄μ νΈ ν
μ€νΈ
python -c "
from goole_adk.agents.graduation import graduation_agent
from goole_adk.agents.subject import subject_agent
from goole_adk.agents.professor.agent import professor_agent
from goole_adk.agents.basic_info.agent import basic_info_agent
print('β
λͺ¨λ μλΈ μμ΄μ νΈ import μ±κ³΅!')
"μ΄μ update_deployment.shκ° μλ¬ λ‘κ·Έλ₯Ό νμν©λλ€:
./update_deployment.shμλ¬ λ°μ μ:
β μΈμ
μμ± μ€ν¨!
π μλ¬ λ‘κ·Έ:
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Traceback (most recent call last):
File "deploy.py", line 113, in create_session
remote_session = remote_app.create_session(user_id=user_id)
...
ImportError: cannot import name 'basic_info_agent' from 'goole_adk.agents'
βββββββββββββββββββββββββββββββββββββββββββββββββββββλ¬Έμ λ₯Ό 격리νκΈ° μν΄ λ¨κ³λ³λ‘ ν μ€νΈ:
# 1λ¨κ³: λ°°ν¬λ§ (ν
μ€νΈ μμ΄)
python deploy.py --create
# 2λ¨κ³: μΈμ
μμ± ν
μ€νΈ
python deploy.py --create_session --resource_id="νλ‘μ νΈID"
# 3λ¨κ³: λ©μμ§ μ μ‘ ν
μ€νΈ
python deploy.py --send \
--resource_id="νλ‘μ νΈID" \
--session_id="μΈμ
ID" \
--message="μλ
"λͺ¨λ μλΈ μμ΄μ νΈκ° μ¬λ°λ₯΄κ² exportλλμ§ νμΈ:
# goole_adk/agents/__init__.py νμΈ
cat goole_adk/agents/__init__.pyμ¬λ°λ₯Έ μμ:
from .graduation import graduation_agent
from .subject import subject_agent
from .professor.agent import professor_agent
from .basic_info.agent import basic_info_agent
from .admission.agent import admission_agent
__all__ = [
'graduation_agent',
'subject_agent',
'professor_agent',
'basic_info_agent',
'admission_agent',
]# λ‘컬μμ νμν ν¨ν€μ§κ° λͺ¨λ μ€μΉλμ΄ μλμ§ νμΈ
pip list | grep -E "(google-cloud-aiplatform|requests|beautifulsoup4|python-dotenv)"# .env.backupμμ μ΄μ Resource ID νμΈ
cat .env.backup
# .env 볡μ
cp .env.backup .env
# Backend μ¬λ°°ν¬
cd agent-backend
./deploy_backend.sh# 1. κ°μνκ²½ μ¬μμ±
rm -rf .venv
python -m venv .venv
source .venv/bin/activate
# 2. μμ‘΄μ± μ¬μ€μΉ
pip install -r requirements.txt
# 3. Import ν
μ€νΈ
python -c "from goole_adk.agent import root_agent; print('β
μ±κ³΅!')"
# 4. μ¬λ°°ν¬
./update_deployment.shμμΈ: λͺ¨λ import κ²½λ‘κ° μλͺ»λ¨
ν΄κ²°:
__init__.pyνμΌμ΄ λͺ¨λ λλ ν 리μ μλμ§ νμΈ- Import κ²½λ‘κ° μ¬λ°λ₯Έμ§ νμΈ
- μν importκ° μλμ§ νμΈ
μμΈ: νμν ν¨ν€μ§κ° μ€μΉλμ§ μμ
ν΄κ²°:
deploy.pyμrequirements리μ€νΈμ ν¨ν€μ§ μΆκ°- μ¬λ°°ν¬
μμΈ: Agent μ μ μ μλͺ»λ νλΌλ―Έν° μ¬μ©
ν΄κ²°:
- Agent μ μ νμΈ
- ADK λ¬Έμ μ°Έμ‘°νμ¬ μ¬λ°λ₯Έ νλΌλ―Έν° μ¬μ©
μμΈ: Vertex AI Search μλν¬μΈνΈκ° μλͺ»λ¨
ν΄κ²°:
- κ° μλΈ μμ΄μ νΈμ
search_tools.pyνμΈ - μλν¬μΈνΈ URL μμ
- μ¬λ°°ν¬
- λ‘컬μμ import ν μ€νΈ μλ£
- λͺ¨λ
__init__.pyνμΌ μ‘΄μ¬ νμΈ - Vertex AI Search μλν¬μΈνΈ νμΈ
- μμ‘΄μ± ν¨ν€μ§ νμΈ
- λ¬Έλ² μλ¬ μμ νμΈ
#!/bin/bash
# test_imports.sh
echo "π§ͺ Import ν
μ€νΈ μμ..."
python -c "
try:
from goole_adk.agent import root_agent
from goole_adk.agents.graduation import graduation_agent
from goole_adk.agents.subject import subject_agent
from goole_adk.agents.professor.agent import professor_agent
from goole_adk.agents.basic_info.agent import basic_info_agent
print('β
λͺ¨λ import μ±κ³΅!')
except Exception as e:
print(f'β Import μ€ν¨: {e}')
exit(1)
"- λ‘컬 ν μ€νΈ
- λ°°ν¬
- μΈμ μμ± ν μ€νΈ
- λ©μμ§ μ μ‘ ν μ€νΈ
- νκ²½λ³μ μ λ°μ΄νΈ
- Backend μ¬λ°°ν¬
# μ 체 λ°°ν¬ λ‘κ·Έ μ μ₯
./update_deployment.sh 2>&1 | tee deployment.log
# μλ¬ λΆλΆλ§ μΆμΆ
grep -A 10 "β" deployment.log# Python λ²μ
python --version
# μ€μΉλ ν¨ν€μ§
pip list
# νλ‘μ νΈ κ΅¬μ‘°
tree goole_adk -L 2
# νκ²½ λ³μ
cat .envλ§μ§λ§ μ λ°μ΄νΈ: 2025-11-10