Firebase Genkit
Genkit 是一个用于构建、部署和监控生产就绪的AI驱动应用程序的框架。
您可以构建生成自定义内容、使用语义搜索、处理非结构化输入、使用您的业务数据回答问题、自主做出决策、协调工具调用等的应用程序。
您可以通过Qdrant-Genkit插件在您的Genkit应用程序中使用Qdrant进行数据的索引/语义检索。
Genkit 目前支持使用 JavaScript/TypeScript(Node.js)进行服务器端开发,Go 支持正在积极开发中。
安装
npm i genkitx-qdrant
配置
要使用此插件,请在调用 configureGenkit() 时指定它:
import { qdrant } from 'genkitx-qdrant';
import { textEmbeddingGecko } from '@genkit-ai/vertexai';
export default configureGenkit({
plugins: [
qdrant([
{
clientParams: {
host: 'localhost',
port: 6333,
},
collectionName: 'some-collection',
embedder: textEmbeddingGecko,
},
]),
],
// ...
});
您需要指定一个集合名称、您想要使用的嵌入模型以及Qdrant客户端参数。此外,还有一些可选参数:
embedderOptions: 传递给嵌入器的附加选项:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },contentPayloadKey: 文档内容的有效载荷字段名称。默认为“content”。contentPayloadKey: 'content';metadataPayloadKey: 文档元数据的有效载荷字段名称。默认为“metadata”。metadataPayloadKey: 'metadata';collectionCreateOptions: 附加选项 创建Qdrant集合时的附加选项。
用法
像这样导入检索器和索引器引用:
import { qdrantIndexerRef, qdrantRetrieverRef } from 'genkitx-qdrant';
import { Document, index, retrieve } from '@genkit-ai/ai/retriever';
然后,将引用传递给 retrieve() 和 index():
// To specify an indexer:
export const qdrantIndexer = qdrantIndexerRef({
collectionName: 'some-collection',
displayName: 'Some Collection indexer',
});
await index({ indexer: qdrantIndexer, documents });
// To specify a retriever:
export const qdrantRetriever = qdrantRetrieverRef({
collectionName: 'some-collection',
displayName: 'Some Collection Retriever',
});
let docs = await retrieve({ retriever: qdrantRetriever, query });
您可以参考检索增强生成来了解关于索引器和检索器的一般讨论。
