| from pydantic import BaseModel, Field | |
| class PyPIArguments(BaseModel): | |
| """ | |
| PyPI paket arama aracının argümanları. | |
| """ | |
| package_name: str = Field( | |
| ..., | |
| min_length=1, | |
| description=( | |
| "PyPI üzerinde bilgileri alınacak Python paketinin adı. " | |
| "Örnek: requests, httpx, fastapi" | |
| ), | |
| ) | |
| class GitHubRepoArguments(BaseModel): | |
| """ | |
| Belirli bir GitHub repository'sini sorgulayan aracın argümanları. | |
| """ | |
| owner: str = Field( | |
| ..., | |
| min_length=1, | |
| description=( | |
| "GitHub repository sahibinin kullanıcı veya organizasyon adı. " | |
| "Örnek: openai" | |
| ), | |
| ) | |
| repo: str = Field( | |
| ..., | |
| min_length=1, | |
| description=( | |
| "GitHub repository adı. " | |
| "Örnek: openai-python" | |
| ), | |
| ) | |
| class GitHubSearchArguments(BaseModel): | |
| """ | |
| GitHub üzerinde anahtar kelimeyle repository arayan aracın argümanları. | |
| """ | |
| keyword: str = Field( | |
| ..., | |
| min_length=1, | |
| description=( | |
| "GitHub repository aramasında kullanılacak sorgu. " | |
| "Gerektiğinde GitHub Search Query sözdizimi kullanılabilir. " | |
| "Örnek: LLM agent language:Python" | |
| ), | |
| ) | |
| limit: int = Field( | |
| default=5, | |
| ge=1, | |
| le=10, | |
| description=( | |
| "Döndürülecek maksimum repository sayısı. " | |
| "1 ile 10 arasında olmalıdır." | |
| ), | |
| ) | |
| class StackOverflowArguments(BaseModel): | |
| """ | |
| Stack Overflow üzerinde teknik soru veya hata arayan aracın argümanları. | |
| """ | |
| query: str = Field( | |
| ..., | |
| min_length=2, | |
| description=( | |
| "Stack Overflow üzerinde aranacak programlama sorusu, " | |
| "hata mesajı veya teknik konu. " | |
| "Örnek: Python TypeError list object is not callable" | |
| ), | |
| ) | |
| limit: int = Field( | |
| default=5, | |
| ge=1, | |
| le=10, | |
| description=( | |
| "Döndürülecek maksimum Stack Overflow soru sayısı. " | |
| "1 ile 10 arasında olmalıdır." | |
| ), | |
| ) |