Векторный поиск с использованием генеративной модели искусственного интеллекта Gecko на кадре данных
Я хочу выполнить векторный поиск с использованием моделей встраивания генеративного искусственного интеллекта. Я могу сделать это с обычным текстом, вот код
# Load the text embeddings model
from vertexai.preview.language_models import TextEmbeddingModel
model = TextEmbeddingModel.from_pretrained("textembedding-gecko@001")
# get embeddings for a list of texts
BATCH_SIZE = 5
def get_embeddings_wrapper(texts):
embs = []
for i in tqdm.tqdm(range(0, len(texts), BATCH_SIZE)):
time.sleep(1) # to avoid the quota error
result = model.get_embeddings(texts[i:i + BATCH_SIZE])
embs = embs + [e.values for e in result]
return embs
df = df.assign(embedding=get_embeddings_wrapper(df.title))
Но предположим, что данные представлены в табличном формате в файле csv или в таблице bigquery, которая выглядит следующим образом.
Я хочу выполнить внедрение данных, а затем выполнить векторный поиск, чтобы получить записи для запроса, как показано ниже. (Например, получение трех наиболее подходящих результатов и передача их в LLM для генерации ответа)
- Получить идентификатор менеджера для менеджера по названию должностей
- Можете ли вы назвать мне должность Джонаса?
Я получил хорошее понимание, используя https://github.com/GoogleCloudPlatform/generative-ai/blob/main/vector-search/intro-textemb-vectorsearch.ipynb
Но его нельзя использовать для табличных данных. Дайте мне знать, если есть какие-либо ссылки или предложения, как это сделать.