Spaces:
Runtime error
Runtime error
import os | |
from langchain.document_loaders.csv_loader import CSVLoader | |
from langchain.text_splitter import RecursiveCharacterTextSplitter | |
from langchain.vectorstores import Chroma | |
from langchain.embeddings import OpenAIEmbeddings | |
from langchain.chat_models import ChatOpenAI | |
from langchain.schema.runnable import RunnablePassthrough | |
from langchain.prompts import PromptTemplate | |
from langchain import hub | |
# from env import OPENAI_API_KEY | |
def main(): | |
loader = CSVLoader(file_path="output.csv") | |
data = loader.load() | |
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=0) | |
splits = text_splitter.split_documents(data) | |
vectorstore = Chroma.from_documents( | |
documents=splits, | |
embedding=OpenAIEmbeddings(openai_api_key=os.environ['OPENAI_API_KEY']), | |
) | |
retriever = vectorstore.as_retriever() | |
rag_prompt = hub.pull("rlm/rag-prompt") | |
llm = ChatOpenAI( | |
model_name="gpt-3.5-turbo", | |
temperature=0, | |
openai_api_key=os.environ['OPENAI_API_KEY'], | |
) | |
template = """Use the following pieces of context to answer the question at the end. | |
If you don't know the answer, just say that you don't know, don't try to make up an answer. | |
Use three sentences maximum and keep the answer as concise as possible. | |
{context} | |
Question: {question} | |
Helpful Answer:""" | |
rag_prompt_custom = PromptTemplate.from_template(template) | |
rag_chain = ( | |
{"context": retriever, "question": RunnablePassthrough()} | |
| rag_prompt_custom | |
| llm | |
) | |
return rag_chain | |
def driver2(customer_name): | |
rag_chain = main() | |
response = rag_chain.invoke( | |
"Can you tell me more about customer" | |
+ customer_name | |
+ " and how they benefited from salesforce?" | |
) | |
print(response) | |
return response.content | |