## Summary epic r04 - begin refactor ## Change Type - [x] Cowork feature - [ ] Bug fix - [ ] Core AI contribution - [ ] Test / hardening - [ ] Performance - [ ] Documentation ## Related Work Cowork Task: Core Repo: http://34.143.229.138/gitea-admin/fsg-ai-core-assets Core AI Issue: Core Task: Related PR: ## Scope What is intentionally included? What is intentionally NOT included? ## Validation - [ ] Unit tests - [ ] Integration tests - [ ] Manual verification - [ ] Regression check Commands / evidence: ## Security Impact Permission / credential / network / customer data impact: ## Compatibility - [ ] No breaking change - [ ] Breaking change documented ## Reviewer Notes Anything Cowork reviewers should pay attention to. --------- Co-authored-by: Anh Tran Nguyen Minh <anhtnm1@fpt.com> Co-authored-by: Huong Le Thi Thien <huongltt35@fpt.com> Co-authored-by: Nam Pham Dinh Thanh <nampdt@fpt.com> Co-authored-by: Vu Dam Tuan <vudt15@fpt.com> Co-authored-by: Hiep Ha Van <hiephv3@fpt.com> Co-authored-by: Lam Hoang Van <lamhv7@fpt.com> Reviewed-on: #7 Co-authored-by: Duy Le Huu <duylh19@fpt.com>
This commit was merged in pull request #7.
This commit is contained in:
@@ -25,6 +25,7 @@ class CompletionResult:
|
||||
|
||||
@property
|
||||
def ok(self) -> bool:
|
||||
"""Lượt dò có thành công không (không có lỗi)."""
|
||||
return self.error is None
|
||||
|
||||
|
||||
@@ -37,6 +38,7 @@ class ProbeClient(Protocol):
|
||||
model_id: str,
|
||||
messages: List[Dict[str, Any]],
|
||||
) -> CompletionResult:
|
||||
"""Gọi một model và trả về kết quả kèm số token, độ trễ và lỗi (nếu có)."""
|
||||
...
|
||||
|
||||
|
||||
@@ -59,6 +61,7 @@ class AppProbeClient:
|
||||
"""
|
||||
|
||||
def __init__(self, ctx: Any) -> None:
|
||||
"""Giữ ``AppContext`` để dựng provider lúc cần thăm dò."""
|
||||
self.ctx = ctx
|
||||
|
||||
def complete(
|
||||
@@ -67,6 +70,9 @@ class AppProbeClient:
|
||||
model_id: str,
|
||||
messages: List[Dict[str, Any]],
|
||||
) -> CompletionResult:
|
||||
"""Gọi model qua provider thật; lỗi được gói vào kết quả chứ không ném ra —
|
||||
một model hỏng không được làm dừng cả lượt chấm điểm danh mục.
|
||||
"""
|
||||
try:
|
||||
prov = self.ctx.build_provider_for(provider, model_id or None)
|
||||
# Non-streaming: no on_text/on_reasoning callbacks. cancel=None.
|
||||
|
||||
Reference in New Issue
Block a user