Ajan mimarisini LangGraph ve Tavily ile internete bağlarken sürüm uyuşmazlıkları ve asenkron mimari yüzünden birkaç hata yaptım. Bunları ve nasıl çözdüğümü paylaşıyorum.
uvicorn main:app --reload
Paketleri sanal ortama kurmama rağmen sunucuyu başlatınca
ModuleNotFoundError: No module named 'langchain_community' aldım.
İşletim sistemi uvicorn komutunu global Python ortamında aradı.
python -m uvicorn main:app --reload
Bu şekilde aktif sanal ortamın Python motorunu kullanmaya zorladım.
from langchain_community.tools.tavily_search import TavilySearchResults
LangChain ekibi Tavily’i community paketinden çıkarmış,
eski import çöküyordu.
pip install -U langchain-tavily
from langchain_tavily import TavilySearchResults
from langchain.agents import create_agent
agent_app = create_agent(
llm,
tools,
checkpointer=memory,
state_modifier=SystemMessage(...) # sürümden sürüme değişiyor
)
IDE’nin “deprecated” uyarısına kanıp create_agent kullandım.
Eski LangChain mimarisi LangGraph’ın checkpointer parametresini
tanımadığı için TypeError fırlattı.
Parametre isimleri de sürümden sürüme değişiyordu:
state_modifier → prompt gibi.
from langgraph.prebuilt import create_react_agent
agent_app = create_react_agent(
llm,
tools,
checkpointer=memory,
prompt=SystemMessage(content=system_prompt)
)
Modern LangGraph motorunu kullandım. IDE uyarıları her zaman doğru yönlendirmiyor — kaynak koda ve resmi dokümana bakmak şart.
llm = ChatOllama(model="qwen3.5:9b", base_url="http://192.168.1.6:11434")
result = await agent_app.ainvoke(...)
Ollama kapalıysa LangChain saniyelerce bekliyordu.
ChatOllama tembel çalıştığı (lazy evaluation) için
hatayı en başta yakalamıyordu, API kilitleniyordu.
import httpx
try:
async with httpx.AsyncClient() as client:
await client.get("http://192.168.1.6:11434/", timeout=2.0)
except httpx.RequestError:
raise HTTPException(
status_code=503,
detail="Yapay Zeka motoruna ulaşılamıyor."
)
Ağır işlemi başlatmadan önce 2 saniyelik bir health check attım. Cevap gelmezse anında 503 döndürüyorum. Buna Fail-Fast prensibi deniyor — hata erken yakalanırsa sistem daha az hasar görür.
python -m uvicorn kullanmak venv sorunlarını kökünden çözüyor