LangChain болон DSPy-тэй хиймэл оюун ухаанаар ажилладаг програм хангамж хөгжүүлэлтийг зохион байгуулах | B4N1

LangChain болон DSPy-тэй хиймэл оюун ухаанаар ажилладаг програм хангамж хөгжүүлэлтийг зохион байгуулах

6 months ago · b4n1 Read time: 5 min

LangChain болон DSPy-тэй хиймэл оюун ухаанаар ажилладаг програм хангамж хөгжүүлэлтийг зохион байгуулах

Танилцуулга

DevOps автоматжуулалт болон програм хангамжийн архитектурт хиймэл оюун ухаанаар ажилладаг багаж хэрэгсэл, технологиуд улам бүр чухал үүрэг гүйцэтгэж байгаа тул програм хангамж хөгжүүлэх орчин хурдацтай хөгжиж байна. Энэ орон зайд алдартай хоёр тоглогч бол AI-д суурилсан програм хангамж хөгжүүлэх дамжуулах шугамыг бий болгоход хүчирхэг зохион байгуулах чадварыг санал болгодог LangChain болон DSPy юм. Энэ нийтлэлд бид LangChain болон DSPy-ийн ертөнцийг судалж, тэдний чадавхи, ашиг тус, хиймэл оюун ухаанаар ажилладаг програм хангамж боловсруулахад практик хэрэглээг судлах болно.

LangChain гэж юу вэ?

LangChain бол харилцан ярианы AI програмуудыг бүтээхэд зориулагдсан нээлттэй эх сурвалжтай, Python-д суурилсан хүрээ юм. Энэ нь байгалийн хэл боловсруулах (NLP), машин сурах (ML) болон програм хангамж боловсруулахад зориулсан хүчирхэг хэрэгслүүдээр хангадаг бөгөөд энэ нь хиймэл оюун ухаанаар ажилладаг програм хангамжийг хөгжүүлэхэд тохиромжтой сонголт болгодог. LangChain-ийн үндсэн шинж чанарууд нь:

  • Харилцан ярианы хиймэл оюун ухаан: LangChain нь NLP болон ML техникийг ашиглан чатбот болон дуут туслах зэрэг харилцан ярианы интерфейсийг бий болгох боломжийг хөгжүүлэгчдэд олгодог.
  • Програм хангамж боловсруулах: LangChain нь програм хангамж боловсруулахад зориулсан код үүсгэх, дибаг хийх, турших зэрэг олон төрлийн хэрэгслээр хангадаг.
  • ** Зохион байгуулалт**: LangChain-ийн зохион байгуулах чадвар нь хөгжүүлэгчдэд нарийн төвөгтэй ажлын урсгал болон дамжуулах хоолойг автоматжуулах боломжийг олгодог бөгөөд энэ нь том хэмжээний програм хангамж хөгжүүлэх төслүүдийг удирдахад хялбар болгодог.

DSPy гэж юу вэ?

DSPy нь Python-д суурилсан мэдээллийн шинжлэх ухаан, машин сургалтын дамжуулах шугамыг бий болгоход зориулагдсан хүрээ юм. Энэ нь өгөгдлийг урьдчилан боловсруулах, функцын инженерчлэл, загварчлалын сургалт, байршуулалт зэрэг олон төрлийн хэрэгслээр хангадаг. DSPy-ийн үндсэн шинж чанарууд нь:

  • Өгөгдлийн шинжлэх ухаан: DSPy нь хөгжүүлэгчдэд өгөгдөл шингээх, боловсруулах, дүн шинжилгээ хийх зэрэг мэдээллийн шинжлэх ухааны шугам сүлжээг бий болгох боломжийг олгодог.
  • Machine Learning: DSPy нь загвар сургалт, тааруулах, байршуулах зэрэг машин сурахад зориулсан олон төрлийн хэрэгслээр хангадаг.
  • ** Зохион байгуулалт**: DSPy-ийн зохион байгуулах чадвар нь хөгжүүлэгчдэд нарийн төвөгтэй ажлын урсгал, дамжуулах хоолойг автоматжуулах боломжийг олгодог бөгөөд энэ нь том хэмжээний мэдээллийн шинжлэх ухаан, машин сургалтын төслүүдийг удирдахад хялбар болгодог.

LangChain болон DSPy-тэй хиймэл оюун ухаанаар ажилладаг програм хангамж хөгжүүлэлтийг зохион байгуулах

