{"_id":"@ainative/langchain","name":"@ainative/langchain","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ainative/langchain","version":"0.1.0","description":"LangChain.js integration for AINative — ChatModel, Embeddings, and VectorStore backed by AINative/ZeroDB. Free tier, auto-provisioning, OpenAI-compatible.","main":"index.cjs","module":"index.js","type":"module","exports":{".":{"import":"./index.js","require":"./index.cjs"}},"scripts":{"test":"node node_modules/.bin/jest --config jest.config.cjs --forceExit","test:ci":"node node_modules/.bin/jest --config jest.config.cjs --forceExit --ci"},"keywords":["langchain","langchain-integration","vector-store","chat-model","embeddings","ainative","zerodb","free-llm","rag","retrieval-augmented-generation","claude","cursor","windsurf","auto-provisioning","openai-compatible","llama","meta-llama","vector-database","semantic-search","ai-agent","mcp"],"author":{"name":"AINative Studio"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/AINative-Studio/langchain-ainative-js.git"},"bugs":{"url":"https://github.com/AINative-Studio/langchain-ainative-js/issues"},"homepage":"https://zerodb.ai","peerDependencies":{"@langchain/openai":">=0.3.0"},"peerDependenciesMeta":{"@langchain/openai":{"optional":false}},"devDependencies":{"@langchain/openai":"^0.5.0","jest":"^29.7.0","@jest/globals":"^29.7.0"},"engines":{"node":">=18.0.0"},"_id":"@ainative/langchain@0.1.0","gitHead":"ddbd2fb98b5096173b08ac1c38ed119fa185f8ba","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-AWI7LRXxckoa7ETcxh0iNhtwHd2wfD/+ITnR51lvDWCH1R6tZtZ2gZkSz2hGlaZOdpTzTw5WKarwaz6W58BPUQ==","shasum":"8d089a92cac09c1a780598514a0802920f7e8662","tarball":"https://registry.npmjs.org/@ainative/langchain/-/langchain-0.1.0.tgz","fileCount":5,"unpackedSize":28431,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDCfvHJHEB6FG9+Z+yVhy2rAzeCkeqCzD/MG51QOrpJ0AIgMnwqlfO+ekjW4fj3qLA1x17efpnYlAeAI7fO6WDPWEg="}]},"_npmUser":{"name":"ainative-studio","email":"toby@rely.ventures"},"directories":{},"maintainers":[{"name":"ainative-studio","email":"toby@rely.ventures"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/langchain_0.1.0_1781082439060_0.06140961494784958"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-10T09:07:18.875Z","0.1.0":"2026-06-10T09:07:19.191Z","modified":"2026-06-10T09:07:19.451Z"},"maintainers":[{"name":"ainative-studio","email":"toby@rely.ventures"}],"description":"LangChain.js integration for AINative — ChatModel, Embeddings, and VectorStore backed by AINative/ZeroDB. Free tier, auto-provisioning, OpenAI-compatible.","homepage":"https://zerodb.ai","keywords":["langchain","langchain-integration","vector-store","chat-model","embeddings","ainative","zerodb","free-llm","rag","retrieval-augmented-generation","claude","cursor","windsurf","auto-provisioning","openai-compatible","llama","meta-llama","vector-database","semantic-search","ai-agent","mcp"],"repository":{"type":"git","url":"git+https://github.com/AINative-Studio/langchain-ainative-js.git"},"author":{"name":"AINative Studio"},"bugs":{"url":"https://github.com/AINative-Studio/langchain-ainative-js/issues"},"license":"MIT","readme":"# @langchain/ainative\n\nLangChain.js integration for [AINative](https://ainative.studio) and [ZeroDB](https://zerodb.ai). Chat models, embeddings, and vector store — all backed by AINative's free-tier AI infrastructure.\n\n**Zero config.** Auto-provisions a free project on first use. No signup, no credit card.\n\n## Install\n\n```bash\nnpm install @langchain/ainative @langchain/openai\n```\n\n## Quick Start\n\n### Chat Model\n\n```javascript\nimport { AINativeChatModel } from '@langchain/ainative';\n\nconst model = new AINativeChatModel();\n// Uses meta-llama/Llama-3.3-70B-Instruct by default (free tier)\n\nconst response = await model.invoke('What is retrieval-augmented generation?');\nconsole.log(response.content);\n```\n\n### Embeddings\n\n```javascript\nimport { AINativeEmbeddings } from '@langchain/ainative';\n\nconst embeddings = new AINativeEmbeddings();\n// Uses BAAI/bge-small-en-v1.5 by default (free tier)\n\nconst vectors = await embeddings.embedDocuments([\n  'Hello world',\n  'LangChain is great',\n]);\nconsole.log(vectors[0].length); // 384\n```\n\n### Vector Store (RAG)\n\n```javascript\nimport { AINativeChatModel, AINativeEmbeddings, AINativeVectorStore } from '@langchain/ainative';\n\n// Create embeddings + vector store\nconst embeddings = new AINativeEmbeddings();\nconst vectorStore = new AINativeVectorStore(embeddings, {\n  // Optional: auto-provisions if omitted\n  apiKey: process.env.ZERODB_API_KEY,\n  projectId: process.env.ZERODB_PROJECT_ID,\n});\n\n// Add documents\nawait vectorStore.addDocuments([\n  { pageContent: 'AINative provides free LLM access.', metadata: { source: 'docs' } },\n  { pageContent: 'ZeroDB is a vector database for AI agents.', metadata: { source: 'docs' } },\n]);\n\n// Similarity search\nconst results = await vectorStore.similaritySearch('free AI tools', 3);\nconsole.log(results);\n```\n\n### Full RAG Chain\n\n```javascript\nimport { AINativeChatModel, AINativeEmbeddings, AINativeVectorStore } from '@langchain/ainative';\nimport { StringOutputParser } from '@langchain/core/output_parsers';\nimport { ChatPromptTemplate } from '@langchain/core/prompts';\nimport { RunnableSequence } from '@langchain/core/runnables';\n\nconst model = new AINativeChatModel();\nconst embeddings = new AINativeEmbeddings();\nconst vectorStore = new AINativeVectorStore(embeddings);\n\n// Build RAG chain\nconst retriever = {\n  invoke: async (query) => {\n    const docs = await vectorStore.similaritySearch(query, 3);\n    return docs.map((d) => d.pageContent).join('\\n');\n  },\n};\n\nconst prompt = ChatPromptTemplate.fromTemplate(\n  'Answer based on context:\\n{context}\\n\\nQuestion: {question}'\n);\n\nconst chain = RunnableSequence.from([\n  {\n    context: (input) => retriever.invoke(input.question),\n    question: (input) => input.question,\n  },\n  prompt,\n  model,\n  new StringOutputParser(),\n]);\n\nconst answer = await chain.invoke({ question: 'What is ZeroDB?' });\nconsole.log(answer);\n```\n\n## Configuration\n\n### Chat Model Options\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `model` | `meta-llama/Llama-3.3-70B-Instruct` | Model name |\n| `apiKey` | `process.env.AINATIVE_API_KEY` | AINative API key |\n| `baseURL` | `https://api.ainative.studio/api/v1` | API base URL |\n| `temperature` | `0.7` | Sampling temperature |\n| `maxTokens` | - | Max tokens in response |\n\n### Embeddings Options\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `model` | `BAAI/bge-small-en-v1.5` | Embedding model |\n| `apiKey` | `process.env.AINATIVE_API_KEY` | AINative API key |\n| `baseURL` | `https://api.ainative.studio/api/v1` | API base URL |\n\n### Vector Store Options\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `apiKey` | `process.env.ZERODB_API_KEY` | ZeroDB API key |\n| `projectId` | `process.env.ZERODB_PROJECT_ID` | ZeroDB project ID |\n| `namespace` | `default` | Vector namespace |\n| `baseURL` | `https://api.ainative.studio` | API base URL |\n\n## Auto-Provisioning\n\nWhen no API key is provided, the package automatically creates a free ZeroDB project:\n\n1. Makes a POST to `/api/v1/public/instant-db`\n2. Returns credentials (API key + project ID)\n3. Project has a 72-hour trial — claim it at the provided URL to keep permanently\n\nSet `ZERODB_API_KEY` and `ZERODB_PROJECT_ID` environment variables to skip provisioning.\n\n## Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `AINATIVE_API_KEY` | API key for chat/embeddings |\n| `ZERODB_API_KEY` | API key for vector store |\n| `ZERODB_PROJECT_ID` | ZeroDB project ID |\n\n## CommonJS Support\n\n```javascript\nconst { AINativeChatModel, AINativeEmbeddings, AINativeVectorStore } = require('@langchain/ainative');\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-ae0637452915d26c2bcc49c1253504a1"}