mcp-talent-server
Version:
Model Context Protocol server for talent management tools
51 lines • 1.66 kB
JavaScript
import { Pinecone } from "@pinecone-database/pinecone";
import { PineconeStore } from "@langchain/pinecone";
import { OpenAIEmbeddings } from "@langchain/openai";
import dotenv from "dotenv";
dotenv.config({ debug: false });
// Initialize Pinecone client
const pinecone = new Pinecone({
apiKey: process.env.PINECONE_API_KEY || '',
});
// Initialize OpenAI embeddings
const embeddings = new OpenAIEmbeddings({
openAIApiKey: process.env.OPENAI_API_KEY,
modelName: "text-embedding-3-small",
});
// Get Pinecone index
const index = pinecone.index(process.env.PINECONE_INDEX_NAME || '');
const generalVectorStore = new PineconeStore(embeddings, {
pineconeIndex: index,
maxConcurrency: 5,
textKey: 'text',
});
// Initialize PineconeStore with default namespace
const vectorStore = new PineconeStore(embeddings, {
pineconeIndex: index,
maxConcurrency: 5,
textKey: 'text',
namespace: 'docs',
});
const rateSheet2025VectorStore = new PineconeStore(embeddings, {
pineconeIndex: index,
maxConcurrency: 5,
textKey: 'text',
namespace: 'rate-sheet-2025',
});
// Create DOCX-specific vector store
const docxVectorStore = new PineconeStore(embeddings, {
pineconeIndex: index,
maxConcurrency: 5,
textKey: 'text',
namespace: 'docx',
});
// Function to get vector store for specific namespace
export const getVectorStore = (namespace) => {
if (namespace === 'docx') {
return docxVectorStore;
}
return vectorStore;
};
export default vectorStore;
export { index, embeddings, pinecone, docxVectorStore, generalVectorStore, rateSheet2025VectorStore };
//# sourceMappingURL=vector-store.js.map