Плагин Pinecone предоставляет реализации индексатора и средства извлечения, которые используют базу данных облачных векторов Pinecone .
Установка
npm i --save genkitx-pinecone
Конфигурация
Чтобы использовать этот плагин, укажите его при инициализации Genkit:
import { genkit } from 'genkit';
import { pinecone } from 'genkitx-pinecone';
const ai = genkit({
plugins: [
pinecone([
{
indexId: 'bob-facts',
embedder: textEmbedding004,
},
]),
],
});
Вы должны указать идентификатор индекса шишки и модель внедрения, которую вы хотите использовать.
Кроме того, вы должны настроить Genkit с помощью ключа API Pinecone. Есть два способа сделать это:
- Установите переменную среды
PINECONE_API_KEY
. Укажите его в необязательном параметре
clientParams
:clientParams: { apiKey: ..., }
Значением этого параметра является объект
PineconeConfiguration
, который передается клиенту Pinecone; вы можете использовать его для передачи любого параметра, поддерживаемого клиентом.
Использование
Импортируйте ссылки на ретривер и индексатор следующим образом:
import { pineconeRetrieverRef } from 'genkitx-pinecone';
import { pineconeIndexerRef } from 'genkitx-pinecone';
Затем используйте эти ссылки с ai.retrieve()
и ai.index()
:
// To use the index you configured when you loaded the plugin:
let docs = await ai.retrieve({ retriever: pineconeRetrieverRef, query });
// To specify an index:
export const bobFactsRetriever = pineconeRetrieverRef({
indexId: 'bob-facts',
});
docs = await ai.retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await ai.index({ indexer: pineconeIndexerRef, documents });
// To specify an index:
export const bobFactsIndexer = pineconeIndexerRef({
indexId: 'bob-facts',
});
await ai.index({ indexer: bobFactsIndexer, documents });
См. страницу генерации с расширенным поиском для общего обсуждения индексаторов и ретриверов.