ritik99's picture
Upload 14 files
c7b88cf
import openai
import re
import os
from dotenv import load_dotenv
from transformers import pipeline
# Load environment variables from .env file
load_dotenv()
# Get OpenAI API key from environment variables
openai.api_key = os.getenv("OPENAI_API_KEY")
def generate(prompt, use_openai=True):
"""
Generates a text completion for a given prompt using either the OpenAI GPT-3 API or the Hugging Face GPT-3 model.
Args:
- prompt (str): The text prompt to generate a completion for.
- use_openai (bool): A boolean flag indicating whether to use the OpenAI API (True) or the Hugging Face GPT-3 model (False).
Returns:
- str: The generated text completion.
"""
if use_openai:
model_engine = "text-davinci-002"
response = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
message = response.choices[0].text
return message.strip()
else:
hf_generator = pipeline('text-generation', model='EleutherAI/gpt-neo-1.3B', device=0)
output = hf_generator(prompt, max_length=len(prompt)+128, do_sample=True)
out = output[0]['generated_text']
if '### Response:' in out:
out = out.split('### Response:')[1]
if '### Instruction:' in out:
out = out.split('### Instruction:')[0]
return out.strip()
def get_rating(x):
"""
Extracts a rating from a string.
Args:
- x (str): The string to extract the rating from.
Returns:
- int: The rating extracted from the string, or None if no rating is found.
"""
nums = [int(i) for i in re.findall(r'\d+', x)]
if len(nums)>0:
return min(nums)
else:
return None
# Summarize simulation loop with OpenAI GPT-4
def summarize_simulation(log_output):
prompt = f"Summarize the simulation loop:\n\n{log_output}"
response = generate(prompt)
return response