डेटाबेस को क्वेरी करना और अपडेट करना

OpenAI API के साथ Embeddings परिचय

Emmanuel Pire

Senior Software Engineer, DataCamp

डेटाबेस को क्वेरी करना

क्वेरी "movies where people sing a lot" को एक embedding मॉडल में भेजा जाता है, cosine distances निकाले जाते हैं, और अंतिम परिणाम स्टोर किए जाते हैं.

OpenAI API के साथ Embeddings परिचय

डेटाबेस को क्वेरी करना

सर्च क्वेरी सीधे vector डेटाबेस में embedding के लिए जाती है, जिसमें पहले से embedded डॉक्यूमेंट हैं.

OpenAI API के साथ Embeddings परिचय

कलेक्शन प्राप्त करें

from chromadb.utils.embedding_functions import OpenAIEmbeddingFunction

collection = client.get_collection(
    name="netflix_titles", 
    embedding_function=OpenAIEmbeddingFunction(api_key="...")
)
  • कलेक्शन में डेटा जोड़ते समय जो embedding function इस्तेमाल किया था, वही यहाँ भी specify करना होगा
OpenAI API के साथ Embeddings परिचय

कलेक्शन को क्वेरी करना

result = collection.query(
  query_texts=["movies where people sing a lot"],
  n_results=3
)
print(result)
{'ids': [['s4068', 's293', 's2213']],
 'embeddings': None,
 'documents': [['Title: Quién te cantará (Movie)\nDescription: When a near-...',
   'Title: Quartet (Movie)\nDescription: To save their posh retirement home, ...',
   'Title: Sing On! Spain (TV Show)\nDescription: In this fast-paced, high-...']],
 'metadatas': [[None, None, None]],
 'distances': [[0.350419282913208, 0.36049118638038635, 0.37080681324005127]]
OpenAI API के साथ Embeddings परिचय

query() कई keys वाला एक dict लौटाता है:

  • ids: रिटर्न हुए items के ids
  • embeddings: रिटर्न हुए items के embeddings
  • documents: रिटर्न हुए items के source texts
  • metadatas: रिटर्न हुए items के metadatas
  • distances: क्वेरी टेक्स्ट से रिटर्न items की distances
{'ids': [...],
 'embeddings': None,
 'documents': [...],
 'metadatas': [...],
 'distances': [...]}
OpenAI API के साथ Embeddings परिचय

क्वेरी टेक्स्ट और उससे आए तीन क्वेरी परिणामों के ids हाइलाइट किए गए हैं.

  • पहली list पहले query_text से मेल खाती है
  • कई query_text होंगे तो कई lists मिलेंगी
OpenAI API के साथ Embeddings परिचय

क्वेरी परिणामों के IDs उनके संबंधित documents, metadata, और distances के साथ हाइलाइट हैं.

OpenAI API के साथ Embeddings परिचय

कलेक्शन अपडेट करना

collection.update(
  ids=["id-1", "id-2"],
  documents=["New document 1", "New document 2"]
)
  • सिर्फ उन्हीं fields को शामिल करें जिन्हें अपडेट करना है, बाकी बदले नहीं जाएँगे
  • कलेक्शन embeddings अपने आप बना देगा
OpenAI API के साथ Embeddings परिचय

कलेक्शन upsert करना

collection.upsert(
  ids=["id-1", "id-2"],
  documents=["New document 1", "New document 2"]
)
  • IDs missing हों → add करें
  • IDs present हों → update करें
OpenAI API के साथ Embeddings परिचय

डिलीट करना

कलेक्शन से items डिलीट करें

collection.delete(ids=["id-1", "id-2"])

 

सभी कलेक्शंस और items डिलीट करें

client.reset()
  • Warning: इससे डेटाबेस में मौजूद सब कुछ डिलीट हो जाएगा!
OpenAI API के साथ Embeddings परिचय

अभ्यास करते हैं!

OpenAI API के साथ Embeddings परिचय

Preparing Video For Download...