LangChain болон DSPy-ийн AI-ээр ажилладаг програм хангамж хөгжүүлэлтийн хүчийг харуулахын тулд энгийн жишээг авч үзье. Бид дараах ажлуудыг автоматжуулдаг хиймэл оюун ухаанаар ажилладаг программ хангамж хөгжүүлэх шугам барихыг хүсч байна гэж бодъё.

  1. Код үүсгэх: Загвар ашиглан вэб программд зориулсан үндсэн Python скриптийг үүсгэх.
  2. Код хянан үзэх: Үүсгэсэн кодыг алдааг шалгаж, сайжруулалтыг санал болгоно.
  3. Туршилт: Үүсгэсэн код нь шаардлагатай стандартад нийцэж байгаа эсэхийг шалгахын тулд автоматжуулсан туршилтыг явуулна.
  4. Байршуулах: Үүсгэсэн кодыг үүлэн дээр суурилсан платформ дээр байрлуулна.

Энэ дамжуулах хоолойг автоматжуулахын тулд LangChain болон DSPy-г хэрхэн ашиглахыг харуулсан энгийн кодын блок энд байна.

langchain импортлох
langchain.chains-аас ConversationalAI импортлох
langchain.llms импортын LLM-ээс


дамжуулах хоолой = ConversationalAI(
    llm=LLM("текст-давинчи-003"),
    гинж=[
        langchain.PipelineStep(
            нэр = "Код үүсгэх",
            func=lambda x: f"импортын колбо\napp = колбо. Колбо(__нэр__)\n@app.route('/')\ndef index():\n 'Сайн уу Дэлхий!'-г буцаана",
        ),
        langchain.PipelineStep(
            name = "Код хянан үзэх",
            func=lambda x: "Үйлдвэрлэсэн код нь сайн харагдаж байна, гэхдээ алдаа засах талаар нэмж бодоорой.",
        ),
        langchain.PipelineStep(
            нэр = "Туршилт",
            func=lambda x: "Тестүүд ажиллаж байна...\nPASS: index()",
        ),
        langchain.PipelineStep(
            нэр = "Байрлуулах",
            func=lambda x: "Үүлэн платформ дээр байрлуулж байна...\nАмжилт!",
        ),
    ],
)

# Дамжуулах хоолойг ажиллуул
үр дүн = pipeline.run(input = "Вэб програмд зориулсан үндсэн Python скрипт үүсгэх.")

хэвлэх (үр дүн)

Энэхүү кодын блок нь LangChain болон DSPy-г ашиглан хиймэл оюун ухаанаар ажилладаг программ хангамж хөгжүүлэх дамжуулах хоолойг хэрхэн автоматжуулахыг харуулж байна. Дамжуулах хоолой нь код үүсгэх, кодыг шалгах, турших, байршуулах гэсэн дөрвөн үе шатаас бүрдэнэ. Алхам бүрийг LangChain дамжуулах алхам ашиглан хэрэгжүүлдэг бөгөөд энэ нь гүйцэтгэх тодорхой ажлыг тодорхойлдог.

LangChain болон DSPy-ийн ашиг тус

LangChain болон DSPy-ийг хиймэл оюун ухаанаар ажилладаг програм хангамж боловсруулахад ашиглах нь маш олон давуу талтай.

  • Автоматжуулалт: LangChain болон DSPy нь хөгжүүлэгчдэд нарийн төвөгтэй ажлын урсгал, дамжуулах хоолойг автоматжуулах боломжийг олгодог бөгөөд энэ нь том хэмжээний програм хангамж хөгжүүлэх төслүүдийг удирдахад хялбар болгодог.
  • Үр ашигтай байдал: Давтагдах даалгавруудыг автоматжуулснаар хөгжүүлэгчид бүтээлч байдал, асуудал шийдвэрлэх ур чадвар шаардсан дээд түвшний ажлуудад анхаарлаа төвлөрүүлж чадна.
  • Тогтвортой байдал: LangChain болон DSPy нь програм хангамж боловсруулах үйл явцын тогтвортой байдлыг хангаж, алдааны эрсдлийг бууруулж, ерөнхий чанарыг сайжруулдаг.
  • ** Өргөтгөх чадвар**: LangChain болон DSPy нь том хэмжээний төслүүдийн эрэлт хэрэгцээг хангахын тулд програм хангамж хөгжүүлэх шугамын хэмжээг нэмэгдүүлэх боломжийг хөгжүүлэгчдэд олгодог.

Хамгийн их ашиглагддаг 5-10 тушаал/хэсэг

LangChain болон DSPy-д хамгийн их хэрэглэгддэг 5-10 тушаал/хэсэг энд байна:

  1. langchain.PipelineStep: Дамжуулах хоолойд гүйцэтгэх тодорхой ажлыг тодорхойлно.
