ไคลเอนต์ที่ใช้การดึงข้อมูลอย่างไม่เป็นทางการสำหรับฐานข้อมูล Pinecone.io Vector พร้อมการสนับสนุน typescript ที่ยอดเยี่ยม
Pinecone เพิ่งเปิดตัวไคลเอนต์ที่คล้ายกัน เป็นตัวเลือกที่ยอดเยี่ยมหากคุณไม่จู้จี้จุกจิกเกี่ยวกับข้อมูลเมตาที่พิมพ์อย่างเต็มที่
import { PineconeClient } from 'pinecone-client' ;
// Specify the type of your metadata
type Metadata = { size : number , tags ?: string [ ] | null } ;
// Instantiate a client
const pinecone = new PineconeClient < Metadata > ( { namespace : 'test' } ) ;
// Upsert vectors with metadata.
await pinecone . upsert ( {
vectors : [
{ id : '1' , values : [ 1 , 2 , 3 ] , metadata : { size : 3 , tags : [ 'a' , 'b' , 'c' ] } } ,
{ id : '2' , values : [ 4 , 5 , 6 ] , metadata : { size : 10 , tags : null } } ,
] ,
} ) ;
// Query vectors with metadata filters.
const { matches } = await pinecone . query ( {
topK : 2 ,
id : '2' ,
filter : { size : { $lt : 20 } } ,
includeMetadata : true ,
} ) ;
// typeof matches = {
// id: string;
// score: number;
// metadata: Metadata;
// }[]; คำเตือน: แพ็คเกจนี้เป็น Native ESM และไม่มีการส่งออก CommonJS อีกต่อไป หากโครงการของคุณใช้ CommonJS คุณจะต้องแปลงเป็น ESM หรือใช้ฟังก์ชั่น import() โปรดอย่าเปิดปัญหาสำหรับคำถามเกี่ยวกับ CommonJS / ESM
เวลาที่รัน
npm install pinecone-client import { PineconeClient } from 'pinecone-client' ;
const pinecone = new PineconeClient ( { /* ... */ } ) ; เมื่อติดตั้งแล้วคุณต้องสร้างอินสแตนซ์ของคลาส PineconeClient เพื่อโทรออก API
import { PineconeClient } from 'pinecone-client' ;
// A type representing your metadata
type Metadata = { } ;
const pinecone = new PineconeClient < Metadata > ( {
apiKey : '<your api key>' ,
baseUrl : '<your index url>' ,
namespace : 'testing' ,
} ) ;ทั้ง Apikey และ BaseUrl เป็นตัวเลือกและจะถูกอ่านจากตัวแปรสภาพแวดล้อมต่อไปนี้:
process.env.PINECONE_API_KEYprocess.env.PINECONE_BASE_URLไคลเอนต์รองรับการดำเนินการเวกเตอร์ทั้งหมดจาก Pinecone API โดยใช้ชื่อและพารามิเตอร์วิธีการเดียวกัน นอกจากนี้ยังรองรับการสร้างและลบดัชนี
สำหรับเอกสารโดยละเอียดพร้อมลิงก์ไปยังเอกสาร Pinecone ดูที่ซอร์สโค้ด
pinecone.delete()pinecone.describeIndexStats()pinecone.fetch()pinecone.query()pinecone.update()pinecone.upsert()pinecone.createIndex()pinecone.deleteIndex()นอกจากนี้คุณยังสามารถค้นหาการใช้ตัวอย่างเพิ่มเติมในการทดสอบ E2E