Sobes.tech
Middle — Senior

როგორ შევინახოთ ყველაზე ხშირად დასმული კითხვები RAG-ში?

sobes.tech AI

პასუხი AI-სგან

Retrieval-Augmented Generation (RAG) სისტემაში, ხშირი შეკითხვების ქეშირება ეხმარება დაგვიანების და დატვირთვის შემცირებაში ვექტორული მონაცემთა ბაზისა და გენერაციული მოდელის উপর. ძირითადი მიდგომები:

  • ძებნის შედეგების ქეშირება: შეინახეთ ვექტორული ბაზაში ხშირად განმეორებადი შეკითხვებისთვის. როდესაც შეკითხვა მეორდება, დაბრუნეთ შენახული დოკუმენტები ახალი ძებნის გარეშე.

  • შექმნილი პასუხების ქეშირება: თუ შეკითხვა და კონტექსტი ემთხვევა, შეიძლება ადრე შექმნილი პასუხი დაბრუნდეს.

  • TTL (time-to-live) გამოყენება: რათა ქეში არ გახდეს მოძველებული, განსაზღვრეთ სიცოცხლის ხანგრძლივობა შენახულ მონაცემებზე.

  • შეკითხვების ჰეშირება: სწრაფი ძიებისთვის ქეშში, ჰეშზე დაფუძნებული გასაღებით.

Python-ში მარტივი ლექსიკით მაგალითი:

cache = {}

def get_rag_response(query):
    key = hash(query)
    if key in cache:
        return cache[key]
    docs = vector_db.search(query)
    answer = generator.generate(docs, query)
    cache[key] = answer
    return answer