Pinecone远程向量库文件上传
安装包
npm i @pinecone-database/pinecone langchain
示例代码
const { PineconeClient } = require("@pinecone-database/pinecone");
const { PineconeStore } = require("langchain/vectorstores/pinecone");
const { OpenAIEmbeddings } = require("langchain/embeddings/openai");
async fileUpload({ splitterDocs,namespace }) {
let upload_status ;
const { apiKey, environment } = this.ctx.app.config.pinecone;
const client = new PineconeClient();
await client.init({ apiKey, environment });
const pineconeIndex = client.Index('first-database');
await PineconeStore.fromDocuments(splitterDocs, new OpenAIEmbeddings({
openAIApiKey
}, {
basePath
}), {
pineconeIndex,
namespace,
}).then(res => {
console.log('操作成功');
upload_status = 'Success'
}).catch(err => {
console.log(err, 'err');
upload_status = 'Fail'
}).finally(() => {
let { filepath } = this.ctx.request.files[0];
fs.unlink(filepath, (err) => {
console.log(err, 'File deleted!');
});
});
return upload_status
}