optimize token usage

This commit is contained in:
saidsurucu
2025-07-13 22:11:35 +03:00
parent 6bac51dc19
commit 71218996fd
2 changed files with 24 additions and 4 deletions
+14 -2
View File
@@ -42,7 +42,7 @@ def create_app():
from yargitay_mcp_module.client import YargitayOfficialApiClient
from yargitay_mcp_module.models import (
YargitayDetailedSearchRequest, YargitayDocumentMarkdown, CompactYargitaySearchResult,
YargitayBirimEnum
YargitayBirimEnum, CleanYargitayDecisionEntry
)
from bedesten_mcp_module.client import BedestenApiClient
from bedesten_mcp_module.models import (
@@ -1004,8 +1004,20 @@ async def search_yargitay_detailed(
try:
api_response = await yargitay_client_instance.search_detailed_decisions(search_query)
if api_response.data:
# Convert to clean decision entries without arananKelime field
clean_decisions = [
CleanYargitayDecisionEntry(
id=decision.id,
daire=decision.daire,
esasNo=decision.esasNo,
kararNo=decision.kararNo,
kararTarihi=decision.kararTarihi,
document_url=decision.document_url
)
for decision in api_response.data.data
]
return CompactYargitaySearchResult(
decisions=api_response.data.data,
decisions=clean_decisions,
total_records=api_response.data.recordsTotal,
requested_page=search_query.pageNumber,
page_size=search_query.pageSize)
+10 -2
View File
@@ -64,7 +64,6 @@ class YargitayApiDecisionEntry(BaseModel):
esasNo: Optional[str] = Field(None, alias="esasNo", description="Case no")
kararNo: Optional[str] = Field(None, alias="kararNo", description="Decision no")
kararTarihi: Optional[str] = Field(None, alias="kararTarihi", description="Date")
arananKelime: Optional[str] = Field(None, alias="arananKelime", description="Keyword")
# 'index' and 'siraNo' from API response are not critical for MCP tool, so omitted for brevity
# This field will be populated by the client after fetching the search list
@@ -91,9 +90,18 @@ class YargitayDocumentMarkdown(BaseModel):
markdown_content: Optional[str] = Field(None, description="Content")
source_url: HttpUrl = Field(..., description="Source URL")
class CleanYargitayDecisionEntry(BaseModel):
"""Clean decision entry without arananKelime field to reduce token usage."""
id: str
daire: Optional[str] = Field(None, description="Chamber")
esasNo: Optional[str] = Field(None, description="Case no")
kararNo: Optional[str] = Field(None, description="Decision no")
kararTarihi: Optional[str] = Field(None, description="Date")
document_url: Optional[HttpUrl] = Field(None, description="Document URL")
class CompactYargitaySearchResult(BaseModel):
"""A more compact search result model for the MCP tool to return."""
decisions: List[YargitayApiDecisionEntry]
decisions: List[CleanYargitayDecisionEntry]
total_records: int
requested_page: int
page_size: int