trustgraph/docs/tech-specs/tool-services.he.md
Jenkins, Kenneth Alexander 6ff883acee
init translations
Signed-off-by: Jenkins, Kenneth Alexander <kjenkins60@gatech.edu>
2026-04-04 18:04:39 -04:00

98 lines
No EOL
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## שירותי כלי: כלים מתואמים
## סטטוס
יישום
## סקירה כללית
מפרט זה מגדיר מנגנון לכלים מתואמים של כלי, המכונים "שירותי כלי". בניגוד לסוגי הכלים הקיצוניים המובנים (`KnowledgeQueryImpl`, `McpToolImpl` וכו'), שירותי כלי מאפשרים להטמיע כלים חדשים על ידי:
1. פריסת שירות פולסר חדש
2. הוספת תיאור תצורה שמורה לאגנט כיצד להפעיל אותו
זה מאפשר הרחבה מבלי לשנות את המסגרת הליבה של `agent-flow`.
## איך להשתמש
1. הגדירו שירות כלי בתצורה, כולל שמות הנושאים עבור בקשות ותגובות.
2. הגדירו כלי באמצעות הגדרות שירות כלי.
3. השתמשו בכלי בתוך קוד ה-agent.
4. הגדירו את סוג הכלים בתיאור התצורה.
## דוגמה
הנה דוגמה להגדרת שירות כלי בשם "joke-service":
1. **שירות כלי:**
```json
{
"id": "joke-service",
"request-queue": "non-persistent://tg/request/joke",
"response-queue": "non-persistent://tg/response/joke",
"config-params": [
{"name": "style", "required": false}
]
}
```
2. **כלי:**
```json
{
"type": "tool-service",
"name": "tell-joke",
"description": "Tell a joke on a given topic",
"service": "joke-service",
"style": "pun",
"arguments": [
{"name": "topic", "type": "string", "description": "The topic for the joke"}
]
}
```
3. **קוד ה-agent (פסאודו-קוד):**
```python
# Load the joke service configuration
tool_service_config = tg_get_config_item("tool-service/joke-service")
# Load the tool configuration
tool_config = tg_get_config_item("tool/tell-joke")
# Instantiate the tool service
joke_service = DynamicToolService(
request_queue=tool_service_config["request-queue"],
response_queue=tool_service_config["response-queue"],
config_values=tool_config["config-params"], # Map config parameters
arguments=tool_config["arguments"],
)
# Call the tool service
user_name = get_user_name() # Get the current user
joke_topic = "programming" # Or get this from the LLM
joke = joke_service.invoke(user_name, {}, {"topic": joke_topic})
# Display the joke
print(f"Hey {user_name}! Here's a {tool_config['style']} for you:\n\n{joke}")
```
## הערות חשובות
* **`tg-put-config-item`**: השתמשו בפקודה הזו כדי לטעון את תצורות השירות והכלי. לדוגמה, `tg-put-config-item tool-service/joke-service < joke-service.json`.
* **`agent-flow`**: קוד ה-agent חייב להיות מותאם כך שיתפקד בהתאם למפרט. שימו לב במיוחד ל-`DynamicToolService` ואיך הוא מעובד.
* **שמות נושאים**: שימו לב לשמות הנושאים. הם חייבים להיות תואמים למה שמוגדר ב-`trustgraph-base/trustgraph/schema/services/tool_service.py`.
* **תצורת כלי**: שימו לב לתצורת הכלי, במיוחד לשדות ה-`type` (חייב להיות `"tool-service"`) ו-`arguments`.
* **תצורה דינמית**: השירותים עצמם יצטרכו לקרוא את תצורת ה-`tool-service` כדי לדעת מה לקבל, ולאחר מכן להגדיר את הלקוח (Client).
* **קוד דוגמה**: קוד הדוגמה מספק תצורה מפורטת, אבל הוא רק דוגמה. אתם צריכים להבין איך קוד ה-agent קורא לתצורה הזו.
## שאלות נפוצות
* **איך למצוא את הקוד המתאים?** הקודים שצוינו נמצאים ב-`trustgraph-flow/trustgraph/agent/react/tools.py`, `trustgraph-flow/trustgraph/agent/react/service.py`, `trustgraph-flow/trustgraph/base/dynamic_tool_service.py`, ו-`trustgraph-flow/trustgraph/schema/services/tool_service.py`.
* **מהו `tg-put-config-item`?** זו פקודה שמשמשת לטעינת תצורות.
* **איך אני יודע מתי הכל עובד?** בדקו שהכלים מוגדרים כראוי, ושהתצורה מועברת נכון. השתמשו ב-logging כדי לראות אם התהליכים מתחילים, מסיטים בקשות, ומחזירים תגובות.
## סיכום
ההגדרה הזו מספקת מסגרת לשימוש בכלים מתואמים בתוך `trustgraph-flow`. על ידי הבנת התצורה, הקוד, והדגמים, תוכלו לשלב כלים חדשים בקלות.