дамжуулах_алхам = langchain.PipelineStep(
    нэр = "Код үүсгэх",
    func=lambda x: f"импортын колбо\napp = колбо. Колбо(__нэр__)\n@app.route('/')\ndef index():\n 'Сайн уу Дэлхий!'-г буцаана",
)
  1. langchain.ConversationalAI: Харилцан ярианы AI дамжуулах шугамыг тодорхойлно.
дамжуулах хоолой = langchain.ConversationalAI(
    llm=LLM("текст-давинчи-003"),
    гинж=[дамжуулах шугамын_алхам],
)
  1. DSPy.DataPipeline: Өгөгдлийн шинжлэх ухааны шугамыг тодорхойлно.
дамжуулах хоолой = DSPy.DataPipeline(
    data_source="https://example.com/data.csv",
    data_transformer=lambda x: x["багана1"] + x["багана2"],
)
  1. DSPy.ModelPipeline: Машин сургалтын дамжуулах шугамыг тодорхойлно.
дамжуулах хоолой = DSPy.ModelPipeline(
    загвар = "шугаман_регресс",
    data_source="https://example.com/data.csv",
    data_transformer=lambda x: x["багана1"] + x["багана2"],
)
  1. langchain.LLM: Хэлний загварыг тодорхойлно.
llm = langchain.LLM("текст-давинчи-003")
  1. DSPy.DataTransformer: Өгөгдлийн трансформаторыг тодорхойлно.
трансформатор = DSPy.DataTransformer(lambda x: x["багана1"] + x["багана2"])
  1. DSPy.ModelTrainer: Загвар сургагч багшийг тодорхойлно.
сургагч = DSPy.ModelTrainer(загвар = "шугаман_регресс")
  1. langchain.Pipeline: Дамжуулах хоолойг тодорхойлно.
дамжуулах хоолой = langchain.Pipeline(
    гинж=[дамжуулах шугамын_алхам],
)
  1. DSPy.DataLoader: Өгөгдөл дуудагчийг тодорхойлно.
дуудагч = DSPy.DataLoader(өгөгдлийн_source="https://example.com/data.csv")
  1. DSPy.ModelDeployer: Загвар байршуулагчийг тодорхойлно.
байршуулагч = DSPy.ModelDeployer(загвар = "шугаман_регресс")

Дүрслэл

Chart.js ашиглан LangChain болон DSPy дамжуулах хоолойн дүрслэлийг энд үзүүлэв.

{
  "төрөл": "бар",
  "өгөгдөл": {
    "шошго": ["Код үүсгэх", "Код хянах", "Туршилт", "Байршуулах"],
    "өгөгдлийн багц": [
      {
        "label": "LangChain",
        "өгөгдөл": [10, 8, 12, 15],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        "хилийн өргөн": 1
      },
      {
        "label": "DSPy",
        "өгөгдөл": [8, 10, 12, 15],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        "хилийн өргөн": 1
      }
    ]
  },
  "сонголт": {
    "гарчиг": {
      "дэлгэц": үнэн,
      "текст": "LangChain болон DSPy дамжуулах хоолой"
    },
    "масштаб": {
      "yAxes": [
        {
          "хачиг": {
            "beginAtZero": үнэн
          }
        }
      ]
    }
  }
}

Энэхүү дүрслэл нь дамжуулах хоолойд LangChain болон DSPy-ийн гүйцэтгэсэн ажлын тоог харуулж байна. X тэнхлэг нь даалгавруудыг, y тэнхлэг нь гүйцэтгэсэн ажлын тоог илэрхийлнэ.

Дүгнэлт

LangChain болон DSPy нь хиймэл оюун ухаанд суурилсан програм хангамж хөгжүүлэх шугамыг бий болгох хүчирхэг зохион байгуулалтын чадварыг санал болгодог. Нарийн төвөгтэй ажлын урсгал, дамжуулах хоолойг автоматжуулснаар хөгжүүлэгчид бүтээлч байдал, асуудлыг шийдвэрлэх ур чадвар шаарддаг дээд түвшний ажлуудад анхаарлаа төвлөрүүлж чадна. LangChain болон DSPy-ийг ашиглахын давуу талууд нь автоматжуулалт, үр ашиг, тууштай байдал, өргөтгөх чадвар зэрэг орно. LangChain болон DSPy-ийн тусламжтайгаар хөгжүүлэгчид том хэмжээний төслүүдийн эрэлт хэрэгцээг хангахуйц хиймэл оюун ухаанаар ажилладаг програм хангамж хөгжүүлэх дамжуулах шугамыг барьж чадна.


Have Questions?

Let's Talk

Contact me on LinkedIn