
Tasavvur qiling-a, qo'llab-quvvatlash chiptalarini uchdan ikkiga qisqartiring, shu bilan birga mijozlar qoniqish darajasini 42% ga oshiring. Agentic RAG tomonidan boshqariladigan tez-tez so'raladigan savollarni avtomatlashtirish. Qanday qilib bu blog ochib beradi AI agentlar aniq, tezkor javoblar uchun ChromaDB'dan kontekstni tortib oladigan aqlli chatbotlarni yaratish uchun vektor qidiruvi, dinamik so'rovlarni marshrutlash va LangGraph orkestratsiyasini muvofiqlashtiradi.
Asosiy kalit so'zlarni moslashtirishni unuting: Ushbu avtonom qidiruv tizimlari murakkab so'rovlarni kichik vazifalarga ajratadi, kayfiyatni baholaydi va kerak bo'lganda murakkab ishlarni inson mutaxassislariga topshiradi.
Bir necha oddiy qadamda xarajatlarni kamaytiradigan, javoblarni tezlashtiradigan va mukammal xizmat ko‘rsatishni ta’minlaydigan sun’iy intellekt asosidagi tez-tez so‘raladigan savollar bo‘yicha chatbotni qanday yaratishni bilib oling.
Agent RAGni tushunish: Chatbot texnologiyasidagi keyingi evolyutsiya
An'anaviy RAG (Qidiruv kengaytirilgan avlod) tezda bilimga asoslangan chatbotlar uchun standartga aylandi. Biroq, bu tizimlar ko'pincha murakkab so'rovlar bilan kurashadi, suhbat o'rtasida qidirish usullarini o'zgartiradi yoki ko'p bosqichli fikrlashni ta'minlaydi.
Agent RAG nimasi bilan farq qiladi?
RAG oddiy savollar uchun ishlatiladi, Agentic RAG esa real vaqtda va murakkab ishlarni ko'rib chiqadi. Ushbu farqlar tashkilotlarga turli stsenariylar uchun to'g'ri echimni qo'llash imkonini beradi.
Agent RAG an'anaviy RAGni o'z ichiga olgan holda yaxshilaydi AI agent qobiliyatlari:
- Murakkab savollarni boshqariladigan kichik vazifalarga ajrating
- Turli izlash strategiyalari o'rtasida dinamik ravishda almashish
- Yechish uchun ko'p bosqichli fikrlashni bajaring murakkab muammolar
- So'rovlar mazmuni va hissiyotlari asosida aqlli marshrutlash qarorlarini qabul qiling
- Zarur bo'lganda tashqi vositalar bilan integratsiya qiling
Ushbu aqlli arxitektura tizimga oddiy qidiruv operatsiyasini murakkab, qaror qabul qilish jarayoniga aylantirish imkonini beradi.
Agent RAG chatbot imkoniyatlarini qanday o'zgartiradi
An'anaviy RAG chiziqli jarayon sifatida ishlaydi - so'rovlarni qabul qilish, ma'lumotlarni olish, javoblarni yaratish. Bundan farqli o'laroq, Agentic RAG dinamik, qarorga asoslangan ish oqimini amalga oshiradi:

1. Intellektual so‘rovlar tahlili
Agent RAG tizimlar maqsad, murakkablik va his-tuyg'ularni aniqlash uchun kiruvchi so'rovlarni ajratish bilan boshlanadi. Ushbu parchalanish tizimga hamma uchun mos keladigan yondashuvdan ko'ra to'g'ri qidirish strategiyasi va qayta ishlash yo'lini tanlash imkonini beradi.
2. Strategik marshrutlash mexanizmlari
Maxsus marshrutlash agenti tasniflangan so'rovni tekshiradi va uni eng tegishli ma'lumotlar manbalari yoki vositalariga yo'naltiradi. Bu, masalan, mahsulot so'rovlari mahsulot ma'lumotlari omboriga kirganda, daromadlar haqidagi savollar qo'llab-quvvatlash ma'lumotlar bazasiga tushishini ta'minlaydi.
3. So'rovlarni o'zgartirish va rejalashtirish
Murakkab yoki noaniq kirishlarga duch kelganda, agent RAG quvurlari avtonom tarzda:
- Yaxshiroq qidirish uchun noaniq so'rovlarni qayta shakllantiring
- Ko'p qismli savollarni alohida kichik so'rovlarga ajrating
- Ushbu kichik so'rovlarni qayta ishlash uchun optimal tartibni aniqlang
Tadqiqotlarga ko'ra, agar javob osongina mavjud bo'lmasa, quvur liniyasi mahalliy hujjatlarga kiradi yoki kontekstni yaxshilash uchun Internetda qidiruvlarni amalga oshiradi.
Intelligent FAQ Chatbotining asosiy komponentlari
Samarali Agentic RAG chatbotini yaratish bir nechta o'zaro bog'langan komponentlarni talab qiladi:

