""" Q5 starter — a minimal LangChain agent on Ghaymah's GenAI services. 1. Get base_url + API key + model ID from https://deploy.ghaymah.systems 2. pip install -r requirements.txt 3. python agent.py "what is 12 * 7 plus 4?" """ import os import sys from langchain_openai import ChatOpenAI from langchain.agents import AgentExecutor, create_tool_calling_agent from langchain.tools import tool from langchain_core.prompts import ChatPromptTemplate # --- Ghaymah GenAI config (fill these in / use env vars) --- BASE_URL = os.getenv("GHAYMAH_BASE_URL", "https:///v1") API_KEY = os.getenv("GHAYMAH_API_KEY", "") MODEL = os.getenv("GHAYMAH_MODEL", "") llm = ChatOpenAI(base_url=BASE_URL, api_key=API_KEY, model=MODEL, temperature=0) @tool def calculator(expression: str) -> str: """Evaluate a simple arithmetic expression and return the result.""" try: return str(eval(expression, {"__builtins__": {}}, {})) except Exception as e: # noqa: BLE001 return f"error: {e}" tools = [calculator] prompt = ChatPromptTemplate.from_messages( [ ("system", "You are a helpful Arabic/English assistant. Use the calculator tool when you need arithmetic."), ("human", "{input}"), ("placeholder", "{agent_scratchpad}"), ] ) agent = create_tool_calling_agent(llm, tools, prompt) executor = AgentExecutor(agent=agent, tools=tools, verbose=True) if __name__ == "__main__": q = sys.argv[1] if len(sys.argv) > 1 else "ما حاصل 12 × 7 + 4؟" print(executor.invoke({"input": q})["output"])