Skip to content
This repository has been archived by the owner on Jan 5, 2025. It is now read-only.

Commit

Permalink
Adding support for qdrant and bumping langchain version
Browse files Browse the repository at this point in the history
  • Loading branch information
codebanesr committed Jul 15, 2023
1 parent 8e8742e commit 8c15f53
Show file tree
Hide file tree
Showing 224 changed files with 34,042 additions and 884 deletions.
20 changes: 17 additions & 3 deletions common.env
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
# Required for openai azure ------------------------------------------------------------------
USE_AZURE_OPENAI=true
AZURE_OPENAI_API_KEY=5c25fe261edc4b0eb10417e5cda51689
AZURE_OPENAI_API_INSTANCE_NAME=shanurrahman
AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME=emailclassifier
AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME=emailclassifierembedding
AZURE_OPENAI_API_VERSION=2023-03-15-preview
# --------------------------------------------------------------------------------------------

OPENAI_API_KEY=
PINECONE_API_KEY=
PINECONE_ENVIRONMENT=
PINECONE_INDEX_NAME=
PINECONE_API_KEY=2da8059e-748e-4e15-9f14-aa6f1d21a778
PINECONE_ENVIRONMENT=asia-southeast1-gcp-free
PINECONE_INDEX_NAME=kurtzweil


# QDRANT_URL
QDRANT_URL=http://qdrant:6333
STORE=qdrant
9 changes: 9 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@ services:
networks:
- openchat_network

qdrant:
image: qdrant/qdrant
ports:
- 6333:6333
volumes:
- ./qdrant_storage:/qdrant/storage
networks:
- openchat_network

redis:
restart: unless-stopped
image: "redis:3.2"
Expand Down
2 changes: 2 additions & 0 deletions llm-server/config/pinecone.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ const PINECONE_INDEX_NAME = process.env.PINECONE_INDEX_NAME ?? '';

const PINECONE_NAME_SPACE = 'bot-test'; //namespace is optional for your vectors


export const PINECONE_TEXT_KEY = 'text';
export {PINECONE_INDEX_NAME, PINECONE_NAME_SPACE};
6 changes: 2 additions & 4 deletions llm-server/data-sources/codebaseHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import type {NextApiRequest, NextApiResponse} from 'next';
import {PINECONE_INDEX_NAME} from '@/config/pinecone';
import {RecursiveCharacterTextSplitter} from 'langchain/text_splitter';
import {OpenAIEmbeddings} from 'langchain/embeddings/openai';
import {PineconeStore} from 'langchain/vectorstores/pinecone';
import {pinecone} from '@/utils/pinecone-client';
import {GithubRepoLoader} from "langchain/document_loaders/web/github";
import { initVectorStore } from '@/utils/initVectorStore';

export default async function codebaseHandler(req: NextApiRequest, res: NextApiResponse) {
try {
Expand All @@ -28,9 +28,7 @@ export default async function codebaseHandler(req: NextApiRequest, res: NextApiR
const embeddings = new OpenAIEmbeddings();
const index = pinecone.Index(PINECONE_INDEX_NAME);

await PineconeStore.fromDocuments(docs, embeddings, {
pineconeIndex: index, namespace: namespace, textKey: 'text',
});
await initVectorStore(docs, embeddings, {index, namespace})

console.log('Indexed documents. all done!')
return res.status(200).json({message: 'Success'});
Expand Down
20 changes: 9 additions & 11 deletions llm-server/data-sources/pdfHandler.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import type {NextApiRequest, NextApiResponse} from 'next';
import {PINECONE_INDEX_NAME} from '@/config/pinecone';
import {DirectoryLoader} from 'langchain/document_loaders/fs/directory';
import {CustomPDFLoader} from '@/utils/customPDFLoader';
import {RecursiveCharacterTextSplitter} from 'langchain/text_splitter';
import {OpenAIEmbeddings} from 'langchain/embeddings/openai';
import {PineconeStore} from 'langchain/vectorstores/pinecone';
import {pinecone} from '@/utils/pinecone-client';
import { PINECONE_INDEX_NAME } from '@/config/pinecone';
import { CustomPDFLoader } from '@/utils/customPDFLoader';
import { initVectorStore } from '@/utils/initVectorStore';
import { pinecone } from '@/utils/pinecone-client';
import { DirectoryLoader } from 'langchain/document_loaders/fs/directory';
import { OpenAIEmbeddings } from 'langchain/embeddings/openai';
import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter';
import type { NextApiRequest, NextApiResponse } from 'next';

export default async function pdfHandler(req: NextApiRequest, res: NextApiResponse) {
try {
Expand All @@ -27,9 +27,7 @@ export default async function pdfHandler(req: NextApiRequest, res: NextApiRespon
const embeddings = new OpenAIEmbeddings();
const index = pinecone.Index(PINECONE_INDEX_NAME);

await PineconeStore.fromDocuments(docs, embeddings, {
pineconeIndex: index, namespace: namespace, textKey: 'text',
});
await initVectorStore(docs, embeddings, {index, namespace});

console.log('All is done, folder deleted');
return res.status(200).json({message: 'Success'});
Expand Down
6 changes: 2 additions & 4 deletions llm-server/data-sources/websiteHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import {DirectoryLoader} from 'langchain/document_loaders/fs/directory';
import {RecursiveCharacterTextSplitter} from 'langchain/text_splitter';
import {TextLoader} from 'langchain/document_loaders';
import {OpenAIEmbeddings} from 'langchain/embeddings/openai';
import {PineconeStore} from 'langchain/vectorstores/pinecone';
import {pinecone} from '@/utils/pinecone-client';
import { initVectorStore } from '@/utils/initVectorStore';

export default async function websiteHandler(req: NextApiRequest, res: NextApiResponse) {
try {
Expand All @@ -27,9 +27,7 @@ export default async function websiteHandler(req: NextApiRequest, res: NextApiRe
const embeddings = new OpenAIEmbeddings();
const index = pinecone.Index(PINECONE_INDEX_NAME);

await PineconeStore.fromDocuments(docs, embeddings, {
pineconeIndex: index, namespace: namespace, textKey: 'text',
});
await initVectorStore(docs, embeddings, {index, namespace})
console.log('All is done, folder deleted');
return res.status(200).json({message: 'Success'});
} catch (e) {
Expand Down
6 changes: 6 additions & 0 deletions llm-server/interfaces/storeOptions.interface.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { VectorOperationsApi } from "@pinecone-database/pinecone/dist/pinecone-generated-ts-fetch";

export interface StoreOptions {
namespace?: string;
index?: VectorOperationsApi;
}
Loading

0 comments on commit 8c15f53

Please sign in to comment.