-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrag_SDE.py
49 lines (40 loc) · 1.78 KB
/
rag_SDE.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import logging
import sys
import os
from pinecone import Pinecone, ServerlessSpec
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.vector_stores.pinecone import PineconeVectorStore
from IPython.display import Markdown, display
from llama_index.llms.anthropic import Anthropic
from llama_index.multi_modal_llms.anthropic import AnthropicMultiModal
from langchain.embeddings import HuggingFaceEmbeddings
from llama_index.embeddings.langchain import LangchainEmbedding
from llama_index.embeddings.cohere import CohereEmbedding
from llama_index.core import StorageContext
from llama_index.core import Settings
from config import claude_api_key,cohere_api_key,pinecone_api_key,sentence_trans_hf
#logging all information to the terminal
# logging.basicConfig(stream=sys.stdout, level=logging.INFO)
# logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
#declaring environment variables
os.environ["HF_TOKEN"] = sentence_trans_hf
os.environ["PINECONE_API_KEY"] = pinecone_api_key
api_key = os.environ["PINECONE_API_KEY"]
pc = Pinecone(api_key=api_key)
os.environ["COHERE_API_KEY"] = cohere_api_key
os.environ["ANTHROPIC_API_KEY"] = claude_api_key
lc_embed_model = HuggingFaceEmbeddings(
model_name="sentence-transformers/all-mpnet-base-v2"
)
embed_model = LangchainEmbedding(lc_embed_model)
Settings.embed_model = embed_model
Settings.chunk_size = 512
async def get_sde_questions(query):
llm = Anthropic(model="claude-3-haiku-20240307")
Settings.llm = llm
pinecone_index = pc.Index("interview-experiences")
vector_store = PineconeVectorStore(pinecone_index=pinecone_index)
index = VectorStoreIndex.from_vector_store(vector_store)
query_engine = index.as_query_engine()
response = query_engine.query(query)
return response