dolly-v0-70m / app.py
debisoft's picture
1st commit.
a34933e
raw history blame
No virus
2.26 kB
import openai
import os
import re
from datetime import datetime
import gradio as gr
import json
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
from training.consts import DEFAULT_INPUT_MODEL, SUGGESTED_INPUT_MODELS
from training.trainer import load_training_dataset, load_tokenizer
from training.generate import generate_response, load_model_tokenizer_for_generate
gpu_family = "a100"
model_dir = "model"
model, tokenizer = load_model_tokenizer_for_generate(model_dir)
def get_completion(prompt, model="dolly-v0-70m"):
messages = [{"role": "user", "content": prompt}]
response = openai.ChatCompletion.create(
model=model,
messages=messages,
temperature=0, # this is the degree of randomness of the model's output
)
# Examples from https://www.databricks.com/blog/2023/03/24/hello-dolly-democratizing-magic-chatgpt-open-models.html
instructions = [
prompt
]
# set some additional pipeline args
pipeline_kwargs = {'torch_dtype': "auto"}
#if gpu_family == "v100":
#pipeline_kwargs['torch_dtype'] = "float16"
#elif gpu_family == "a10" or gpu_family == "a100":
#pipeline_kwargs['torch_dtype'] = "bfloat16"
pipeline_kwargs['max_new_tokens'] = 300
# Use the model to generate responses for each of the instructions above.
for instruction in instructions:
response = generate_response(instruction, model=model, tokenizer=tokenizer, **pipeline_kwargs)
if response:
print(f"Instruction: {instruction}\n\n{response}\n\n-----------\n")
return response
def greet(input):
prompt = f"""
Text: ```{input}```
"""
response = get_completion(prompt)
return response
#iface = gr.Interface(fn=greet, inputs="text", outputs="text")
#iface.launch()
#iface = gr.Interface(fn=greet, inputs=[gr.Textbox(label="Text to find entities", lines=2)], outputs=[gr.HighlightedText(label="Text with entities")], title="NER with dslim/bert-base-NER", description="Find entities using the `dslim/bert-base-NER` model under the hood!", allow_flagging="never", examples=["My name is Andrew and I live in California", "My name is Poli and work at HuggingFace"])
iface = gr.Interface(fn=greet, inputs=[gr.Textbox(label="Prompt")], outputs="text")
iface.launch()