Katta til modeli (LLM)
LLM tizim sifatida xizmat qiladi's miya, so'rovlarni talqin qilish, mulohaza yuritish, va javob yaratish. Ortiqcha xarajatlarsiz optimal ishlash uchun OpenAI kabi modellar's o4-mini qobiliyat va samaradorlikning yaxshi muvozanatini ta'minlaydi.
Vektor ma'lumotlar bazasi
A vektor ma'lumotlar bazasi kompaniyangizni saqlaydi's qidiruv uchun optimallashtirilgan formatda bilim. ChromaDB bu borada ustunlik qiladi:
- Semantik qidiruv uchun matnni raqamli o'rnatishga aylantirish
- Katta ma'lumotlar to'plamlari bo'ylab samarali o'xshashlik so'rovlarini qo'llab-quvvatlash
- Filtrlash uchun metama'lumotlarni saqlash (masalan, bo'limga oid qidiruvlar)
Agent orkestr
Orkestrator murakkab so'rovlarni kichikroq vazifalarga ajratadi, ularni ixtisoslashgan agentlarga topshiradi va natijalarini yagona, yaxlit javobga birlashtiradi. U foydalanuvchi savolining har bir qismi to'g'ri komponent tomonidan hal qilinishini ta'minlash uchun ma'lumotlar oqimini boshqaradi.
Xotirani boshqarish tizimi
Samarali chatbotlar kontekstdan xabardorlikni talab qiladi. Xotira tizimi:
- Suhbatlar tarixini kuzatib boradi
- Foydalanuvchining afzalliklarini saqlaydi
- Ta'minlaydi kontekstli tushunish bir nechta burilishlar bo'ylab
Bu tabiiyroq, kamroq takrorlanadigan foydalanuvchi tajribasini yaratadi.
Tasdiqlash mexanizmi
Javob yetkazilishidan oldin tekshirish mexanizmi aniqligini tasdiqlash uchun yaratilgan kontentni manba hujjatlariga nisbatan o‘zaro tekshiradi. U potentsial xatolar yoki gallyutsinatsiyalarni aniqlaydi va tuzatadi, ishonchli va ishonchli javoblarni kafolatlaydi.
Agentic RAG yordamida tez-tez so'raladigan savollar bo'yicha chatbotlarni yaratish bo'yicha bosqichma-bosqich qo'llanma

