forked from cmagganas/ragathon-aim-notes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontext.py
23 lines (20 loc) · 923 Bytes
/
context.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from langchain.embeddings import HuggingFaceBgeEmbeddings
from llama_index import LLMPredictor, PromptHelper, ServiceContext
from llama_index.indices.postprocessor import SentenceTransformerRerank
from langchain_community.llms import OpenAI
from dotenv import load_dotenv
load_dotenv()
llm = OpenAI(model="gpt-3.5-turbo-instruct", temperature=0.5)
def create_base_context():
model_name = "BAAI/bge-large-en"
model_kwargs = {'device': 'cpu'}
encode_kwargs = {'normalize_embeddings': True}
embeddings = HuggingFaceBgeEmbeddings(
model_name=model_name,
model_kwargs=model_kwargs,
encode_kwargs=encode_kwargs
)
service_context = ServiceContext.from_defaults(llm=llm,
embed_model=embeddings)
re_ranker = SentenceTransformerRerank(model="cross-encoder/ms-marco-MiniLM-L-6-v2", top_n=2)
return service_context, re_ranker