
წარმოიდგინეთ, რომ დახმარების ბილეთების ორი მესამედით შემცირება და მომხმარებელთა კმაყოფილების ქულების 42%-ით გაზრდაა შესაძლებელი. ხშირად დასმული კითხვების ავტომატიზაცია, რომელსაც უზრუნველყოფს Agentic RAGეს ბლოგი ავლენს, თუ როგორ AI აგენტები კოორდინაციას უწევენ ვექტორულ ძიებას, დინამიურ შეკითხვების მარშრუტიზაციას და LangGraph-ის ორკესტრირებას, რათა შექმნან ინტელექტუალური ჩატბოტები, რომლებიც ChromaDB-დან კონტექსტს იღებენ ზუსტი, მყისიერი პასუხებისთვის.
დაივიწყეთ ძირითადი საკვანძო სიტყვების შესაბამისობა: ეს ავტონომიური მოძიების სისტემები რთულ გამოკითხვებს ქვეამოცანებად ყოფს, აფასებს განწყობას და საჭიროების შემთხვევაში რთულ საქმეებს ადამიან სპეციალისტებს გადასცემს.
გაიგეთ, როგორ შექმნათ ხელოვნური ინტელექტით მართული ხშირად დასმული კითხვების ჩატბოტი, რომელიც შეამცირებს ხარჯებს, დააჩქარებს პასუხების გაცემას და უზრუნველყოფს მომსახურების სრულყოფილებას სულ რამდენიმე მარტივი ნაბიჯით.
აგენტის RAG-ის გაგება: ჩატბოტის ტექნოლოგიის შემდეგი ევოლუცია
ტრადიციული RAG (გაძლიერებული თაობის მოძიება) სწრაფად იქცა ცოდნაზე დაფუძნებული ჩატბოტების სტანდარტად. თუმცა, ამ სისტემებს ხშირად უჭირთ კომპლექსური მოთხოვნების დამუშავება, საუბრის დროს მონაცემების მოძიების მეთოდების შეცვლა ან მრავალსაფეხურიანი მსჯელობის უზრუნველყოფა.
რით განსხვავდება Agentic RAG?
RAG გამოიყენება მარტივი კითხვებისთვის, ხოლო Agentic RAG რეალურ დროში და რთულ შემთხვევებს ამუშავებს. ეს განსხვავებები ორგანიზაციებს საშუალებას აძლევს, სხვადასხვა სცენარისთვის სწორი გადაწყვეტა განახორციელონ.
აგენტის RAG აძლიერებს ტრადიციულ RAG-ს ჩართვით AI აგენტის შესაძლებლობები, რომლებსაც შეუძლიათ:
- რთული კითხვები დაყავით მართვად ქვეამოცანებად
- დინამიურად გადართეთ სხვადასხვა მოძიების სტრატეგიებს შორის
- ამოსახსნელად გამოიყენეთ მრავალსაფეხურიანი მსჯელობა კომპლექსური პრობლემები
- მიიღეთ ინტელექტუალური მარშრუტიზაციის გადაწყვეტილებები მოთხოვნის შინაარსისა და განწყობის საფუძველზე
- საჭიროების შემთხვევაში ინტეგრირება გარე ინსტრუმენტებთან
ეს ინტელექტუალური არქიტექტურა სისტემას საშუალებას აძლევს, მარტივი საძიებო ოპერაცია დახვეწილ, გადაწყვეტილების მიღების პროცესად გარდაქმნას.
როგორ გარდაქმნის Agent RAG ჩატბოტის შესაძლებლობებს
ტრადიციული RAG მუშაობს როგორც წრფივი პროცესი - მოთხოვნის მიღება, ინფორმაციის მოძიება, პასუხის გენერირება. ამის საპირისპიროდ, Agentic RAG ახორციელებს დინამიურ, გადაწყვეტილებაზე დაფუძნებულ სამუშაო პროცესს:

