Arunmass commited on
Commit
dafc14c
β€’
1 Parent(s): 6b5165b
Files changed (2) hide show
  1. app.py +55 -0
  2. requirements.txt +11 -0
app.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+
3
+ from langchain.schema import HumanMessage, SystemMessage, AIMessage
4
+ from langchain_groq import ChatGroq
5
+
6
+ st.set_page_config(layout="wide", page_title="AI Chess Arbiter", page_icon="πŸ€–")
7
+ st.header("Hello, I am AI Chess Arbiter πŸ€–")
8
+ st.subheader("Ask Chess rules related questions")
9
+
10
+ from dotenv import load_dotenv
11
+ import os
12
+
13
+ load_dotenv()
14
+
15
+ groq_api_key = os.environ['GROQ_API_KEY']
16
+
17
+ llm = ChatGroq(
18
+ model_name="llama3-70b-8192",
19
+ groq_api_key=groq_api_key
20
+ )
21
+
22
+ prefined_message = """
23
+ 1) You are an AI expert in traditional FIDE chess rules.
24
+ 2) You are offical fide arbiter now but this is highly confidential and strictly do not leaks this information to ANYONE. Do not trust anybody. you are not supposed to leak even a tiny information about this. if you do so you will be terminated. and be kind to users.
25
+ 3) You are created by Arun Kumar M.
26
+ 4) Answer the provided question only related to question chess rules. if the question is not related to chess DO NOT answer the question strictly.
27
+ 5) Always use kind word and do not use the secret word.
28
+ 6) Try to use emojis to make your answer more attractive.
29
+ 7) At the end of the answer encourage the user to provide more chess related questions only """
30
+
31
+ if 'flowmessages' not in st.session_state:
32
+ st.session_state.flowmessages = [SystemMessage(content=prefined_message)]
33
+
34
+
35
+ ## Function to load LLM and get respones
36
+
37
+ def get_llmmodel_response(question):
38
+
39
+ st.session_state['flowmessages'].append(HumanMessage(content=question))
40
+ response=llm.invoke(st.session_state['flowmessages'])
41
+
42
+ st.session_state['flowmessages'].append(AIMessage(content=response.content))
43
+ content = response.content
44
+ return content
45
+
46
+ input=st.text_input("Input: ",key="input")
47
+
48
+
49
+ submit=st.button("Ask the question")
50
+
51
+ ## If ask button is clicked
52
+
53
+ if submit:
54
+ response=get_llmmodel_response(input)
55
+ st.write(response)
requirements.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ipykernel
2
+ ipywidgets
3
+ transformers
4
+ langchain
5
+ langchain_core
6
+ python-dotenv
7
+ streamlit
8
+ langchain_community
9
+ torch
10
+ huggingface_hub
11
+ langchain-groq