productizationlabs commited on
Commit
02f8c32
1 Parent(s): 77f66a7

Upload 3 files

Browse files
Files changed (3) hide show
  1. PLIndex.json +0 -0
  2. app.py +33 -0
  3. requirements.txt +4 -0
PLIndex.json ADDED
The diff for this file is too large to render. See raw diff
 
app.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from gpt_index import GPTSimpleVectorIndex
3
+ import gradio as gr
4
+ API_URL='https://api.openai.com/v1/chat/completions'
5
+ openai_api_key=os.environ['OPENAI_API_KEY']
6
+ if openai_api_key is None:raise ValueError('Did not find openai_api_key, please add an environment variable `OPENAI_API_KEY` which contains it, or pass `openai_api_key` as a named parameter.')
7
+ top_p_chatgpt=1.
8
+ temperature_chatgpt=1.
9
+ def predict_chatgpt(inputs,chat_counter_chatgpt,chatbot_chatgpt=[],history=[]):
10
+ M='user';J='content';I='role';D=chat_counter_chatgpt;C=inputs;A=history
11
+ if D!=0:
12
+ E=[]
13
+ for K in chatbot_chatgpt:F={};F[I]=M;F[J]=K[0];G={};G[I]='assistant';G[J]=K[1];E.append(F);E.append(G)
14
+ H={};H[I]=M;H[J]=C;E.append(H)
15
+ D+=1;A.append('You asked: '+C);N=GPTSimpleVectorIndex.load_from_disk('PLIndex.json');O=N.query(C);P=O.response.split();L=0;B=''
16
+ for Q in P:
17
+ B=B+' '+Q
18
+ if L==0:A.append(' '+B)
19
+ else:A[-1]=B
20
+ R=[(A[B],A[B+1])for B in range(0,len(A)-1,2)];L+=1;yield(R,A,D)
21
+ def reset_textbox():return gr.update(value='')
22
+ def reset_chat(chatbot,state):return None,[]
23
+ with gr.Blocks(css='#col_container {width: 1000px; margin-left: auto; margin-right: auto;}\n #chatgpt {height: 500px; overflow: auto;}} ',theme=gr.themes.Default(primary_hue='slate'))as PLCoversationalAI:
24
+ with gr.Row():
25
+ with gr.Column(scale=14):
26
+ with gr.Box():
27
+ with gr.Row():
28
+ with gr.Column(scale=13):inputs=gr.Textbox(label='Ask anything about Productization Labs ⤵️ Try : Who is Gopala')
29
+ with gr.Column(scale=1):b1=gr.Button('Submit',elem_id='submit').style(full_width=True);b2=gr.Button('Clear',elem_id='clear').style(full_width=True)
30
+ state_chatgpt=gr.State([])
31
+ with gr.Box():
32
+ with gr.Row():chatbot_chatgpt=gr.Chatbot(elem_id='chatgpt',label='Productization Labs Conversational AI')
33
+ chat_counter_chatgpt=gr.Number(value=0,visible=False,precision=0);inputs.submit(reset_textbox,[],[inputs]);b1.click(predict_chatgpt,[inputs,chat_counter_chatgpt,chatbot_chatgpt,state_chatgpt],[chatbot_chatgpt,state_chatgpt]);b2.click(reset_chat,[chatbot_chatgpt,state_chatgpt],[chatbot_chatgpt,state_chatgpt]);PLCoversationalAI.queue(concurrency_count=16).launch(height=2500,debug=True)
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ openai
2
+ gpt_index
3
+ langchain
4
+ transformers