Gömmelemeler, aynı zamanda özellik vektörleri olarak da bilinir, yapay zekânın her türlü veriyi temsil ettiği yerel şeklidir. Bu özellikleri AI araçları ve algoritmaları ile kullanmak için oldukça uygun hale getirir. Metin, resim, ses ve video gibi verileri temsil edebilirler. Açık kaynak metin gömmeleme modelleri kullanarak veya bulut hizmetlerinden API'leri çağırarak özellik vektör verisi oluşturmak için birçok seçenek bulunmaktadır.
Chroma, popüler gömmeleme modelleri için hafif bir kaplama sağlayarak bunları uygulamalarınızda kullanmayı kolaylaştırır. Bir Chroma koleksiyonu oluştururken, metin verilerini kaydederken ve güncellerken otomatik olarak metin vektörleri hesaplayacak bir gömmeleme işlevi belirleyebilirsiniz.
Not: Chroma'nın kapsüllenmiş gömmeleme işlevini kullanmayı tercih etmeyebilirsiniz. Önceden hesaplanmış metin vektör verisi için herhangi bir gömmeleme modeli seçebilirsiniz.
Chroma'dan gömmeleme işlevini almak için chromadb.utils
içinden embedding_functions
modülünü içe aktarın.
from chromadb.utils import embedding_functions
Varsayılan Model: all-MiniLM-L6-v2
Varsayılan olarak, Chroma, vektörleri hesaplamak için Sentence Transformers'tan all-MiniLM-L6-v2 modelini kullanır. Bu gömmeleme modeli cümle ve belge vektörleri oluşturabilir. Bu gömmeleme modelinin işlevselliği yerel makinede çalışır ve model dosyalarını indirmeyi gerektirir (bu otomatik olarak yapılır).
default_ef = embedding_functions.DefaultEmbeddingFunction()
Transformers Model
Chroma ayrıca vektörleri hesaplamak için herhangi bir Sentence Transformers modelini kullanabilir.
sentence_transformer_ef = embedding_functions.SentenceTransformerEmbeddingFunction(model_name="all-MiniLM-L6-v2")
Sentence Transformers modelini seçmek için opsiyonel bir model_name
parametresi iletebilirsiniz. Varsayılan olarak, Chroma all-MiniLM-L6-v2 kullanır. Model isimlerini Hugging Face üzerinde arayabilirsiniz.
OpenAI Model
Chroma, OpenAI'nin gömmeleme API'si için kullanışlı bir kaplama sağlar. Bu, OpenAI arabirimini çağırmayı ve bir API anahtarı gerektirir. OpenAI hesabı için kayıt olarak bir API anahtarı alabilirsiniz.
Bu gömmeleme işlevi, openai
Python paketinin bağımlılığına sahiptir ve pip install openai
kullanılarak yüklenebilir.
openai_ef = embedding_functions.OpenAIEmbeddingFunction(
api_key="API_ANAHTARINIZ",
model_name="text-embedding-ada-002"
)
Azure gibi platformlarda OpenAI gömmeleme modelini kullanmak için api_base
ve api_type
parametrelerini kullanabilirsiniz:
openai_ef = embedding_functions.OpenAIEmbeddingFunction(
api_key="API_ANAHTARINIZ",
api_base="API_TABAN_YOLUNUZ",
api_type="azure",
model_name="text-embedding-ada-002"
)
Özel Gömmeleme İşlevi
Chroma ile çalışmak üzere kendi gömmeleme işlevinizi oluşturabilirsiniz. Bu, EmbeddingFunction
temel sınıfının yöntemlerini basitçe uygulayarak yapılabilmektedir.
from chromadb.api.types import Documents, EmbeddingFunction, Embeddings
class MyEmbeddingFunction(EmbeddingFunction):
def __call__(self, texts: Documents) -> Embeddings:
return embeddings