bo'lsin's aqlli uchun amalga oshirish jarayonini sindirish FAQ chatbot Agentic RAG yordamida:
Atrof-muhitingizni sozlashBirinchidan, kerakli kutubxonalarni o'rnating:
python
!pip install langchain langgraph langchain-openai langchain-community chromadb openai python-dotenv pydantic pysqlite3
Keyin kerakli komponentlarni import qiling:
python
import os
import json
from typing import List, TypedDict, Dict
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_core.documents import Document
from langchain_community.vectorstores import Chroma
from langgraph.graph import StateGraph, END
Bilim bazangizni tayyorlashTez-tez so'raladigan savollar ma'lumotlarini bo'lim yoki toifalar bo'yicha tartibga soling. JSON kabi tuzilgan formatdan foydalanish tashkilotni saqlashga yordam beradi:
python
DEPARTMENTS = [
"Customer Support",
"Product Information",
"Loyalty Program / Rewards"
]
FAQ_FILES = {
"Customer Support": "customer_support_faq.json",
"Product Information": "product_information_faq.json",
"Loyalty Program / Rewards": "loyalty_program_faq.json"
}
Botpress tomonidan olib borilgan tadqiqot shuni ko'rsatdiki, "yaxshi tashkil etilgan bilim bazalari foydalanuvchi qoniqishiga bevosita ta'sir ko'rsatadigan qidiruv aniqligini 35% gacha oshiradi".
Vektor o'rnatishlarni yaratishSemantik qidiruv uchun matn ma'lumotlarini vektor qo'shishga aylantiring:
python
def setup_chroma_vector_store(all_faqs, persist_directory, collection_name, embedding_model):
documents = []
for department, faqs in all_faqs.items():
for faq in faqs:
content = faq['answer']
doc = Document(
page_content=content,
metadata={
"department": department,
"question": faq['question']
}
)
documents.append(doc)
vector_store = Chroma.from_documents(
documents=documents,
embedding=embedding_model,
persist_directory=persist_directory,
collection_name=collection_name
)
return vector_store
Optimal ishlash uchun tadqiqot shuni ko'rsatadiki, bo'lim bo'yicha qidiruvni filtrlash global ma'lumotlar bazasini qidirish bilan solishtirganda aniqlikni 31% ga oshiradi.
Agent davlatini aniqlashSizning agentingiz suhbat davomida holatini saqlab turishi kerak:
python
class AgentState(TypedDict):
query: str
sentiment: str
department: str
context: str
response: str
error: str | None
Ushbu tizimli yondashuv suhbatning hozirgi holatini kuzatib boradi va yanada izchil o'zaro munosabatlarga imkon beradi.
So'rovlar tasnifini amalga oshirishTasniflash tugunlari kayfiyat va tegishli bo'limni aniqlash uchun kiruvchi so'rovlarni tahlil qiladi:
python
def classify_query_node(state: AgentState) -> Dict[str, str]:
query = state["query"]
llm = ChatOpenAI(model="o4-mini")
prompt_template = ChatPromptTemplate.from_messages([
SystemMessage(content="""You are an expert query classifier for a retail company.
Analyze the user's query to determine its sentiment and the most relevant department.
The available departments are: Customer Support, Product Information, Loyalty Program / Rewards.
If the query doesn't clearly fit into one of these, classify the department as 'Unknown/Other'.
"""),
HumanMessage(content=f"User Query: {query}")
])
classifier_chain = prompt_template | llm.with_structured_output(ClassificationResult)
result = classifier_chain.invoke({})
return {
"sentiment": result.sentiment.lower(),
"department": result.department
}
Tadqiqotlar shuni ko'rsatadiki, bu tasniflash bosqichi juda muhim - korporativ chatbotlarning so'nggi tahlili aniq so'rovlarni tasniflash ruxsat berish tezligini 47% ga yaxshilaganini ko'rsatdi.
Bino kontekstini qidirishQidiruv tuguni so'rov va bo'lim asosida tegishli ma'lumotlarni oladi:
python
def retrieve_context_node(state: AgentState) -> Dict[str, str]:
query = state["query"]
department = state["department"]
retriever = vector_store.as_retriever(
search_type="similarity",
search_kwargs={
'k': 3,
'filter': {'department': department}
}
)
retrieved_docs = retriever.invoke(query)
context = "\n\n---\n\n".join([doc.page_content for doc in retrieved_docs])
return {"context": context, "error": None}
Qidiruv jarayonida filtrlarni qo'llash dolzarblikni sezilarli darajada yaxshilaydi, sanoat mezonlari javob aniqligining 42% yaxshilanishini taklif qiladi.
Javob ishlab chiqarishni yaratishJavob generatori foydali javoblar yaratish uchun olingan kontekstdan foydalanadi:
python
def generate_response_node(state: AgentState) -> Dict[str, str]:
query = state["query"]
context = state["context"]
prompt_template = ChatPromptTemplate.from_messages([
SystemMessage(content=f"""You are a helpful AI Chatbot. Answer based only on the provided context.
Be concise and directly address the query. If the context doesn't contain the answer, state that clearly.
Do not make up information.
Context:
{context}
"""),
HumanMessage(content=f"User Query: {query}")
])
RAG_chain = prompt_template | llm
response = RAG_chain.invoke({})
return {"response": response.content}
Inson eskalatsiyasini amalga oshirishTadqiqotga ko'ra, "mijozlarning qoniqishi avtomatlashtirilgan javoblar o'rniga salbiy so'rovlar odamlarning e'tiborini jalb qilganda 83% ga oshadi". Sizning chatbotingiz odamlarga qachon topshirish kerakligini bilishi kerak:
python
def human_escalation_node(state: AgentState) -> Dict[str, str]:
reason = ""
if state.get("sentiment") == "negative":
reason = "Due to the nature of your query,"
elif state.get("department") == UNKNOWN_DEPARTMENT:
reason = "As your query requires specific attention,"
response_text = f"{reason} I need to escalate this to our human support team."
return {"response": response_text}
Agent grafigini yaratishLangGraph ushbu tugunlarni qaror qabul qilish oqimiga bog'laydi:
python
def build_agent_graph(vector_store: Chroma) -> StateGraph:
graph = StateGraph(AgentState)
# Add nodes
graph.add_node("classify_query", classify_query_node)
graph.add_node("retrieve_context", retrieve_context_node)
graph.add_node("generate_response", generate_response_node)
graph.add_node("human_escalation", human_escalation_node)
# Set entry point
graph.set_entry_point("classify_query")
# Add edges with conditional routing
graph.add_conditional_edges(
"classify_query",
route_query,
{
"retrieve_context": "retrieve_context",
"human_escalation": "human_escalation"
}
)
graph.add_edge("retrieve_context", "generate_response")
graph.add_edge("generate_response", END)
graph.add_edge("human_escalation", END)
app = graph.compile()
return app
Ushbu grafik tuzilmasi dinamik qarorlar qabul qilish imkonini beradi - bu an'anaviy chiziqli chatbot oqimlaridan asosiy ustunlikdir.
Agentlik chatbotingizni sinab ko'rish va optimallashtirishAmalga oshirilgandan so'ng, to'liq sinovdan o'tish kerak:
python
test_queries = [
"How do I track my order?",
"What is the return policy?",
"This is the third time my order was delayed! I'm furious!",
"Tell me about the 'Urban Explorer' jacket materials."
]
for query in test_queries:
inputs = {"query": query}
final_state = agent_app.invoke(inputs)
print(f"Agent Response: {final_state.get('response')}")
Kuzatish uchun asosiy ko'rsatkichlarga quyidagilar kiradi:
- Javob aniqligi (odamlarning javoblariga nisbatan)
- Tasniflashning aniqligi
- Eskalatsiya darajasi (odamlarga yuborilgan so'rovlar foizi)
- Javob vaqti (2 soniyadan kamroq vaqt ideal)
- Foydalanuvchi qoniqish ballari
Agent RAG ning an'anaviy chatbotlarga nisbatan afzalliklari
Agentic RAG oddiy tizimlarga nisbatan bir qancha muhim yaxshilanishlarni taklif etadi:
Amalga oshirishning umumiy muammolari
Agent RAG tizimlarini qurish bir qancha qiyinchiliklarga duch keladi:
Xulosa: Intellektual agentlar yordamida mijozlarni qo'llab-quvvatlashni o'zgartirish
Agentic RAG asosiy chatbotni haqiqiyga aylantirish uchun avtonom qarorlar qabul qilish bilan ilg'or qidiruvni birlashtiradi. raqamli yordamchi- kontekstni tushunadigan, qiyin muammolarni hal qiladigan va qachon kuchayishini biladigan.

Agent RAGni qabul qiluvchi tashkilotlar LangGraph va ChromaDB faqat qo'llab-quvvatlash xarajatlarini qisqartirish emas; ular mijozlarni tez, aniq javoblar yoki uzluksiz odam topshirishlari bilan xursand qilmoqdalar.
Ushbu qo'llanmadagi kod namunalari va arxitektura tushunchalari bilan siz samaradorlikni va mijozlar ehtiyojini qondirishni oshiradigan aqlli tez-tez so'raladigan savollar chatbotini yaratish uchun kerak bo'lgan hamma narsaga egasiz.


