אָרטשעסטראַטינג אַוטאָנאָמאָוס ינפראַסטראַקטשער מיט ימפּרוווד אַי אַגענט קייפּאַבילאַטיז: אַ טעכניש גייד צו אַקסעלערייטינג דעוואָפּס מיט DSPy און LangChain | B4N1

אָרטשעסטראַטינג אַוטאָנאָמאָוס ינפראַסטראַקטשער מיט ימפּרוווד אַי אַגענט קייפּאַבילאַטיז: אַ טעכניש גייד צו אַקסעלערייטינג דעוואָפּס מיט DSPy און LangChain

3 months ago · b4n1 Read time: 6 min

# הקדמה

אין הייַנט ס שנעל-פּייסט דיגיטאַל לאַנדשאַפט, די נויט פֿאַר עפעקטיוו און סקאַלאַבלע ינפראַסטראַקטשער פאַרוואַלטונג איז קיינמאָל געווען מער דרינגלעך. ווי די פאָדערונג פֿאַר וואָלקן-באזירט באַדינונגס האלט צו וואַקסן, אָרגאַנאַזיישאַנז ווענדן צו אָטאַנאַמאַס ינפראַסטראַקטשער סאַלושאַנז צו סטרימליין זייער DevOps פּראַסעסאַז. אין דעם אַרטיקל, מיר וועלן דעלוו אין די וועלט פון אַי-Powered ינפראַסטראַקטשער אָרקעסטראַטיאָן, ויספאָרשן די קייפּאַבילאַטיז פון DSPy און LangChain, צוויי קאַטינג-ברעג מכשירים וואָס רעוואַלושאַנייז די וועג מיר פירן און אָטאַמייט אונדזער ינפראַסטראַקטשער.

די אַרויסרופן פון דעוואָפּס אַוטאָמאַטיאָן

DevOps אָטאַמיישאַן איז אַ קאָמפּלעקס אַרבעט וואָס ריקווייערז אַ טיף פארשטאנד פון קייפל טעקנאַלאַדזשיז, פֿון קאַנטיינערז און אָרקעסטראַטיאָן צו מאָניטאָרינג און לאָגינג. ווי די נומער פון אַפּלאַקיישאַנז און באַדינונגס וואקסט, די קאַמפּלעקסיטי פון די ינפראַסטראַקטשער איז ינקריסינג, וואָס מאכט עס ינקריסינגלי שווער צו פירן און טייַנען. טראַדיציאָנעל אַפּראָוטשיז צו DevOps אָטאַמיישאַן אָפט פאַרלאָזנ זיך מאַנואַל סקריפּטינג און קאַנפיגיעריישאַן, וואָס קענען פירן צו ערראָרס, ינגקאַנסיסטענסיז און זיכערהייט וואַלנעראַביליטיז.

די העכערונג פון AI-Powered ינפראַסטראַקטשער אָרקעסטראַטיאָן

AI-Powered ינפראַסטראַקטשער אָרקעסטראַטיאָן איז אַ שפּיל-טשאַנגער אין דער וועלט פון DevOps אָטאַמיישאַן. דורך לעווערידזשינג מאַשין לערנען און נאַטירלעך שפּראַך פּראַסעסינג, אַי אגענטן קענען אָטאַמייט קאָמפּלעקס טאַסקס, פאָרויסזאָגן און פאַרמייַדן ישוז און אַפּטאַמייז מיטל יוטאַלאַזיישאַן. DSPy און LangChain זענען צוויי לידינג מכשירים אין דעם פּלאַץ, וואָס פאָרשלאָגן אַ קייט פון פֿעיִקייטן און קייפּאַבילאַטיז וואָס קענען העלפֿן אָרגאַנאַזיישאַנז פאַרגיכערן זייער DevOps פּראַסעסאַז.

DSPy: אַ פּיטהאָן-באזירט אַי אָרקעסטראַטיאָן פראַמעוואָרק

DSPy איז אַ פּיטהאָן-באזירט אַי אָרקעסטראַטיאָן פריימווערק וואָס ינייבאַלז דעוועלאָפּערס צו בויען און צעוויקלען יי-פּאַוערד ינפראַסטראַקטשער אָטאַמיישאַן סאַלושאַנז. מיט DSPy, איר קענען מאַכן מנהג אַי אגענטן וואָס קענען ינטעראַקט מיט דיין ינפראַסטראַקטשער, אָטאַמייט טאַסקס און מאַכן דיסיזשאַנז באזירט אויף פאַקטיש-צייט דאַטן. דספּי ס מאַדזשאַלער אַרקאַטעקטשער און ברייט ביבליאָטעק פון פאַר-געבויט קאַמפּאָונאַנץ מאַכן עס אַן אידעאל ברירה פֿאַר גרויס-וואָג ינפראַסטראַקטשער פאַרוואַלטונג.

