Аркестрацыя аўтаматызацыі DevOps на базе штучнага інтэлекту з DSPy і LangChain для геапрасторавай выведкі | B4N1

Аркестрацыя аўтаматызацыі DevOps на базе штучнага інтэлекту з DSPy і LangChain для геапрасторавай выведкі

5 months ago · b4n1 Read time: 4 min

Аркестрацыя аўтаматызацыі DevOps на базе AI з DSPy і LangChain для геапрасторавай выведкі

Уводзіны

Збой у індустрыі коштам 5 трыльёнаў долараў, выкліканы інавацыямі ў робататэхніцы і бяспекай архітэктуры праграмнага забеспячэння, выклікаў вострую патрэбу ў эфектыўнай і дзейснай аўтаматызацыі DevOps. Геапрасторавая разведка, якая прадугледжвае збор, аналіз і інтэрпрэтацыю геаграфічна прывязаных даных, з'яўляецца найважнейшым кампанентам гэтага зрыву. У гэтым артыкуле мы даследуем скрыжаванне штучнага інтэлекту, геапрасторавага інтэлекту і аўтаматызацыі DevOps з выкарыстаннем DSPy і LangChain. Мы паглыбімся ў праблемы інавацый робататэхнікі і бяспекі архітэктуры праграмнага забеспячэння і прадэманструем, як можна выкарыстоўваць DSPy і LangChain для вырашэння гэтых праблем.

Праблемы інавацый робататэхнікі і бяспекі архітэктуры праграмнага забеспячэння

Інавацыі ў робататэхніцы прывялі да распрацоўкі аўтаномных сістэм, якія могуць збіраць і аналізаваць велізарныя аб'ёмы геапрасторавых даных. Аднак гэта таксама стварыла новыя праблемы з пункту гледжання бяспекі архітэктуры праграмнага забеспячэння. Па меры таго, як аўтаномныя сістэмы становяцца больш складанымі, павялічваецца рызыка праграмных памылак і ўразлівасцяў бяспекі. Гэта можа мець сур'ёзныя наступствы, у тым ліку аварыі і ўцечку даных.

Роля штучнага інтэлекту ў аўтаматызацыі DevOps

Штучны інтэлект (AI) можа здзейсніць рэвалюцыю ў аўтаматызацыі DevOps, прадастаўляючы інфармацыю ў рэжыме рэальнага часу і аўтаматызуючы паўтаральныя задачы. Інструменты на базе штучнага інтэлекту могуць аналізаваць вялікія наборы даных, вызначаць заканамернасці і рабіць прагнозы, што дазваляе распрацоўшчыкам засяродзіцца на задачах высокага ўзроўню і палепшыць агульную якасць свайго кода.

Прадстаўляем DSPy і LangChain

DSPy і LangChain - гэта два фрэймворкі з адкрытым зыходным кодам, якія дазваляюць распрацоўшчыкам ствараць інструменты аўтаматызацыі DevOps на базе AI. DSPy - гэта фрэймворк на аснове Python, які забяспечвае набор бібліятэк і інструментаў для стварэння канвеераў навукі аб дадзеных. З іншага боку, LangChain - гэта структура, якая дазваляе распрацоўшчыкам ствараць размоўныя мадэлі штучнага інтэлекту з выкарыстаннем розных моў праграмавання, уключаючы Python і Go.

Выкарыстанне DSPy і LangChain для геапрасторавай выведкі

Каб прадэманстраваць магчымасці DSPy і LangChain, давайце разгледзім просты прыклад. Выкажам здагадку, што мы хочам стварыць інструмент, які збірае і аналізуе геапрасторавыя даныя з розных крыніц, уключаючы спадарожнікавыя здымкі і даныя датчыкаў. Мы можам выкарыстоўваць DSPy для стварэння канвеера дадзеных, які збірае і папярэдне апрацоўвае даныя, і LangChain для стварэння размоўнай мадэлі штучнага інтэлекту, якая дае разуменне і рэкамендацыі распрацоўшчыкам.

Прыклад кода: збор і аналіз геапрасторавых даных з дапамогай DSPy

імпартаваць панды як pd
імпартаваць numpy як np
з dspy імпартаваць DataPipeline


канвеер = канвеер дадзеных()

# Дадайце крок для збору дадзеных спадарожнікавых здымкаў
pipeline.add_step("collect_imagery", лямбда: pd.read_csv("satellite_imagery.csv"))

# Дадайце крок для папярэдняй апрацоўкі дадзеных
pipeline.add_step("папярэдні працэс_дадзеных", лямбда x: x.dropna())

