# הקדמה
די העכערונג פון אָטאַנאַמאַס ינפראַסטראַקטשער האט רעוואַלושאַנייזד די וועג מיר פּלאַן, צעוויקלען און פירן IT סיסטעמען. מיט די הילף פון אַי אגענטן און אָרקעסטראַטיאָן מכשירים, אָרגאַנאַזיישאַנז קענען אָטאַמייט ינפראַסטראַקטשער פּראַוויזשאַנז, סקיילינג און פאַרוואַלטונג, וואָס פירן צו געוואקסן עפעקטיווקייַט, רידוסט קאָס און ימפּרוווד רילייאַבילאַטי. אין דעם אַרטיקל, מיר וועלן דעלוו אין די טעכניש דעטאַילס פון דיזיינינג אָטאַנאַמאַס ינפראַסטראַקטשער ניצן אַי אגענטן און StackGen, מיט אַ פאָקוס אויף די ינטערסעקשאַן פון די טעקנאַלאַדזשיז און אָרקעסטראַטיאָן מכשירים ווי DSPy און LangChain.
די ראָלע פון אַי אַגענץ אין אַוטאָנאָמאָוס ינפראַסטראַקטשער
אַי אגענטן שפּילן אַ קריטיש ראָלע אין אָטאַנאַמאַס ינפראַסטראַקטשער דורך פּראַוויידינג די סייכל און באַשלוס-מאכן קייפּאַבילאַטיז צו אָטאַמייט ינפראַסטראַקטשער פּראַוויזשאַנז און פאַרוואַלטונג. די אגענטן קענען אַנאַלייז דאַטן פון פאַרשידן קוואלן, ידענטיפיצירן פּאַטערנז און מאַכן דיסיזשאַנז באזירט אויף פּרידיפיינד כּללים און פּאַלאַסיז. אין דעם קאָנטעקסט פון אָטאַנאַמאַס ינפראַסטראַקטשער, אַי אגענטן קענען זיין געוויינט צו:
- אַוטאָמאַטע פּראַוויזשאַנז און דיפּלוימאַנט פון ינפראַסטראַקטשער
- מאָניטאָר און אַנאַלייז די פאָרשטעלונג פון ינפראַסטראַקטשער
- ידענטיפיצירן און ריספּאַנד צו זיכערהייט טרעץ
- אָפּטימיזירן ריסאָרס יוטאַלאַזיישאַן און סקיילינג
הקדמה צו StackGen
StackGen איז אַן אָפֿן מקור געצייַג וואָס ינייבאַלז די שאַפונג פון ינפראַסטראַקטשער ווי קאָד (IaC) ניצן אַ דעקלאַראַטיווע סינטאַקס. עס אַלאַוז ניצערס צו דעפינירן ינפראַסטראַקטשער קאַנפיגיעריישאַנז ניצן אַ פּשוט און יקספּרעסיוו שפּראַך, וואָס קענען זיין גענוצט צו צושטעלן און פירן ינפראַסטראַקטשער רעסורסן. StackGen שטיצט אַ ברייט קייט פון ינפראַסטראַקטשער פּראַוויידערז, אַרייַנגערעכנט AWS, Azure, Google Cloud און מער.
ינטאַגרייטינג אַי אַגענץ מיט StackGen
צו ויסשטימען אַי אגענטן מיט StackGen, מיר קענען נוצן אַ קאָמבינאַציע פון אַפּיס און געשעעניש-געטריבן פּראָגראַממינג. דאָ ס אַ הויך-מדרגה איבערבליק פון דעם פּראָצעס:
- דעפינירן ינפראַסטראַקטשער קאַנפיגיעריישאַנז ניצן StackGen ס דעקלאַראַטיווע סינטאַקס.
- ניצן אַן אַי אַגענט צו פונאַנדערקלייַבן די ינפראַסטראַקטשער קאַנפיגיעריישאַנז און ידענטיפיצירן פּאָטענציעל ישוז אָדער אַפּערטונאַטיז פֿאַר אַפּטאַמאַזיישאַן.
- ניצן די אַי אַגענט צו מאַכן דיסיזשאַנז און דזשענערייט דערהייַנטיקונגען צו די ינפראַסטראַקטשער קאַנפיגיעריישאַנז.
- ניצן StackGen צו צולייגן די דערהייַנטיקונגען צו די ינפראַסטראַקטשער רעסורסן.
אָרקעסטראַטיאָן מכשירים: DSPy און LangChain
DSPy און LangChain זענען צוויי פאָלקס אָרקעסטראַטיאָן מכשירים וואָס קענען זיין געוויינט צו אָטאַמייט ינפראַסטראַקטשער פּראַוויזשאַנז און פאַרוואַלטונג. DSPy איז אַ פּיטהאָן-באזירט געצייַג וואָס גיט אַ פּשוט און יקספּרעסיוו אַפּי פֿאַר דיפיינינג און עקסאַקיוטינג וואָרקפלאָווס. LangChain, אויף די אנדערע האַנט, איז אַ זשאַווער-באזירט געצייַג וואָס גיט אַ מער אַוואַנסירטע און פלעקסאַבאַל אָרקעסטראַטיאָן פריימווערק.
דספּי בייַשפּיל
דאָ איז אַ פּשוט בייַשפּיל פון ניצן DSPy צו אָטאַמייט ינפראַסטראַקטשער פּראַוויזשאַנז:
אַרייַנפיר דספּי
# דעפינירן אַ וואָרקפלאָוו וואָס פּראַוויזשאַנז ינפראַסטראַקטשער רעסורסן
וואָרקפלאָוו = dspy.Workflow(
נאָמען = "אינפראַסטרוקטור-פּראַוויזשאַן",
טריט=[
dspy.Step("פּראָוויזשאַן-עק2", "אַווס-פרוויזיע-עק2"),
dspy.Step("פּראָוויזשאַן-רדס", "אַווס-פּראָוויזשאַן-רדס"),
dspy.Step ("פרוויזיע-עלב", "אַווס-פּרעזשאַן-עלב")
]
)
# דעפינירן אַ צינגל וואָס סטאַרץ די וואָרקפלאָוו ווען אַ נייַע בקשה איז באקומען
trigger = dspy.trigger(
name="new-request",
event="aws-api-gateway-event",
האַנדלער = "אָנהייב-וואָרקפלאָוו"
)
# דעפינירן אַ האַנדלער וואָס סטאַרץ די וואָרקפלאָוו ווען די צינגל איז פייערד
האַנדלער = דספּי.האַנדלער(
נאָמען = "אָנהייב-וואָרקפלאָוו",
וואָרקפלאָוו = וואָרקפלאָוו
)
# שאַפֿן אַ DSPy בייַשפּיל און לייגן די וואָרקפלאָוו, צינגל און האַנדלער
dspy_instance = dspy.DSPy()
dspy_instance.add_workflow (וואָרקפלאָוו)
dspy_instance.add_trigger(צינגל)
dspy_instance.add_handler (האַנדלער)
LangChain בייַשפּיל
דאָ איז אַ פּשוט בייַשפּיל פון ניצן LangChain צו אָטאַמייט ינפראַסטראַקטשער פּראַוויזשאַנז:
נוצן לאַנגטשאַין::{אַגענט, וואָרקפלאָוו};
// דעפינירן אַ וואָרקפלאָוו אַז פּראַוויזשאַנז ינפראַסטראַקטשער רעסורסן
fn provision_infrastructure () -> וואָרקפלאָוו {
וואָרקפלאָוו::new ("אינפראַסטרוקטור-פּראַוויזשאַן")
.add_step("פּראָוויזשאַן-עק2", "אַווס-פרוויזיע-עק2")
.add_step("פּראָוויזשאַן-רדס", "אַווס-פּרעוויזיע-רדס")
.add_step("פּראָוויזשאַן-עלב", "אַווס-פּראָוויזשאַן-עלב")
}
// דעפינירן אַ צינגל וואָס סטאַרץ די וואָרקפלאָוו ווען אַ נייַע בעטן איז באקומען
fn new_request (געשעעניש: &str) -> אַגענט {
אַגענט::new("נייַ-רעקוועסט")
.add_trigger (געשעעניש, "אָנהייב-וואָרקפלאָוו")
}
// דעפינירן אַ האַנדלער וואָס סטאַרץ די וואָרקפלאָוו ווען די צינגל איז פייערד
fn start_workflow (אַגענט: &אַגענט) {
אַגענט.סטאַרט_וואָרקפלאָוו ("אינפראַסטרוקטור-פּראַוויזשאַן");
}
// שאַפֿן אַ LangChain בייַשפּיל און לייגן די וואָרקפלאָוו, צינגל און האַנדלער
fn main() {
לאָזן אַגענט = אַגענט:: נייַ ("אינפראַסטרוקטור-פּראַוויזשאַן");
אַגענט.אַדד_וואָרקפלאָוו (פּראָוויזשאַן_ינפראַסטרוקטור ());
agent.add_trigger (new_request ("aws-api-gateway-event"));
אַגענט.אַדד_האַנדלער (סטאַרט_וואָרקפלאָוו);
}
וויסואַליזאַטיאָן
דאָ איז אַ וויזשוואַלאַזיישאַן פון די ינטאַגריישאַן צווישן אַי אגענטן, StackGen און אָרקעסטראַטיאָן מכשירים ווי DSPy און LangChain:
{
"type": "טאָג",
"נאָדעס": [
{
"id": "אַי-אַגענט",
"label": "AI אַגענט",
"קס": 0,
"י": 0
},
{
"id": "סטאַקינג",
"label": "סטאַקגען",
"קס": 2,
"י": 0
},
{
"id": "דספּי",
"label": "DSPy",
"קס": 4,
"י": 0
},
{
"id": "לאַנגטשאַין",
"label": "לאַנגטשאַין",
"קס": 6,
"י": 0
},
{
"id": "אינפראַסטרוקטור",
"label": "אינפראַסטרוקטור",
"קס": 8,
"י": 0
}
],
"עדזשאַז": [
{
"source": "אַי-אַגענט",
"target": "סטאַקינג",
"label": "ינאַגריישאַן"
},
{
"source": "סטאַקגען",
"target": "דספּי",
"label": "ינאַגריישאַן"
},
{
"source": "dspy",
"target": "אינפֿראַסטראַקטשער",
"label": "פּראַוויזשאַן"
},
{
"source": "סטאַקגען",
"target": "לאַנגטשאַין",
"label": "ינאַגריישאַן"
},
{
"source": "לאַנגטשאַין",
"target": "אינפֿראַסטראַקטשער",
"label": "פּראַוויזשאַן"
}
]
}
שפּיץ 5-10 מערסט געוויינט קאַמאַנדז / סניפּאַץ
דאָ זענען די שפּיץ 5-10 מערסט געוויינט קאַמאַנדז / סניפּאַץ פֿאַר דעם טעכנאָלאָגיע:
dspy.Workflow(נאָמען = "אינפראַסטרוקטור-פּראָוויזשאַן", סטעפּס = [dspy.Step ("פּרעוויזיע-עק2", "אַווס-פּראָוויזשאַן-עק2")])langchain::Agent::new("infrastructure-provisioning").add_workflow(provision_infrastructure())stackgen::StackGen::new().add_resource("ec2", "aws-provision-ec2")dspy.trigger(name="new-request", event="aws-api-gateway-event", handler="start-workflow")langchain::Agent::new("infrastructure-provisioning").add_trigger(new_request("aws-api-gateway-event"))stackgen::StackGen::new().add_resource("rds", "aws-provision-rds")- `dspy.Handler (נאָמען = "אָנהייב-וואָרקפלאָוו", וואָרקפלאָוו = דספּי.וואָרקפלאָוו (נאָמען = "אינפראַסטרוקטור-פּראַוויזשאַן"))
langchain::Agent::new("infrastructure-provisioning").add_handler(start_workflow)stackgen::StackGen::new().add_resource("elb", "aws-provision-elb")dspy.DSPy().add_workflow(dspy.Workflow(נאָמען = "אינפראַסטרוקטור-פּראַוויזשאַן"))
# מסקנא
דיזיינינג אָטאַנאַמאַס ינפראַסטראַקטשער מיט אַי אגענטן און StackGen ריקווייערז אַ טיף פארשטאנד פון די ינטערסעקשאַן פון די טעקנאַלאַדזשיז און אָרקעסטראַטיאָן מכשירים ווי DSPy און LangChain. דורך ינטאַגרייטינג אַי אגענטן מיט StackGen און אָרקעסטראַטיאָן מכשירים, אָרגאַנאַזיישאַנז קענען אָטאַמייט ינפראַסטראַקטשער פּראַוויזשאַנז און פאַרוואַלטונג, וואָס פירן צו געוואקסן עפעקטיווקייַט, רידוסט קאָס און ימפּרוווד רילייאַבילאַטי. דער אַרטיקל האט צוגעשטעלט אַ טעכניש טיף ונטערטוקנ זיך אין די פּלאַן און ימפּלאַמענטיישאַן פון אָטאַנאַמאַס ינפראַסטראַקטשער ניצן אַי אגענטן און StackGen, מיט אַ פאָקוס אויף די פּראַקטיש דעטאַילס פון ינטאַגרייטינג די טעקנאַלאַדזשיז.