שליסל פֿעיִקייטן פון DSPy

  • ** מאַדזשאַלער אַרקאַטעקטשער **: די מאַדזשאַלער אַרקאַטעקטשער פון DSPy אַלאַוז איר צו בויען און צעוויקלען מנהג אַי אגענטן וואָס קענען ינטעראַקט מיט דיין ינפראַסטראַקטשער.
  • ** ברייט ביבליאָטעק **: די ברייט ביבליאָטעק פון DSPy פון פאַר-געבויט קאַמפּאָונאַנץ מאכט עס גרינג צו אָטאַמייט קאָמפּלעקס טאַסקס און ויסשטימען מיט פאָלקס דעוואָפּס מכשירים.
  • ** פאַקטיש-צייט דאַטאַ פּראַסעסינג **: DSPy ס פאַקטיש-צייט דאַטן פּראַסעסינג קייפּאַבילאַטיז געבן אַי אגענטן צו מאַכן דיסיזשאַנז באזירט אויף אַרויף-צו-דעם-מינוט דאַטן.

סימפּלע דספּי קאָד בייַשפּיל

דאָ איז אַ פּשוט בייַשפּיל פון אַ DSPy קאָד בלאָק וואָס אָטאַמייז די דיפּלוימאַנט פון אַ נייַ קאַנטיינער:

אַרייַנפיר דספּי

# דעפינירן די אַי אַגענט
אַגענט = דספּי.אַגענט()

# דעפינירן די קאַנטיינער דיפּלוימאַנט אַרבעט
task = dspy.task(
    נאָמען = "אָפּזעצן קאַנטיינער",
    description = "צעוויקלען אַ נייַע קאַנטיינער אין די פּראָדוקציע סוויווע",
    ינפּוץ=["container_image", "container_port"],
    outputs=["container_id"]
)

# דעפינירן דעם קאַנטיינער דיפּלוימאַנט שריפט
שריפט = dspy.script(
    נאָמען = "אָפּזעצן קאַנטיינער סקריפּט",
    description = "צעוויקלען אַ נייַע קאַנטיינער אין די פּראָדוקציע סוויווע",
    קאָד="""
    #!/בין/באַש
    docker run -d -p {container_port}: {container_port} {container_image}
    """
)

# צוטשעפּען די שריפט צו די אַרבעט
task.attach_script(שריפט)

# דעפינירן די וואָרקפלאָוו פון די אַי אַגענט
וואָרקפלאָוו = dspy.Workflow(
    נאָמען = "Container Deployment Workflow",
    description="אָטאַמאַט די דיפּלוימאַנט פון אַ נייַ קאַנטיינער",
    טאַסקס = [אַרבעט]
)

# דעפינירן די קאַנפיגיעריישאַן פון די אַי אַגענט
config = dspy.config(
    נאָמען = "Container Deployment Config",
    description="קאָנפיגורע די אַי אַגענט פֿאַר קאַנטיינער דיפּלוימאַנט",
    ינפּוץ=["container_image", "container_port"]
)

# שאַפֿן די אַי אַגענט
agent.create (וואָרקפלאָוו, קאָנפיג)

דער קאָד בלאָק דיפיינז אַ פּשוט אַי אַגענט וואָס אָטאַמייץ די דיפּלוימאַנט פון אַ נייַ קאַנטיינער צו די פּראָדוקציע סוויווע. דער אַגענט ניצט אַ פאַר-געבויט קאַנטיינער דיפּלוימאַנט שריפט צו צעוויקלען דעם קאַנטיינער, און די וואָרקפלאָוו איז קאַנפיגיערד צו אָננעמען אַרייַנשרייַב פּאַראַמעטערס פֿאַר די קאַנטיינער בילד און פּאָרט.

LangChain: אַ זשאַווער-באזירט אַי אָרקעסטראַטיאָן פראַמעוואָרק

LangChain איז אַ רוסט-באזירט אַי אָרקעסטראַטיאָן פריימווערק וואָס ינייבאַלז דעוועלאָפּערס צו בויען און צעוויקלען יי-פּאַוערד ינפראַסטראַקטשער אָטאַמיישאַן סאַלושאַנז. מיט LangChain, איר קענען מאַכן מנהג אַי אגענטן וואָס קענען ינטעראַקט מיט דיין ינפראַסטראַקטשער, אָטאַמייט טאַסקס און מאַכן דיסיזשאַנז באזירט אויף פאַקטיש-צייט דאַטן. LangChain ס מאַדזשאַלער אַרקאַטעקטשער און ברייט ביבליאָטעק פון פאַר-געבויט קאַמפּאָונאַנץ מאַכן עס אַן אידעאל ברירה פֿאַר גרויס-וואָג ינפראַסטראַקטשער פאַרוואַלטונג.

