向量数据库可以有效地相似性搜索和高维数据的索引。向量数据库对于机器学习应用程序特别有用,在机器学习应用程序中,数据点通常表示为高维向量。这些数据库允许用户根据数据点的嵌入进行相似性搜索,从而更容易根据内容或功能找到相关信息。
在这个检查项目中,我使用编织作为向量数据库,并与OpenAI的嵌入式( text-embedding-ada-002-v2 )集成来创建并保存数据集的矢量。例如数据集,我从他们的网站(4000多家公司)中删除了所有Y组合器,并在关键数据点中创建了向量(请参阅/examples/y-combinator/schema.json ,有关更多详细信息)。我还将数据集上传到Kaggle。
作为第二个例子,我从保罗·穆尼(Paul Mooney)创建的卡格格尔(Kaggle)下载了《指环王》字符数据集。
在根目录中创建一个.env文件,然后添加变量:OpenAi_Apikey和data_path。 data_path变量应该是数据目录的途径:
OPENAI_APIKEY=XXXXXXXXXXXXXXXXX
DATA_PATH=C:Usersyour-user-namepathtoprojectdata
要使用此代码,您需要使用以下方式安装依赖项:
npm install
要使用数据库,您将需要设置数据库的Docker实例。
docker-compose up -d --build
填充编织数据库(确保Docker正在运行)。您可以使用/examples目录中提供的一个示例数据集(当前y-combinator和lotr-character )。
运行populate将使用示例数据集中的数据创建一个编织数据库(并使用同一类删除所有现有数据)。我在OpenAi使用中支付了〜$ 0.20,以填充Y组合数据集
npm run populate --dataset=<example-name>
如果成功,您可以通过编织GraphQl API轻松查看和查询数据。您可以使用Apollo GraphQl沙盒探索数据并运行查询。只需输入图形URL( http://localhost:8080/v1/graphql )。
如果您想获得一些额外的乐趣,则可以使用TensorFlow的嵌入投影仪可视化数据。要获取.TSV文件所需的需要使用以下命令(将它们放入/example/<example-name>文件夹中):
npm run tsv --dataset=<example-name>
这些可以上传到网站以可视化您的数据。
要创建自己的数据,请遵循示例:
/examples中使用数据集名称创建一个新文件夹。schema.json文件。此文件应包含您数据的模式。data.json文件。此文件应包含数据集的数据。npm run populate --dataset=<your-dataset-name>用数据填充数据库。