lindsay-qu's picture
Update models/gpt4_model.py
203c680
raw
history blame
2.12 kB
from .base_model import BaseModel
import openai
from tqdm import tqdm
class GPT4Model(BaseModel):
def __init__(self,
generation_model="gpt-4-vision-preview",
embedding_model="text-embedding-ada-002",
temperature=0,
) -> None:
self.generation_model = generation_model
self.embedding_model = embedding_model
self.temperature = temperature
def respond(self, messages: list) -> str:
try:
response = openai.ChatCompletion.create(
messages=messages,
model=self.generation_model,
temperature=self.temperature,
max_tokens=1000,
).choices[0]['message']['content']
except:
try:
response = openai.ChatCompletion.create(
messages=messages,
model=self.generation_model,
temperature=self.temperature,
max_tokens=1000,
).choices[0]['message']['content']
except:
try:
response = openai.ChatCompletion.create(
messages=messages,
model=self.generation_model,
temperature=self.temperature,
max_tokens=1000,
).choices[0]['message']['content']
except:
response = "No answer was provided."
# content = response.choices[0]['message']['content']
return response
def embedding(self, texts: list) -> list:
data = []
# print(f"{self.embedding_model} Embedding:")
for i in range(0, len(texts), 2048):
lower = i
upper = min(i+2048, len(texts))
data += openai.Embedding.create(input=texts[lower:upper],
model=self.embedding_model
)["data"]
embeddings = [d["embedding"] for d in data]
return embeddings