1. ინტელექტუალური შეკითხვის ანალიზი
აგენტური RAG სისტემები იწყებენ შემომავალი მოთხოვნების დაშლით, რათა დაადგინონ მათი მიზანი, სირთულე და განწყობა. ეს დაშლა საშუალებას აძლევს სისტემას აირჩიოს სწორი მოძიების სტრატეგია და დამუშავების გზა, ერთიანი მიდგომის გამოყენების ნაცვლად.
2. სტრატეგიული მარშრუტიზაციის მექანიზმები
სპეციალური მარშრუტიზაციის აგენტი ამოწმებს კლასიფიცირებულ მოთხოვნას და მიმართავს მას ყველაზე შესაბამის მონაცემთა წყაროებზე ან ინსტრუმენტებზე. ეს უზრუნველყოფს, მაგალითად, რომ დაბრუნების შესახებ კითხვები მოხვდება მხარდაჭერის ცოდნის ბაზაზე, ხოლო პროდუქტის შესახებ მოთხოვნები ეხება პროდუქტის ინფორმაციის საცავს.
3. შეკითხვის ტრანსფორმაცია და დაგეგმვა
რთული ან ორაზროვანი შეყვანის წინაშე დგომისას, აგენტური RAG მილსადენები ავტონომიურად:
- ორაზროვანი მოთხოვნების რეფორმულირება უკეთესი მოძიებისთვის
- მრავალნაწილიანი კითხვები დაყავით ცალკეულ ქვეკითხვებად
- განსაზღვრეთ ამ ქვემოთხოვნების დამუშავების ოპტიმალური თანმიმდევრობა
კვლევების თანახმად, თუ პასუხი ადვილად ხელმისაწვდომი არ არის, სისტემა ადგილობრივ დოკუმენტებს იკვლევს ან ინტერნეტში ძიებას ახორციელებს კონტექსტის გასაუმჯობესებლად.
ინტელექტუალური ხშირად დასმული კითხვების ჩატბოტის ძირითადი კომპონენტები
ეფექტური Agency RAG ჩატბოტის შექმნას რამდენიმე ურთიერთდაკავშირებული კომპონენტი სჭირდება:

დიდი ენის მოდელი (LLM)
LLM სისტემას ემსახურება's ტვინი, შეკითხვის ინტერპრეტაციის დამუშავება, მსჯელობადა რეაგირების გენერირება. ოპტიმალური მუშაობისთვის ზედმეტი ხარჯების გარეშე, OpenAI-ის მსგავსი მოდელები's o4-mini უზრუნველყოფს შესაძლებლობებისა და ეფექტურობის კარგ ბალანსს.
ვექტორული მონაცემთა ბაზა
A ვექტორული მონაცემთა ბაზა თქვენი კომპანიის მაღაზიები's ცოდნა ძიების ოპტიმიზებულ ფორმატში. ChromaDB ამაში წარმატებულია შემდეგი გზით:
- ტექსტის რიცხობრივ ჩასმებად გადაქცევა სემანტიკური ძიებისთვის
- დიდ მონაცემთა ნაკრებებში ეფექტური მსგავსების მოთხოვნების მხარდაჭერა
- ფილტრაციისთვის მეტამონაცემების შენარჩუნება (მაგალითად, დეპარტამენტის სპეციფიკური ძიების)
აგენტი ორკესტრი
ორკესტრი რთულ შეკითხვებს უფრო მცირე დავალებებად ყოფს, სპეციალიზებულ აგენტებს ანიჭებს და მათ შედეგებს ერთიან, თანმიმდევრულ პასუხად აერთიანებს. ის მართავს ინფორმაციის ნაკადს იმის უზრუნველსაყოფად, რომ მომხმარებლის კითხვის თითოეული ნაწილი სწორი კომპონენტით დამუშავდეს.
მეხსიერების მართვის სისტემა
ეფექტურ ჩატბოტებს კონტექსტის გაცნობიერება სჭირდებათ. მეხსიერების სისტემა:
- აკონტროლებს საუბრის ისტორიას
- ინახავს მომხმარებლის პარამეტრებს
- ინარჩუნებს კონტექსტური გაგება მრავალი შემობრუნების განმავლობაში
ეს ქმნის უფრო ბუნებრივ, ნაკლებად განმეორებად მომხმარებლის გამოცდილებას.
ვალიდაციის ძრავა
პასუხის გაგზავნამდე, ვალიდაციის სისტემა გენერირებულ შინაარსს წყარო დოკუმენტებთან ამოწმებს სიზუსტის დასადასტურებლად. ის აფიქსირებს და ასწორებს პოტენციურ შეცდომებს ან ჰალუცინაციებს, რაც გარანტიას იძლევა სანდო და სანდო პასუხების მიღებისა.
ეტაპობრივი სახელმძღვანელო Agentic RAG-ის გამოყენებით ხშირად დასმული კითხვების ჩატბოტების შესაქმნელად