שליסל פֿעיִקייטן פון LangChain

  • ** מאַדזשאַלער אַרקאַטעקטשער **: די מאַדזשאַלער אַרקאַטעקטשער פון LangChain אַלאַוז איר צו בויען און צעוויקלען מנהג אַי אגענטן וואָס קענען ינטעראַקט מיט דיין ינפראַסטראַקטשער.
  • ** ברייט ביבליאָטעק **: LangChain ס ברייט ביבליאָטעק פון פאַר-געבויט קאַמפּאָונאַנץ מאכט עס גרינג צו אָטאַמייט קאָמפּלעקס טאַסקס און ויסשטימען מיט פאָלקס דעוואָפּס מכשירים.
  • ** פאַקטיש-צייט דאַטאַ פּראַסעסינג **: LangChain ס פאַקטיש-צייט דאַטן פּראַסעסינג קייפּאַבילאַטיז געבן אַי אגענטן צו מאַכן דיסיזשאַנז באזירט אויף אַרויף-צו-דעם-מינוט דאַטן.

סימפּלע לאַנגטשאַין קאָוד בייַשפּיל

דאָ איז אַ פּשוט בייַשפּיל פון אַ LangChain קאָד בלאָק וואָס אָטאַמייז די דיפּלוימאַנט פון אַ נייַ קאַנטיינער:

נוצן לאַנגטשאַין::{אַגענט, טאַסק, סקריפּט, וואָרקפלאָוו, קאָנפיג};

// דעפינירן די אַי אַגענט
לאָזן אַגענט = אַגענט :: נייַ ();

// דעפינירן די קאַנטיינער דיפּלוימאַנט אַרבעט
לאָזן אַרבעט = טאַסק:: נייַ (
    "אָפּזעצן קאַנטיינער",
    "צעוויקלען אַ נייַע קאַנטיינער צו די פּראָדוקציע סוויווע",
    vec!["container_image", "container_port"],
    vec!["container_id"]
);

// דעפינירן דעם קאַנטיינער דיפּלוימאַנט שריפט
לאָזן שריפט = שריפט:: נייַ (
    "אָפּזעצן קאַנטיינער סקריפּט",
    "צעוויקלען אַ נייַע קאַנטיינער צו די פּראָדוקציע סוויווע",
    ר #"
    #!/בין/באַש
    docker run -d -p {container_port}: {container_port} {container_image}
    "#,
    vec!["container_image", "container_port"]
);

// צוטשעפּען די שריפט צו די אַרבעט
טאַסק.אַטאַטש_סקריפּט (שריפט);

// דעפינירן די וואָרקפלאָוו פון די אַי אַגענט
לאָזן וואָרקפלאָוו = וואָרקפלאָוו:: נייַ (
    "Container Deployment Workflow",
    "אָטאַמייט די דיפּלוימאַנט פון אַ נייַ קאַנטיינער",
    vec! [אַרבעט]
);

// דעפינירן די קאַנפיגיעריישאַן פון די אַי אַגענט
לאָזן קאָנפיג = קאָנפיג:: נייַ(
    "Container Deployment Config",
    "קאַנפיגיער די אַי אַגענט פֿאַר קאַנטיינער דיפּלוימאַנט",
    vec!["container_image", "container_port"]
);

// שאַפֿן די אַי אַגענט
אַגענט.קרעאַטע (וואָרקפלאָוו, קאָנפיג);

דער קאָד בלאָק דיפיינז אַ פּשוט אַי אַגענט וואָס אָטאַמייץ די דיפּלוימאַנט פון אַ נייַ קאַנטיינער צו די פּראָדוקציע סוויווע. דער אַגענט ניצט אַ פאַר-געבויט קאַנטיינער דיפּלוימאַנט שריפט צו צעוויקלען דעם קאַנטיינער, און די וואָרקפלאָוו איז קאַנפיגיערד צו אָננעמען אַרייַנשרייַב פּאַראַמעטערס פֿאַר די קאַנטיינער בילד און פּאָרט.

שפּיץ 5-10 מערסט געוויינט קאַמאַנדז / סניפּאַץ

דאָ זענען די שפּיץ 5-10 מערסט געוויינט קאַמאַנדז / סניפּאַץ פֿאַר DSPy און LangChain:

