Spaces:
Sleeping
Sleeping
John Landry
commited on
Commit
•
82726c7
1
Parent(s):
211d12e
add pinecone
Browse files- kb.py +18 -0
- main.py +4 -1
- 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
|