მიადევნე's ინტელექტუალური განხორციელების პროცესის დაშლა ხშირად დასმული კითხვები ჩატბოტი Agentic RAG-ის გამოყენებით:
თქვენი გარემოს დაყენებაპირველ რიგში, დააინსტალირეთ საჭირო ბიბლიოთეკები:
პითონი
!pip install langchain langgraph langchain-openai langchain-community chromadb openai python-dotenv pydantic pysqlite3
შემდეგ შეიტანეთ საჭირო კომპონენტები:
პითონი
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
თქვენი ცოდნის ბაზის მომზადებათქვენი ხშირად დასმული კითხვების მონაცემები დეპარტამენტის ან კატეგორიის მიხედვით დაალაგეთ. JSON-ის მსგავსი სტრუქტურირებული ფორმატის გამოყენება ორგანიზებულობის შენარჩუნებაში დაგეხმარებათ:
პითონი
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-ის მიერ ჩატარებულმა კვლევამ აჩვენა, რომ „კარგად ორგანიზებული ცოდნის ბაზები 35%-მდე აუმჯობესებს მოძიების სიზუსტეს, რაც პირდაპირ გავლენას ახდენს მომხმარებლის კმაყოფილებაზე“.
ვექტორული ჩასმის შექმნაგადააკეთეთ თქვენი ტექსტური მონაცემები ვექტორულ ჩასმებად სემანტიკური ძიებისთვის:
პითონი
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
ოპტიმალური მუშაობისთვის, კვლევები აჩვენებს, რომ დეპარტამენტების მიხედვით ფილტრაცია მონაცემების სიზუსტეს 31%-ით აუმჯობესებს გლობალურ ცოდნის ბაზაში ძიებასთან შედარებით.
აგენტის მდგომარეობის განსაზღვრათქვენმა აგენტმა საუბრის განმავლობაში უნდა შეინარჩუნოს შემდეგი მდგომარეობა:
პითონი
class AgentState(TypedDict):
query: str
sentiment: str
department: str
context: str
response: str
error: str | None
ეს სტრუქტურირებული მიდგომა აკონტროლებს საუბრის მიმდინარე მდგომარეობას და საშუალებას იძლევა უფრო თანმიმდევრული ურთიერთქმედებისა.
შეკითხვის კლასიფიკაციის იმპლემენტაციაკლასიფიკაციის კვანძი აანალიზებს შემომავალ მოთხოვნებს განწყობისა და შესაბამისი განყოფილების დასადგენად:
პითონი
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
}
კვლევები აჩვენებს, რომ კლასიფიკაციის ეს ეტაპი გადამწყვეტია - საწარმო ჩატბოტების ბოლოდროინდელმა ანალიზმა აჩვენა, რომ მოთხოვნების ზუსტმა კლასიფიკაციამ გააუმჯობესა გადაჭრის მაჩვენებლები 47%-ით.
კონტექსტის შენების მოძიებამოძიების კვანძი იღებს შესაბამის ინფორმაციას მოთხოვნისა და დეპარტამენტის მიხედვით:
პითონი
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}
მოძიების პროცესში ფილტრების დანერგვა მნიშვნელოვნად აუმჯობესებს შესაბამისობას, ინდუსტრიის სტანდარტები კი პასუხის სიზუსტის 42%-იან გაუმჯობესებაზე მიუთითებს.
რეაგირების გენერირების შექმნაპასუხის გენერატორი იყენებს მოძიებულ კონტექსტს სასარგებლო პასუხების შესაქმნელად:
პითონი
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}
ადამიანური ესკალაციის განხორციელებაკვლევის თანახმად, „მომხმარებელთა კმაყოფილება 83%-ით იზრდება, როდესაც ნეგატიურ შეკითხვებს ადამიანის ყურადღება ექცევა ავტომატური პასუხების ნაცვლად“. თქვენმა ჩატბოტმა უნდა ამოიცნოს, როდის გადასცეს ეს ინფორმაცია ადამიანებს:
პითონი
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}
აგენტის გრაფიკის აგებაLangGraph ამ კვანძებს გადაწყვეტილების მიღების ნაკადში აკავშირებს:
პითონი
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
ეს გრაფიკული სტრუქტურა არის ის, რაც დინამიური გადაწყვეტილების მიღების საშუალებას იძლევა - რაც მთავარი უპირატესობაა ტრადიციულ ხაზოვან ჩატბოტ ნაკადებთან შედარებით.
თქვენი აგენტის ჩატბოტის ტესტირება და ოპტიმიზაციაგანხორციელების შემდეგ აუცილებელია საფუძვლიანი ტესტირება:
პითონი
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')}")
თვალყურის დევნების ძირითადი მეტრიკები მოიცავს:
- პასუხის სიზუსტე (ადამიანის პასუხებთან შედარებით)
- კლასიფიკაციის სიზუსტე
- ესკალაციის მაჩვენებელი (ადამიანებისთვის გაგზავნილი მოთხოვნების პროცენტული მაჩვენებელი)
- რეაგირების დრო (იდეალურია 2 წამზე ნაკლები)
- მომხმარებლის კმაყოფილების ქულები
აგენტური RAG-ის უპირატესობები ტრადიციულ ჩატბოტებთან შედარებით
Agentic RAG გთავაზობთ რამდენიმე კრიტიკულ გაუმჯობესებას უფრო მარტივ სისტემებთან შედარებით:
განხორციელების საერთო გამოწვევები
Agent RAG სისტემების შექმნას რამდენიმე გამოწვევა ახლავს თან:
დასკვნა: მომხმარებელთა მხარდაჭერის ტრანსფორმაცია ინტელექტუალური აგენტების გამოყენებით
Agentic RAG აერთიანებს მოწინავე მოძიებას ავტონომიურ გადაწყვეტილების მიღებასთან, რათა საბაზისო ჩატბოტი ნამდვილ ჩატბოტად აქციოს. ციფრული ასისტენტი- ისეთი, რომელიც ესმის კონტექსტი, განიხილავს რთულ საკითხებს და იცის, როდის უნდა ესკალაცია მოახდინოს.

ორგანიზაციები, რომლებიც Agentic RAG-ს იყენებენ LangGraph მდე ChromaDB ისინი არა მხოლოდ მხარდაჭერის ხარჯებს ამცირებენ; ისინი მომხმარებლებს სწრაფი, ზუსტი პასუხებით ან ადამიანების მიერ შეუფერხებელი გადაცემით ახარებენ.
ამ სახელმძღვანელოში მოცემული კოდის ნიმუშებითა და არქიტექტურული ანალიზით, თქვენ გაქვთ ყველაფერი, რაც გჭირდებათ ინტელექტუალური ხშირად დასმული კითხვების ჩატბოტის შესაქმნელად, რომელიც გაზრდის როგორც ეფექტურობას, ასევე მომხმარებელთა კმაყოფილებას.

