# Local AI Agents

> Ενεργοποιήστε αυτή τη δεξιότητα όταν ένας μαθητευόμενος θέλει να: - Εκτελέσει έναν πράκτορα αποκλειστικά στη συσκευή για λόγους απορρήτου, κόστους ή εκτός σύνδεσης. - Παρέχει ένα μοντέλο τοπικά με Foundry Local και να συνδεθεί μέσω του endpoint συμβατού με OpenAI. - Χρησιμοποιήσει ένα μοντέλο Qwen με κλήση συναρτήσεων για αξιόπιστες κλήσεις τοπικών εργαλείων. - Προσθέσει τοπικό RAG (Chroma) ή έναν τοπικό MCP server.

- Skill: `thedixitjain/local-ai-agents-6` (Agent Skill)
- Install (CLI): `npx skillmds add thedixitjain/local-ai-agents-6`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thedixitjain/local-ai-agents-6/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: thedixitjain (https://skillmd.com/u/thedixitjain)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/thedixitjain/local-ai-agents-6

---

# Δημιουργία Τοπικών Πρακτόρων Τεχνητής Νοημοσύνης με το Foundry Local και το Qwen

> Δεξιότητα συνοδού για το [Μάθημα 17 – Δημιουργία Τοπικών Πρακτόρων Τεχνητής Νοημοσύνης](../../../17-creating-local-ai-agents/README.md).
> Χρησιμοποιήστε το για να βοηθήσετε έναν μαθητευόμενο να δημιουργήσει έναν πράκτορα που λογικεύεται, καλεί εργαλεία και αναζητά
> την τεκμηρίωση εξ ολοκλήρου στον δικό του υπολογιστή — χωρίς υπολογισμούς στο σύννεφο. Βασίστε κάθε
> σύσταση στο περιεχόμενο του μαθήματος και στο εκτελέσιμο σημειωματάριο.

## Ενεργοποιήσεις

Ενεργοποιήστε αυτή τη δεξιότητα όταν ένας μαθητευόμενος θέλει να:
- Εκτελέσει έναν πράκτορα **αποκλειστικά στη συσκευή** για λόγους απορρήτου, κόστους ή εκτός σύνδεσης.
- Παρέχει ένα μοντέλο τοπικά με **Foundry Local** και να συνδεθεί μέσω του endpoint συμβατού με OpenAI.
- Χρησιμοποιήσει ένα μοντέλο **Qwen με κλήση συναρτήσεων** για αξιόπιστες κλήσεις τοπικών εργαλείων.
- Προσθέσει **τοπικό RAG** (Chroma) ή έναν **τοπικό MCP server**.
- Σχεδιάσει μια **υβριδική** στρατηγική δρομολόγησης τοπικά/στο σύννεφο.

## Βασικό νοητικό μοντέλο

Ένα SLM θυσιάζει την ευρύτητα για ιδιωτικότητα, κόστη και λειτουργία εκτός σύνδεσης. Η επιτυχημένη
στρατηγική: **ας αναλαμβάνει το SLM τον συντονισμό και ας κάνουν τα εργαλεία την βαριά δουλειά.** Το
μοντέλο δεν χρειάζεται να *γνωρίζει* όλη τη βάση κώδικα — πρέπει να ξέρει πότε να καλεί
`read_file` και `search_docs`. Αυτό αξιοποιεί τη δύναμη ενός SLM (περιορισμένες αποφάσεις
όπως η επιλογή εργαλείου) και αποφεύγει την αδυναμία του (ευρεία γνώση, πολύπλοκη πολυ-βηματική
λογική).

## Γιατί αυτά τα συγκεκριμένα κομμάτια

- Το **Foundry Local** προσφέρει ένα **συμβατό με OpenAI HTTP endpoint**, ώστε ο κώδικας πράκτορα σύννεφου να μεταφέρεται απλώς αλλάζοντας το `base_url` (και χρησιμοποιώντας τοπικό placeholder API key). Επίσης επιλέγει αυτόματα την καλύτερη έκδοση (CPU/GPU/NPU) για το μηχάνημα.
- Τα μοντέλα **Qwen** εκπαιδεύονται για κλήση συναρτήσεων και παράγουν συνεπείς και σωστά διαμορφωμένες κλήσεις εργαλείων — αυτό μετατρέπει ένα τοπικό μοντέλο *συνομιλίας* σε τοπικό *πράκτορα*.
- Το **Chroma** τρέχει στην ίδια διεργασία και αποθηκεύει τους διανύσματα στο δίσκο, οπότε ολόκληρος ο αγωγός RAG (embed → αποθήκευση → ανάκτηση → λογική) παραμένει τοπικός.
- Το **MCP** είναι μέσο μεταφοράς, όχι υπηρεσία στο σύννεφο: ένας MCP server μπορεί να τρέχει τοπικά μέσω `stdio`.

## Βασικά βήματα εγκατάστασης

```bash
foundry model run qwen2.5-7b-instruct
foundry service status
```

```python
from foundry_local import FoundryLocalManager
from openai import OpenAI

manager = FoundryLocalManager("qwen2.5-7b-instruct")
client = OpenAI(base_url=manager.endpoint, api_key=manager.api_key)  # τοπική θέση κράτησης
```

Περίπου 8 GB RAM είναι ένα ρεαλιστικό ελάχιστο· βοηθάει η GPU/NPU αλλά δεν είναι απαραίτητη.

## Κύρια μοτίβα προς αναπαραγωγή

Κατευθύνετε τον μαθητευόμενο στο σημειωματάριο
[`17-local-agent-foundry-local.ipynb`](../../../17-creating-local-ai-agents/code_samples/17-local-agent-foundry-local.ipynb):

- **Απομονωμένα εργαλεία**: κάθε εργαλείο αρχείου επιλύει μονοπάτια και απορρίπτει οτιδήποτε εκτός μιας μοναδικής ριζικής διαδρομής έργου — ακόμη και τοπικά, ένα εργαλείο τρέχει με τα δικαιώματα του χρήστη.
- **Βρόχος κλήσης εργαλείων**: καταχωρεί εργαλεία με το schema εργαλείων OpenAI, εκτελεί τα αιτούμενα εργαλεία τοπικά, επιστρέφει τα αποτελέσματα, επαναλαμβάνει μέχρι την τελική απάντηση.
- **Τοπικό RAG**: καταχωρεί έγγραφα σε μια συλλογή Chroma· `search_docs` επιστρέφει τα κορυφαία κομμάτια.
- **Τοπικό MCP**: συνδέεται σε τοπικό server μέσω `stdio`; περιορίζει το εύρος σε φάκελο έργου και επικυρώνει τις εξόδους του.

## Υβριδική δρομολόγηση (τοπικό ως ένα από τα μοντέλα)

| Κατάσταση | Πού τρέχει |
|-----------|---------------|
| Ευαίσθητα δεδομένα / εκτός σύνδεσης | Τοπικό SLM |
| Απλή, περιορισμένη εργασία | Τοπικό SLM (φθηνό, γρήγορο) |
| Πολύπλοκη πολυ-βηματική λογική σε μη ευαίσθητα δεδομένα | Μοντέλο σύννεφου |
| Διακοπή υπηρεσίας στο σύννεφο | Τοπικό SLM (ομαλή υποβάθμιση) |

Αυτό αντικατοπτρίζει την ιδέα δρομολόγησης μοντέλων από το Μάθημα 16, με τον σταθμό εργασίας ως μία
από τις διαδρομές. Προτιμήστε σχέδια που επιστρέφουν τοπικά ώστε ο πράκτορας να υποβαθμίζεται σε
ποιότητα αντί να αποτυγχάνει πλήρως.

## Φράγματα ασφαλείας για τον βοηθό

- Κρατήστε κάθε λειτουργία αρχείου/εργαλείου περιορισμένη σε απομονωμένο φάκελο έργου.
- Μην στέλνετε κώδικα ή δεδομένα στο σύννεφο όταν ο μαθητευόμενος δηλώνει ως στόχο την ιδιωτικότητα/λειτουργία εκτός σύνδεσης — κρατήστε όλο τον αγωγό τοπικό.
- Θέστε ρεαλιστικές προσδοκίες για την ποιότητα του SLM· βασιστείτε σε εργαλεία και RAG παρά στη μνημονευμένη γνώση του μοντέλου.
- Σημειώστε ότι το Μάθημα 17 **δεν έχει** endpoint Foundry Responses, οπότε η δράση δοκιμής καπνού σύννεφου δεν ισχύει — επικυρώστε εκτελώντας το σημειωματάριο τοπικά.

---

<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Αποποίηση ευθυνών**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

---

**Source:** [`microsoft/ai-agents-for-beginners`](https://github.com/microsoft/ai-agents-for-beginners) → `translations/el/.agents/skills/local-ai-agents/SKILL.md`

