| | import gradio as gr |
| | import os |
| | import json |
| | import numpy as np |
| | import requests |
| | from openai import OpenAI |
| |
|
| | def call_gpt3_5(prompt, api_key): |
| | client = OpenAI(api_key=api_key) |
| | try: |
| | response = client.chat.completions.create( |
| | model="gpt-3.5-turbo", |
| | messages=[ |
| | {"role": "system", "content": "You are a helpful assistant capable of constructing and executing a Swarm Neural Network (SNN). Return only the formatted results of the SNN execution."}, |
| | {"role": "user", "content": prompt} |
| | ] |
| | ) |
| | return response.choices[0].message.content |
| | except Exception as e: |
| | return f"Error calling GPT-3.5: {str(e)}" |
| |
|
| | def execute_snn(api_url, openai_api_key, num_agents, calls_per_agent, special_config): |
| | prompt = f""" |
| | Construct and execute a Swarm Neural Network (SNN) with the following parameters: |
| | - API URL: {api_url} |
| | - Number of Agents: {num_agents} |
| | - Calls per Agent: {calls_per_agent} |
| | - Special Configuration: {special_config if special_config else 'None'} |
| | |
| | Simulate the execution of this SNN and provide only the formatted results. The results should include: |
| | 1. A summary of the data retrieved from the API calls |
| | 2. Any patterns or insights derived from the collective behavior of the agents |
| | 3. Performance metrics of the SNN (e.g., execution time, success rate of API calls) |
| | |
| | Present the results in a clear, structured format without any additional explanations or descriptions of the SNN process. |
| | """ |
| | |
| | gpt_response = call_gpt3_5(prompt, openai_api_key) |
| | |
| | if gpt_response: |
| | return f"Results from the swarm neural network:\n\n{gpt_response}" |
| | else: |
| | return "Failed to execute SNN due to GPT-3.5 API call failure." |
| |
|
| | |
| | iface = gr.Interface( |
| | fn=execute_snn, |
| | inputs=[ |
| | gr.Textbox(label="API URL for your task"), |
| | gr.Textbox(label="OpenAI API Key", type="password"), |
| | gr.Number(label="Number of Agents", minimum=1, maximum=100, step=1), |
| | gr.Number(label="Calls per Agent", minimum=1, maximum=100, step=1), |
| | gr.Textbox(label="Special Configuration (optional)") |
| | ], |
| | outputs="text", |
| | title="Swarm Neural Network Simulator", |
| | description="Enter the parameters for your Swarm Neural Network (SNN) simulation.", |
| | examples=[ |
| | ["https://meowfacts.herokuapp.com/", "your-api-key-here", 3, 1, ""], |
| | ["https://api.publicapis.org/entries", "your-api-key-here", 5, 2, "category=Animals"] |
| | ] |
| | ) |
| |
|
| | |
| | iface.launch() |