John Landry commited on
Commit
82726c7
1 Parent(s): 211d12e

add pinecone

Browse files
Files changed (3) hide show
  1. kb.py +18 -0
  2. main.py +4 -1
  3. requirements.txt +10 -1
kb.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ from langchain_pinecone import PineconeVectorStore
3
+ from langchain_core.vectorstores import VectorStore
4
+ from langchain_core.vectorstores import VectorStoreRetriever
5
+ from langchain_aws import BedrockEmbeddings
6
+
7
+ INDEX_NAME = "zeteo-health"
8
+ NAMESPACE = "knowedgebase"
9
+ EMBEDDING_DIMENSION = 1536
10
+ EMBEDDING_MODEL_NAME = "amazon.titan-embed-text-v1"
11
+
12
+ vectorstore = PineconeVectorStore(INDEX_NAME,
13
+ embedding=BedrockEmbeddings(model_id=EMBEDDING_MODEL_NAME,
14
+ namespace=NAMESPACE))
15
+
16
+ def search_with_score(self, query):
17
+ documents = [doc[0] for doc in self.vectorstore.similarity_search_with_score(query, k=6) if doc[1] > self.similarity_threshold]
18
+ return documents
main.py CHANGED
@@ -2,6 +2,7 @@ from fastapi import FastAPI, Request, Query
2
  import logging
3
  from whatsapp_client import WhatsAppWrapper
4
  import json
 
5
 
6
  logger = logging.getLogger()
7
 
@@ -42,8 +43,10 @@ async def callback(request: Request):
42
  if 'from' in message:
43
  phone_num = message['from']
44
  mesg_body = value['messages'][0]['text']['body']
 
 
45
  client = WhatsAppWrapper()
46
  client.send_text_message("hello, right back at ya ..." + mesg_body, phone_num)
47
 
48
  return {"status": "success"}
49
-
 
2
  import logging
3
  from whatsapp_client import WhatsAppWrapper
4
  import json
5
+ from kb import search_with_score
6
 
7
  logger = logging.getLogger()
8
 
 
43
  if 'from' in message:
44
  phone_num = message['from']
45
  mesg_body = value['messages'][0]['text']['body']
46
+ documents = search_with_score(mesg_body)
47
+ print(f"DOCUMENT: {len(documents)}")
48
  client = WhatsAppWrapper()
49
  client.send_text_message("hello, right back at ya ..." + mesg_body, phone_num)
50
 
51
  return {"status": "success"}
52
+
requirements.txt CHANGED
@@ -1,4 +1,13 @@
1
  fastapi
2
  uvicorn[standard]
3
  python-dotenv
4
- requests
 
 
 
 
 
 
 
 
 
 
1
  fastapi
2
  uvicorn[standard]
3
  python-dotenv
4
+ requests
5
+ pinecone-client
6
+ langchain
7
+ langchain-aws
8
+ langchain-community
9
+ langchain-pinecone
10
+ pinecone-client
11
+ python-dotenv
12
+ tiktoken
13
+ boto3