Spaces:
Runtime error
Runtime error
| from openai import OpenAI | |
| import os | |
| import gradio as gr | |
| import time | |
| # Define the dropdown options | |
| dropdown_options = ["1_BRD_Lending_v0.1.pdf", "2_BRD_Lending_v0.1.pdf", "3_BRD_Payments_v0.1.pdf"] | |
| query = { | |
| dropdown_options[0] : "Generate test cases for the following process: Loan Boarding Process, Loan Repayment Management, Loan Servicing Management, Disbursement Cancellation", | |
| dropdown_options[1] : "Generate test cases for the following process: Process Flows, Quick Data Entry, RBI Defaulters, Credit Approval Process", | |
| dropdown_options[2] : "Generate test cases for the following process: Fund Transfer and Payments, SBM Account Payment, FCY Payment , Credit Card Payment", | |
| } | |
| class Assistant: | |
| def __init__(self, path): | |
| self.client = OpenAI() | |
| print(str(path)) | |
| # Upload a file with an "assistants" purpose | |
| self.file = self.client.files.create( | |
| file=open(str(path), "rb"), | |
| purpose='assistants' | |
| ) | |
| # Add the file to the assistant | |
| self.assistant = self.client.beta.assistants.create( | |
| instructions="You are an helpful assistant to generating test scenarios and test cases for test design process automation.", | |
| model="gpt-4-1106-preview", | |
| tools=[{"type": "retrieval"}], | |
| file_ids=[self.file.id] | |
| ) | |
| self.thread = self.client.beta.threads.create() | |
| self.query = query.get(path) | |
| def infer(self): | |
| message = self.client.beta.threads.messages.create( | |
| thread_id=self.thread.id, | |
| role="user", | |
| content=self.query, | |
| ) | |
| # print(message) | |
| run = self.client.beta.threads.runs.create( | |
| thread_id = self.thread.id, | |
| assistant_id= self.assistant.id | |
| ) | |
| while True: | |
| retreive = self.client.beta.threads.runs.retrieve( | |
| thread_id = self.thread.id, | |
| run_id= run.id | |
| ) | |
| print(retreive.status) | |
| if retreive.status=="completed": | |
| break | |
| else: | |
| time.sleep(1) | |
| continue | |
| # time.sleep(1) | |
| # run = self.client.beta.threads.runs.retrieve( | |
| # thread_id = thread.id, | |
| # run_id= run.id | |
| # ) | |
| messages = self.client.beta.threads.messages.list( | |
| thread_id =self.thread.id | |
| ) | |
| print(messages) | |
| for message in messages.data: | |
| print(message.content[0].text.value) | |
| return message.content[0].text.value | |
| if __name__ == "__main__": | |
| # Define a function that takes the selected option as an argument | |
| def create_assistant(path): | |
| obj = Assistant(path) | |
| return obj.infer() | |
| demo_2 = gr.Interface( | |
| create_assistant, | |
| [gr.Dropdown(dropdown_options, label="path", info="Select BRDS doc"),], | |
| "text", | |
| ) | |
| # # Create the Gradio interface with a dropdown | |
| # iface = gr.Interface( | |
| # fn=create_assistant(inputs), | |
| # inputs=gr.Dropdown(choices=dropdown_options, label="Select an option"), | |
| # outputs="text" | |
| # ) | |
| # gr.Dropdown( | |
| # dropdown_options, label="Animal", info="Will add more animals later!" | |
| # ), | |
| # Launch the interface | |
| print("Running main") | |
| # demo = gr.Interface(fn=obj.infer, inputs="text", outputs="text") | |
| demo_2.launch(show_api=False, share=True) |