File size: 1,095 Bytes
15592c6 51678f3 15592c6 51678f3 15592c6 51678f3 15592c6 51678f3 15592c6 |
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 |
import os
from langchain.embeddings import OpenAIEmbeddings, HuggingFaceInstructEmbeddings
from langchain.vectorstores import Chroma
from langchain.chat_models import ChatOpenAI
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
from langchain.llms import HuggingFaceHub
from dotenv import load_dotenv
load_dotenv()
def create_conversation() -> ConversationalRetrievalChain:
persist_directory = 'db'
embeddings = HuggingFaceInstructEmbeddings(model_name="hkunlp/instructor-xl")
db = Chroma(
persist_directory=persist_directory,
embedding_function=embeddings
)
memory = ConversationBufferMemory(
memory_key='chat_history',
return_messages=False
)
qa = ConversationalRetrievalChain.from_llm(
llm=HuggingFaceHub(repo_id="google/flan-t5-xxl", model_kwargs={"temperature":0.5, "max_length":512}),
chain_type='stuff',
retriever=db.as_retriever(),
memory=memory,
get_chat_history=lambda h: h,
verbose=True
)
return qa |