datacipen commited on
Commit
43d0d69
1 Parent(s): cade005

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +27 -5
main.py CHANGED
@@ -15,13 +15,30 @@ from langchain.agents import AgentExecutor
15
  from langchain.agents.agent_types import AgentType
16
  from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent, create_csv_agent
17
 
18
- from pandasai.llm import HuggingFaceTextGen
19
  from pandasai import SmartDataframe
20
  import chainlit as cl
21
  from chainlit.input_widget import TextInput, Select, Switch, Slider
22
 
23
  from deep_translator import GoogleTranslator
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  @cl.step(type="tool")
26
  async def LLMistral():
27
  os.environ['HUGGINGFACEHUB_API_TOKEN'] = os.environ['HUGGINGFACEHUB_API_TOKEN']
@@ -33,9 +50,15 @@ async def LLMistral():
33
 
34
  @cl.step(type="tool")
35
  async def LLM():
36
- os.environ['ANTHROPIC_API_KEY'] = os.environ['ANTHROPIC_API_KEY']
37
- llm = AnthropicLLM(model='claude-3-haiku-20240307',temperature=0)
38
  return llm
 
 
 
 
 
 
39
 
40
  @cl.set_chat_profiles
41
  async def chat_profile():
@@ -56,9 +79,8 @@ async def set_starters():
56
  @cl.on_message
57
  async def on_message(message: cl.Message):
58
  await cl.Message(f"> SURVEYIA").send()
59
- model = await LLMistral()
60
 
61
- df = SmartDataframe("./public/ExpeCFA_LP_CAA.csv", config={"llm": model})
62
  msg = cl.Message(content="")
63
  res = df.chat(message.content)
64
  #cb = cl.AsyncLangchainCallbackHandler()
 
15
  from langchain.agents.agent_types import AgentType
16
  from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent, create_csv_agent
17
 
18
+ from pandasai.llm import OpenAI
19
  from pandasai import SmartDataframe
20
  import chainlit as cl
21
  from chainlit.input_widget import TextInput, Select, Switch, Slider
22
 
23
  from deep_translator import GoogleTranslator
24
 
25
+ @cl.password_auth_callback
26
+ def auth_callback(username: str, password: str):
27
+ auth = json.loads(os.environ['CHAINLIT_AUTH_LOGIN'])
28
+ ident = next(d['ident'] for d in auth if d['ident'] == username)
29
+ pwd = next(d['pwd'] for d in auth if d['ident'] == username)
30
+ resultLogAdmin = bcrypt.checkpw(username.encode('utf-8'), bcrypt.hashpw(ident.encode('utf-8'), bcrypt.gensalt()))
31
+ resultPwdAdmin = bcrypt.checkpw(password.encode('utf-8'), bcrypt.hashpw(pwd.encode('utf-8'), bcrypt.gensalt()))
32
+ resultRole = next(d['role'] for d in auth if d['ident'] == username)
33
+ if resultLogAdmin and resultPwdAdmin and resultRole == "admindatapcc":
34
+ return cl.User(
35
+ identifier=ident + " : 🧑‍💼 Admin Datapcc", metadata={"role": "admin", "provider": "credentials"}
36
+ )
37
+ elif resultLogAdmin and resultPwdAdmin and resultRole == "userdatapcc":
38
+ return cl.User(
39
+ identifier=ident + " : 🧑‍🎓 User Datapcc", metadata={"role": "user", "provider": "credentials"}
40
+ )
41
+
42
  @cl.step(type="tool")
43
  async def LLMistral():
44
  os.environ['HUGGINGFACEHUB_API_TOKEN'] = os.environ['HUGGINGFACEHUB_API_TOKEN']
 
50
 
51
  @cl.step(type="tool")
52
  async def LLM():
53
+ os.environ['OPENAI_API_KEY'] = os.environ['OPENAI_API_KEY']
54
+ llm = OpenAI(model="gpt-4o-2024-05-13")
55
  return llm
56
+
57
+ @cl.step(type="tool")
58
+ async def File():
59
+ llm = await LLM()
60
+ df = SmartDataframe("./public/ExpeCFA_LP_CAA.csv", config={"llm": llm})
61
+ return df
62
 
63
  @cl.set_chat_profiles
64
  async def chat_profile():
 
79
  @cl.on_message
80
  async def on_message(message: cl.Message):
81
  await cl.Message(f"> SURVEYIA").send()
 
82
 
83
+ df = await File()
84
  msg = cl.Message(content="")
85
  res = df.chat(message.content)
86
  #cb = cl.AsyncLangchainCallbackHandler()