1. ??
??? ?? ??(????)? ????? ??? ???. ? ???? ????? 4D ????? ??? ???? ? ??? ?? ??? ??? ?????. ? ????? AI ??? ?? ???? ????? ??? ?? ??? ??? ??? ??? ?????.
2. ? ?? ?? ?? ??? ??
2.1 ??? ??: ?? ?? ??
?? ??? ?? ??? ??? ???.
- ??? ?? "?????" ??? ?????
- ? ?? ?????
- ??? ???? ?? ??? ?????
??? ???? ??? ?? ?????. ????? ??? ???? ???? ??? ?????. ??? ?????.
class WeatherTool(BaseTool): """Weather Query Tool - Synchronous Mode""" async def execute(self, city: str) -> dict: # Simple and direct like pressing a coffee machine button weather_data = await self.weather_api.get_current(city) return { "status": "success", "data": { "temperature": weather_data.temp, "humidity": weather_data.humidity, "description": weather_data.desc } }
?? ??:
- ?? ??: ??, ??, ??? ??
- ??? ??: ??? ???, ??? ??
- ??? ??? : ???? ??, ????
2.2 ??? ??: ?? ?? ??
?? ?? ?? ??? ????? ??? ???.
- ?? ? APP?? ????? ??????
- ???? ????? ???? ? ????
- ??? ???? APP?? ??????
??? ???? ??? ?? ????, ?? ??? ?? ??? ??? ?????.
class DocumentAnalysisTool(BaseTool): """Document Analysis Tool - Asynchronous Mode""" async def start_task(self, file_path: str) -> str: # Like placing a food delivery order, returns a task ID task_id = str(uuid.uuid4()) await self.task_queue.put({ "task_id": task_id, "file_path": file_path, "status": "processing" }) return task_id async def get_status(self, task_id: str) -> dict: # Like checking food delivery status task = await self.task_store.get(task_id) return { "task_id": task_id, "status": task["status"], "progress": task.get("progress", 0), "result": task.get("result", None) }
?? ??:
- ??? ?? ??? ??: ??? ?? ??, ??? ??
- ??? ??: ??? ???, ??? ??
- ?? ?? ?? ??: ?? ??, ?? ??
3. ?? ????? ???: ?? ?? ??
?? ?? ??? ?? ?? ??? ??? ??? ?? ??????? ???? ?????. ??? ?? ?? ??? ????? ???? ??? ? ????.
3.1 ?? ?? ??
?? ???? ????? ??? ???. ????? ?? ??? ???? ??? ???.
- ??? ??
- ??? ????
- ?? ??? ??????
from pydantic import BaseModel, Field class ToolSchema(BaseModel): """Tool Manual Template""" name: str = Field(..., description="Tool name") description: str = Field(..., description="Tool purpose description") parameters: dict = Field(..., description="Required parameters") required: List[str] = Field(default_factory=list, description="Required parameters") class Config: schema_extra = { "example": { "name": "Weather Query", "description": "Query weather information for specified city", "parameters": { "type": "object", "properties": { "city": { "type": "string", "description": "City name" } } }, "required": ["city"] } }
3.2 ?? ?? ???
?? ?? ??? ?? ???? ?? ?????? ??? ??? ?? ??? ?? ??? ??? ???.
class BaseTool(ABC): """Base template for all tools""" @abstractmethod def get_schema(self) -> ToolSchema: """Tool manual""" pass def validate_input(self, params: Dict) -> Dict: """Parameter check, like a fuse in electrical appliances""" return ToolSchema(**params).dict() @abstractmethod async def execute(self, **kwargs) -> Dict: """Actual functionality execution""" pass
4. ?? ??: ??? ??? ??
????? ?, ??, ?????? ???? ?? ??? ???? ???? ?? ????? ?????.
4.1 ?? ?? ? ??
?? ??? ????? ??? ???.
- ??? ?? → ???? ??
- ??? ?? → ??? ??? ??
- ??? ?? ?? → ?? ?? ? ??? ??
class WeatherTool(BaseTool): """Weather Query Tool - Synchronous Mode""" async def execute(self, city: str) -> dict: # Simple and direct like pressing a coffee machine button weather_data = await self.weather_api.get_current(city) return { "status": "success", "data": { "temperature": weather_data.temp, "humidity": weather_data.humidity, "description": weather_data.desc } }
4.2 ??? ????
? ?? ??? ??? ? ???? ? ?? ??? ???? ?? ????.
class DocumentAnalysisTool(BaseTool): """Document Analysis Tool - Asynchronous Mode""" async def start_task(self, file_path: str) -> str: # Like placing a food delivery order, returns a task ID task_id = str(uuid.uuid4()) await self.task_queue.put({ "task_id": task_id, "file_path": file_path, "status": "processing" }) return task_id async def get_status(self, task_id: str) -> dict: # Like checking food delivery status task = await self.task_store.get(task_id) return { "task_id": task_id, "status": task["status"], "progress": task.get("progress", 0), "result": task.get("result", None) }
5. ?? ???: ?? ??? ??
5.1 ?? ????
?? ??? ?? ?? ??? ???? ?????:
from pydantic import BaseModel, Field class ToolSchema(BaseModel): """Tool Manual Template""" name: str = Field(..., description="Tool name") description: str = Field(..., description="Tool purpose description") parameters: dict = Field(..., description="Required parameters") required: List[str] = Field(default_factory=list, description="Required parameters") class Config: schema_extra = { "example": { "name": "Weather Query", "description": "Query weather information for specified city", "parameters": { "type": "object", "properties": { "city": { "type": "string", "description": "City name" } } }, "required": ["city"] } }
5.2 ??? ??
?? ????? ???? ?? ??:
class BaseTool(ABC): """Base template for all tools""" @abstractmethod def get_schema(self) -> ToolSchema: """Tool manual""" pass def validate_input(self, params: Dict) -> Dict: """Parameter check, like a fuse in electrical appliances""" return ToolSchema(**params).dict() @abstractmethod async def execute(self, **kwargs) -> Dict: """Actual functionality execution""" pass
6. ??? ? ???: ?? ??? ??
6.1 ?? ???
??? ?? ? ??????:
class ToolError(Exception): """Tool error base class""" def __init__(self, message: str, error_code: str, retry_after: Optional[int] = None): self.message = message self.error_code = error_code self.retry_after = retry_after @error_handler async def execute(self, **kwargs): try: # Execute specific operation result = await self._do_work(**kwargs) return {"status": "success", "data": result} except ValidationError: # Parameter error, like wrong address return {"status": "error", "code": "INVALID_PARAMS"} except RateLimitError as e: # Need rate limiting, like courier too busy return { "status": "error", "code": "RATE_LIMIT", "retry_after": e.retry_after }
6.2 ??? ??
???? ??? ?? ???? ???? ???:
class RetryableTool(BaseTool): @retry( stop=stop_after_attempt(3), # Maximum 3 retries wait=wait_exponential(multiplier=1, min=4, max=10) # Increasing wait time ) async def execute_with_retry(self, **kwargs): return await self.execute(**kwargs)
7. ??
?? ???? ??? ???? ?? ??? ?? ??? ??? ?? ????.
- ??? ?? ?? - ??/??? ?? ??? ??
- ???? ????? - ?? ??? ???
- ?? ???? - ??? ?? ??
- ??? ?? - ??? ??, ??? ?? ??
- ?? ?? - ??? ???, ??? ???
?????: ?? ??? ??? ???? ? ?? ?? ? ???, ?? ??? ?? ??? ??? ??? ?????.
? ??? ???? ?? ?? ???: ???? ?????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

API ??? ??? ??? ?? ??? ???? ???? ???? ????. 1. Apikey? ?? ??? ?? ????, ????? ?? ?? ?? URL ?? ??? ?????. 2. Basicauth? ?? ???? ??? Base64 ??? ??? ??? ??? ????? ?????. 3. OAUTH2? ?? Client_ID ? Client_Secret? ?? ??? ?? ?? ?? ??? BearEtroken? ???????. 4. ?? ??? ???? ?? ?? ?? ???? ????? ???? ?? ?? ? ????. ???, ??? ?? ??? ??? ???? ?? ??? ???? ???? ?? ?????.

Assert? ????? ???? ???? ?? ? ???? ??? ???? ??? ?? ?? ????. ??? ??? ??? ?? ??? ?????, ?? ?? ?? ??, ?? ?? ?? ?? ?? ?? ??? ????? ?? ?? ??? ?? ???? ??? ? ??? ??? ??? ??? ?? ???????. ?? ??? ???? ?? ?? ???? ?? ????? ??? ? ????.

????? ??? ? ??? ??? ?? ??? ???? ??? zip () ??? ???? ????.? ??? ?? ??? ???? ?? ??? ?? ????. ?? ??? ???? ?? ?? itertools.zip_longest ()? ???? ?? ?? ? ??? ?? ? ????. enumerate ()? ???? ??? ???? ?? ? ????. 1.zip ()? ???? ????? ?? ??? ??? ??? ?????. 2.zip_longest ()? ???? ?? ??? ?? ? ? ???? ?? ? ????. 3. Enumental (Zip ())? ??? ??? ????? ??? ???? ???? ?? ???? ?? ? ????.

typehintsinpythonsolvetheproblemombiguityandpotentialbugsindynamicallytypedcodebyallowingdevelopscifyexpectiontypes. theyenhancereadability, enablearylybugdetection ? improvetoomingsupport.typehintsareaddedusingaColon (:) forvariblesAndAramete

inpython, iteratorsareobjectsthatlowloppingthroughcollections __ () ? __next __ ()

Python? ???? ????? ???? API? ???? Fastapi? ?????. ?? ??? ?? ????? ?????? ??? ??? ??? ???? ?? ? ? ????. Fastapi ? Asgi Server Uvicorn? ?? ? ? ????? ??? ??? ? ????. ??? ??, ?? ?? ?? ? ???? ?????? API? ???? ?? ? ? ????. Fastapi? ??? HTTP ??? ???? ?? ?? ? Swaggerui ? Redoc Documentation Systems? ?????. ?? ??? ?? URL ?? ??? ?? ? ??? ??, ?? ?? ??? ???? ???? ?? ?? ??? ??? ? ????. Pydantic ??? ???? ??? ?? ???? ???? ????? ? ??? ? ? ????.

API? ?????? Python? ?? ?????? ???????. ??? ?????? ????, ??? ???, ??? ????, ?? ??? ???? ? ???? ????. ?? PipinstallRequests? ?? ?????? ??????. ?? ?? requests.get () ?? requests.post () ? ?? ???? ???? ?? ?? ?? ??? ?????. ?? ?? response.status_code ? response.json ()? ???? ?? ??? ???? ????? ??????. ?????, ?? ?? ?? ??? ???? ?? ?? ??? ???? ? ?? ?????? ???? ?? ???? ???? ???? ??????.

????? ?? ??? ?? ? ??? ?? ???? ?? ???? ?????. ?? ??? ???? ?? ??? ?? ?????. 1. ??? ???? ?? ?? ??? ?????. 2. ??? ?? ??? ??? ? ? ??? ?? ??? ? ???? ??? ???? ?????. 3. ?? ??? ?? ?? ??? ????? ? ?? ???? ???????. 4. ??? ?? ??? ?? ???? ?? ??? ??? ????. 5. ??? ??? ??? ? ???? ???????. ??? ??? unboundlocalerror ??? ?????. ??? ??? ???? ??? ????? ??? ??? ??? ???? ? ??????.
