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 });

您可以参考检索增强生成来了解关于索引器和检索器的一般讨论。

进一步阅读

这个页面有用吗?

感谢您的反馈!🙏

我们很抱歉听到这个消息。😔 你可以在GitHub上编辑这个页面,或者创建一个GitHub问题。