File size: 2,167 Bytes
7edb85f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | 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."
),
) |