דספּי

  1. dspy.Agent().create(workflow, config): קרעאַטעס אַ נייַ אַי אַגענט מיט די ספּעסאַפייד וואָרקפלאָוו און קאַנפיגיעריישאַן.
  2. dspy.task().attach_script(script): אַטאַטשיז אַ שריפט צו אַ אַרבעט אין די אַי אַגענט ס וואָרקפלאָוו.
  3. dspy.Script().new(נאָמען, באַשרייַבונג, קאָד): קרעאַטעס אַ נייַ שריפט מיט די ספּעסאַפייד נאָמען, באַשרייַבונג, און קאָד.
  4. dspy.Workflow().new(נאָמען, באַשרייַבונג, טאַסקס): קרעאַטעס אַ נייַ וואָרקפלאָוו מיט די ספּעסאַפייד נאָמען, באַשרייַבונג, און טאַסקס.
  5. dspy.Config().new(נאָמען, באַשרייַבונג, ינפּוץ): קרעאַטעס אַ נייַ קאַנפיגיעריישאַן מיט די ספּעסאַפייד נאָמען, באַשרייַבונג, און אַרייַנשרייַב פּאַראַמעטערס.

לאנגטשיין

  1. langchain::Agent::new(): קריייץ אַ נייַ אַי אַגענט.
  2. langchain :: טאַסק :: נייַ(נאָמען, באַשרייַבונג, ינפּוץ, אַוטפּוץ): קריייץ אַ נייַע אַרבעט מיט די ספּעסיפיעד נאָמען, באַשרייַבונג, ינפּוץ און אַוטפּוץ.
  3. langchain :: סקריפּט :: נייַ (נאָמען, באַשרייַבונג, קאָד, ינפּוץ): קריייץ אַ נייַ שריפט מיט די ספּעסיפיעד נאָמען, באַשרייַבונג, קאָד און אַרייַנשרייַב פּאַראַמעטערס.
  4. langchain::Workflow::new(נאָמען, באַשרייַבונג, טאַסקס): קריייץ אַ נייַע וואָרקפלאָוו מיט די ספּעסיפיעד נאָמען, באַשרייַבונג און טאַסקס.
  5. langchain::Config::new(נאָמען, באַשרייַבונג, ינפּוץ): קריייץ אַ נייַע קאַנפיגיעריישאַן מיט די ספּעסיפיעד נאָמען, באַשרייַבונג און אַרייַנשרייַב פּאַראַמעטערס.

וויסואַליזאַטיאָן

דאָ איז אַ וויזשוואַלאַזיישאַן פון די וואָרקפלאָוו פון די אַי אַגענט ניצן Chart.js:

{
  "type": "באַר",
  "דאַטן": {
    "labels": ["קאָנטאַינער דיפּלוימאַנט", "אַרבעט 1", "אַרבעט 2", "אַרבעט 3"],
    "דאַטאַסעטס": [
      {
        "label": "וואָרקפלאָוו",
        "דאַטן": [10, 5, 3, 2],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "באָרדערווידטה": 1
      }
    ]
  },
  "אָפּציעס": {
    "טיטל": {
      "ווייַז": אמת,
      "text": "AI אַגענט וואָרקפלאָוו"
    },
    "סקאַלעס": {
      "יאַקסעס": [
        {
          "ווייַז": אמת,
          "scaleLabel": {
            "ווייַז": אמת,
            "labelString": "טאַסקס"
          }
        }
      ]
    }
  }
}

די וויזשוואַלאַזיישאַן ווייַזן די וואָרקפלאָוו פון די אַי אַגענט, מיט יעדער אַרבעט רעפּריזענטיד דורך אַ באַר. די X-אַקס רעפּראַזענץ די טאַסקס, און די י-אַקס רעפּראַזענץ די נומער פון טאַסקס.

# מסקנא

אין דעם אַרטיקל, מיר האָבן יקספּלאָרד די וועלט פון אַי-Powered ינפראַסטראַקטשער אָרקעסטראַטיאָן, פאָוקיסינג אויף DSPy און LangChain, צוויי לידינג מכשירים אין דעם פּלאַץ. מיר האָבן געזען ווי די מכשירים קענען ווערן גענוצט צו אָטאַמייט קאָמפּלעקס טאַסקס, פאָרויסזאָגן און פאַרהיטן ישוז און אַפּטאַמייז מיטל יוטאַלאַזיישאַן. מיט זייער מאַדזשאַלער אַרקאַטעקטשער און ברייט לייברעריז פון פאַר-געבויט קאַמפּאָונאַנץ, DSPy און LangChain זענען ידעאַל ברירות פֿאַר גרויס-וואָג ינפראַסטראַקטשער פאַרוואַלטונג. צי איר זענט אַ סיזאַנד DevOps פאַכמאַן אָדער נאָר סטאַרטינג אויס, די מכשירים זענען זיכער צו העלפֿן איר פאַרגיכערן דיין DevOps פּראַסעסאַז און נעמען דיין ינפראַסטראַקטשער פאַרוואַלטונג צו דער ווייַטער מדרגה.


Have Questions?

Let's Talk

Contact me on LinkedIn