Уводзіны
Пастаянна расце складанасць сучасных праграмных сістэм прывяла да павелічэння частаты і сур'ёзнасці інцыдэнтаў, што робіць актыўнае расследаванне і вырашэнне інцыдэнтаў найважнейшым аспектам DevOps. Штучны інтэлект (AI) і машыннае навучанне (ML) з'явіліся магутнымі інструментамі для ўдасканалення канвеераў DevOps, якія дазваляюць аўтаматызаваць і арганізоўваць на аснове штучнага інтэлекту для выяўлення і вырашэння інцыдэнтаў да таго, як яны паўплываюць на бізнес. У гэтым артыкуле мы вывучым, як рэалізаваць канвееры DevOps на базе штучнага інтэлекту з выкарыстаннем DSPy і LangChain, з упорам на актыўнае расследаванне інцыдэнтаў і дазвол з выкарыстаннем мадэляў AIOps і RAG, а таксама інтэграцыю з AWS DevOps Agent для аўтаматызаванага расследавання інцыдэнтаў.
Агляд DSPy і LangChain
DSPy - гэта бібліятэка Python, якая забяспечвае просты і эфектыўны спосаб стварэння і разгортвання канвеераў DevOps на базе AI. Гэта дазваляе распрацоўшчыкам інтэграваць розныя мадэлі AI і ML, у тым ліку апрацоўку натуральнай мовы (NLP), камп'ютэрны зрок і прагназуючую аналітыку, у свае канвееры DevOps. З іншага боку, LangChain - гэта бібліятэка Python, якая дазваляе распрацоўшчыкам ствараць і разгортваць буйнамаштабныя мадэлі AI з выкарыстаннем модульнай і маштабаванай архітэктуры.
Укараненне канвеераў DevOps на базе AI з DSPy і LangChain
Каб рэалізаваць канвееры DevOps на базе AI з DSPy і LangChain, нам трэба выканаць наступныя дзеянні:
- Збор даных: Збірайце адпаведныя даныя з розных крыніц, такіх як журналы, паказчыкі і файлы канфігурацыі.
- Папярэдняя апрацоўка даных: папярэдняя апрацоўка сабраных даных для падрыхтоўкі іх да аналізу і мадэлявання.
- Навучанне мадэлі: навучанне мадэляў AI і ML з выкарыстаннем папярэдне апрацаваных даных для выяўлення і прагназавання інцыдэнтаў.
- Разгортванне мадэлі: разгарніце навучаныя мадэлі ў канвееры DevOps з дапамогай DSPy і LangChain.
- Расследаванне інцыдэнтаў: выкарыстоўвайце разгорнутыя мадэлі для расследавання інцыдэнтаў і выяўлення першапрычын.
- Вырашэнне інцыдэнтаў: выкарыстоўвайце інфармацыю, атрыманую ў ходзе расследавання інцыдэнтаў, каб актыўна вырашаць інцыдэнты.
Прыклад кода: укараненне простай мадэлі RAG з DSPy і LangChain
Вось просты прыклад кода, які дэманструе, як рэалізаваць мадэль RAG (аналіз асноўнай прычыны) з выкарыстаннем DSPy і LangChain:
імпарт dspy
з langchain імпартаваць LLMChain
# Загрузіце папярэдне апрацаваныя даныя
дадзеныя = pd.read_csv("data.csv")
# Вызначэнне мадэлі RAG
rag_model = dspy.RAGModel(
input_features = ["log_level", "error_message"],
output_features=["першапрычына"]
)
# Трэніруйце мадэль RAG
rag_model.train(дадзеныя)
# Разгортванне мадэлі RAG
llm_chain = LLMChain(
мадэль = "davinci: 002",
максімальная_даўжыня=2048
)
rag_model.deploy(llm_chain)
# Выкарыстоўвайце разгорнутую мадэль RAG для расследавання інцыдэнтаў
incident_data = pd.DataFrame({
"log_level": ["ПАМЫЛКА"],
"error_message": ["Нешта пайшло не так"]
})
каранёвая_прычына = rag_model.predict(інцыдэнтныя_даныя)
друк (асноўная_прычына)
Гэты прыклад кода дэманструе, як рэалізаваць простую мадэль RAG з дапамогай DSPy і LangChain. Мадэль RAG прымае ўзровень журнала і паведамленне пра памылку ў якасці ўваходных функцый і прадказвае асноўную прычыну здарэння.
5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў
Вось 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для DSPy і LangChain:
dspy.RAGModel(input_features, output_features): вызначэнне мадэлі RAG з указанымі функцыямі ўводу і вываду.dspy.RAGModel.train(data): навучанне мадэлі RAG з выкарыстаннем прадстаўленых даных.dspy.RAGModel.deploy(llm_chain): Разгортванне падрыхтаванай мадэлі RAG з выкарыстаннем LangChain LLMChain.llm_chain = LLMChain(model, max_length): Стварыце LangChain LLMChain з указанай мадэллю і максімальнай даўжынёй.rag_model.predict(data): выкарыстоўвайце разгорнутую мадэль RAG для прагназавання асноўнай прычыны здарэння.dspy.DataPreprocessor(input_data): вызначэнне канвеера папярэдняй апрацоўкі даных з дапамогай DSPy.dspy.ModelTrainer(model, data): навучанне мадэлі AI або ML з дапамогай DSPy.dspy.ModelDeployer(model, llm_chain): разгортванне навучанай мадэлі з выкарыстаннем DSPy і LangChain.langchain.LLMChain.predict(input_data): Выкарыстоўвайце LangChain LLMChain для прагназавання выхаду мадэлі.dspy.RAGModel.evaluate(data): ацэнка прадукцыйнасці мадэлі RAG з дапамогай DSPy.
Візуалізацыя
Вось прыклад візуалізацыі з выкарыстаннем Chart.js:
{
"тып": "бар",
"дадзеныя": {
"labels": ["Інцыдэнт тыпу A", "Інцыдэнт тыпу B", "Інцыдэнт тыпу C"],
"наборы дадзеных": [
{
"label": "Асноўная прычына А",
"дадзеныя": [10, 15, 7],
"backgroundColor": "rgba(255, 99, 132, 0,2)",
"borderColor": "rgba(255, 99, 132, 1)",
"borderWidth": 1
},
{
"label": "Асноўная прычына B",
"дадзеныя": [8, 12, 9],
"backgroundColor": "rgba(54, 162, 235, 0,2)",
"borderColor": "rgba(54, 162, 235, 1)",
"borderWidth": 1
},
{
"label": "Асноўная прычына C",
"дадзеныя": [14, 18, 11],
"backgroundColor": "rgba(255, 206, 86, 0,2)",
"borderColor": "rgba(255, 206, 86, 1)",
"borderWidth": 1
}
]
},
"параметры": {
"назва": {
"дысплей": праўда,
"text": "Аналіз асноўнай прычыны"
},
"шалі": {
"yAxes": [
{
"цікі": {
"beginAtZero": праўда
}
}
]
}
}
}
Гэтая візуалізацыя дэманструе размеркаванне асноўных прычын для розных тыпаў інцыдэнтаў.
Выснова
У гэтым артыкуле мы даследавалі, як рэалізаваць канвееры DevOps на базе штучнага інтэлекту з выкарыстаннем DSPy і LangChain, з упорам на актыўнае расследаванне і вырашэнне інцыдэнтаў з выкарыстаннем мадэляў AIOps і RAG і інтэграцыю з AWS DevOps Agent для аўтаматызаванага расследавання інцыдэнтаў. Мы прадэманстравалі просты прыклад кода, які рэалізуе мадэль RAG з выкарыстаннем DSPy і LangChain, і прадставілі спіс 5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў для DSPy і LangChain. Мы таксама ўключылі прыклад візуалізацыі з выкарыстаннем Chart.js. Выконваючы крокі, апісаныя ў гэтым артыкуле, распрацоўшчыкі могуць ствараць і разгортваць канвееры DevOps на аснове штучнага інтэлекту, якія актыўна выяўляюць і вырашаюць інцыдэнты, павышаючы агульную эфектыўнасць і надзейнасць сваіх праграмных сістэм.