Younesse Kaddar commited on
Commit
c3e31ca
·
1 Parent(s): c8d1710
Files changed (1) hide show
  1. app.py +51 -0
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import pinecone
3
+ import streamlit as st
4
+ from langchain.document_loaders import TextLoader
5
+ from langchain.text_splitter import RecursiveCharacterTextSplitter
6
+ from langchain.embeddings import OpenAIEmbeddings
7
+ from langchain.vectorstores import Chroma, Pinecone
8
+ from langchain.chains import ConversationalRetrievalChain, LLMChain, SimpleSequentialChain
9
+ from langchain.memory import ConversationBufferMemory
10
+ from langchain.llms import OpenAI
11
+ from langchain.schema import (AIMessage, HumanMessage, SystemMessage)
12
+ from langchain.chat_models import ChatOpenAI, ChatAnthropic
13
+ from langchain import PromptTemplate
14
+ from dotenv import load_dotenv, find_dotenv
15
+
16
+ load_dotenv(find_dotenv())
17
+
18
+ # pinecone.init(api_key=os.getenv("PINECONE_API_KEY"), environment=os.getenv("PINECONE_ENVIRONMENT"))
19
+
20
+ dataset_path = "./dataset.txt"
21
+ loader = TextLoader(dataset_path)
22
+ comments = loader.load_and_split()
23
+
24
+ embeddings = OpenAIEmbeddings(model_name="ada")
25
+ vectordb = Chroma.from_documents(comments, embedding=embeddings, persist_directory=".")
26
+ vectordb.persist()
27
+ memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
28
+
29
+ # Assuming that GPT-4 is used for grammar, structure, and fact-checking
30
+ # and Claude is used for providing tips and encouraging students to do their own research
31
+ grammar_llm = OpenAI(temperature=0.8)
32
+ tips_llm = Claude(temperature=0.8)
33
+
34
+ grammar_qa = ConversationalRetrievalChain.from_llm(grammar_llm, vectordb.as_retriever(), memory=memory)
35
+ tips_qa = ConversationalRetrievalChain.from_llm(tips_llm, vectordb.as_retriever(), memory=memory)
36
+
37
+
38
+
39
+ st.title('AI Statement Reviewer')
40
+
41
+ user_input = st.text_area("Enter your personal statement here:")
42
+
43
+ if st.button('Get feedback'):
44
+ grammar_result = grammar_qa({"question": user_input})
45
+ tips_result = tips_qa({"question": user_input})
46
+ st.write("Grammar and Structure Feedback:")
47
+ st.write(grammar_result["answer"])
48
+ st.write("Tips and Recommendations:")
49
+ st.write(tips_result["answer"])
50
+
51
+