# Дадайце крок для аналізу даных
pipeline.add_step("analyze_data", лямбда x: x.describe())

# Запусціце канвеер
вынікі = pipeline.run()

# Раздрукуйце вынікі
друк (вынікі)

Прыклад кода: стварэнне размоўнай мадэлі штучнага інтэлекту з дапамогай LangChain

асноўны пакет

імпарт (
	"кантэкст"
	"FMT"

	"github.com/lngchain/lngchain-go/v2/core/types"
	"github.com/lngchain/lngchain-go/v2/executor"
)

функцыя асноўны() {
	// Стварэнне новага кантэксту
	ctx := context.Background()

	// Стварыць новага выканаўцу
	выканаўца := выканаўца.NewExecutor(ctx)

	// Вызначэнне новай размоўнай мадэлі ІІ
	мадэль := &executor.Model{
		Назва: "geospatial_intelligence",
		Крокі: []executor.Step{
			{
				Назва: "collect_imagery",
				Func: func(ctx context.Context, input types.Input) (types.Output, error) {
					// Збор дадзеных спадарожнікавых здымкаў
					вяртаюцца тыпы. Вывад{Даныя: []байт("даныя_спадарожнікавых_даных")}, нуль
				},
			},
			{
				Назва: "preprocess_data",
				Func: func(ctx context.Context, input types.Input) (types.Output, error) {
					// Папярэдняя апрацоўка дадзеных
					вяртаюцца тыпы. Вывад {Даныя: [] байт ("папярэдне апрацаваныя_дадзеныя")}, нуль
				},
			},
			{
				Назва: "analyze_data",
				Func: func(ctx context.Context, input types.Input) (types.Output, error) {
					// Аналіз дадзеных
					вяртаюцца тыпы. Вывад {Даныя: [] байт ("аналізаваныя_дадзеныя")}, нуль
				},
			},
		},
	}

	// Запуск мадэлі
	вывад, памылка := выканаўца.RunModel(ctx, мадэль)

	// Надрукаваць вынік
	fmt.Println(выхад)
}

Топ-5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для DSPy і LangChain

Вось некаторыя з найбольш часта выкарыстоўваюцца каманд і фрагментаў для DSPy і LangChain:

  • DSPy:
    • dspy.DataPipeline(): Стварае новы канвеер дадзеных.
    • pipeline.add_step(): Дадае новы крок у канвеер дадзеных.
    • pipeline.run(): запускае канвеер дадзеных.
    • pd.read_csv(): Счытвае файл CSV у кадры дадзеных Pandas.
    • x.dropna(): выдаляе радкі з адсутнымі значэннямі з фрэйма Pandas.
  • LangChain:
    • executor.NewExecutor(): Стварае новы выканаўца.
    • model := &executor.Model{...}: вызначае новую размоўную мадэль AI.
    • model.Steps = []executor.Step{...}: вызначае крокі ў размоўнай мадэлі AI.
    • executor.RunModel(): запускае гутарковую мадэль AI.
    • types.Input{Data: []byte("input_data")}: Стварае новы ўваход для размоўнай мадэлі AI.

Візуалізацыя

Вось прыклад візуалізацыі з выкарыстаннем Chart.js:

{
  "тып": "бар",
  "дадзеныя": {
    "labels": ["Спадарожнікавыя выявы", "Даныя датчыка", "Іншае"],
    "наборы дадзеных": [
      {
        "label": "Крыніцы даных",
        "дадзеныя": [10, 20, 30],
        "backgroundColor": ["#FF0000", "#00FF00", "#0000FF"]
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Крыніцы даных"
    },
    "легенда": {
      "дысплей": праўда
    }
  }
}

Гэтая візуалізацыя паказвае размеркаванне крыніц даных для прыкладання геапрасторавай выведкі.

Выснова

У гэтым артыкуле мы даследавалі ўзаемасувязь штучнага інтэлекту, геапрасторавых інтэлекту і аўтаматызацыі DevOps з дапамогай DSPy і LangChain. Мы прадэманстравалі, як гэтыя структуры можна выкарыстоўваць для стварэння інструментаў аўтаматызацыі DevOps на базе штучнага інтэлекту, якія збіраюць і аналізуюць геапрасторавыя даныя. Мы таксама прадставілі прыклады кода і візуалізацыю, каб праілюстраваць магчымасці DSPy і LangChain. Выкарыстоўваючы гэтыя структуры, распрацоўшчыкі могуць ствараць больш эфектыўныя і эфектыўныя інструменты аўтаматызацыі DevOps, якія паляпшаюць якасць і надзейнасць іх кода.


Have Questions?

Let's Talk

Contact me on LinkedIn