• 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
/
104
/
code
/
README.md
/
README.md
Code
/
/
x
/
peterqliu
/
PineconeIndex
/
branch
/
main
/
version
/
104
/
code
/
README.md
/
README.md
Search
…
Viewing readonly version of main branch: v104
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

// query index with string for nearest neighbors 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.