• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
peterqliu

peterqliu

PineconeIndex

Vector db's on Pinecone, with OpenAI embeddings
Public
Like
PineconeIndex
Home
Code
3
PineconeIndex
README.md
H
sample_server
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
/
x
/
peterqliu
/
PineconeIndex
/
branch
/
main
/
version
/
107
/
code
/
README.md
/
README.md
Code
/
/
x
/
peterqliu
/
PineconeIndex
/
branch
/
main
/
version
/
107
/
code
/
README.md
/
README.md
Search
…
Viewing readonly version of main branch: v107
View latest version
README.md

PineconeIndex

A simple interface for querying and managing your Pinecone vector database. Search through your documents using natural language queries.

Quickstart

import PineconeIndex from "https://esm.town/v/peterqliu/PineconeIndex/PineconeIndex"; // set up your environment variables const pineconeKey = Deno.env.get("PINECONE_KEY"); const modelToken = Deno.env.get("OPENAI_KEY"); const index = new PineconeIndex({ name: "2025-all-docs", model: "text-embedding-ada-002", dimensions: 1536, pineconeKey, modelToken, }); // Use the methods directly const results = await index.query("machine learning applications"); await index.upsertRecords(["Document 1", "Document 2"]); await index.empty();

API Reference

Search Documents

Find the most relevant documents for your query.

const results = await index.query("your search text");

Returns:

{ "matches": [ { "id": "doc-123", "score": 0.95, "metadata": { "text": "Machine learning is transforming..." } } ] }

Add Documents

Upload new documents to your index.

await index.upsertRecords([ "First document content", "Second document content", ]);

Clear Index

Remove all documents from your index.

await index.empty();

Create Index

Create a new Pinecone index (if it doesn't exist).

await index.create();

Usage Examples

Basic Usage

import PineconeIndex from "https://esm.town/v/peterqliu/PineconeIndex/PineconeIndex"; const index = new PineconeIndex({ name: "my-documents", model: "text-embedding-ada-002", dimensions: 1536, pineconeKey: Deno.env.get("PINECONE_KEY"), modelToken: Deno.env.get("OPENAI_KEY"), }); // Add some documents await index.upsertRecords([ "AI is revolutionizing healthcare", "Machine learning enables automation", "Solar energy is becoming more efficient", ]); // Search for relevant documents const results = await index.query("renewable energy technologies"); console.log(results.matches);

Remote HTTP access

PineconeIndex also provides handleRequest as a convenience method to access your indices via HTTP. This is useful when multiple other vals need to access, or for granting access without sharing Pinecone or OpenAI keys.

Server setup

const index = new PinconeIndex({...}); export default async function (req: Request): Promise<Response> { return await index.handleRequest(req); }

Usage

Operations are determined by the URL path. The first segment after the domain specifies the operation to perform.

const API_URL = "https://your-server-url.web.val.run"; // Search for documents: append the desired operation to the url const searchResponse = await fetch(`${API_URL}/query/`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify("artificial intelligence trends"), });
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.