| import openai |
| import gradio as gr |
| import os |
|
|
| |
| openai.api_key = os.getenv("OPENAPI_KEY") |
|
|
| def predict(message, history): |
| history_openai_format = [{"role": "system", "content":os.getenv("PROMPT")}] |
| for human, system in history: |
| history_openai_format.append({"role": "assistant", "content":os.getenv("PROMPT")}) |
| history_openai_format.append({"role": "user", "content": human }) |
| history_openai_format.append({"role": "user", "content": message}) |
|
|
| response = openai.ChatCompletion.create( |
| model='gpt-3.5-turbo-1106', |
| messages= history_openai_format, |
| temperature=0.5, |
| frequency_penalty=1.4, |
| stream=True |
| ) |
|
|
| partial_message = "" |
| for chunk in response: |
| if len(chunk['choices'][0]['delta']) != 0: |
| partial_message = partial_message + chunk['choices'][0]['delta']['content'] |
| yield partial_message |
|
|
|
|
| gr.ChatInterface(predict, submit_btn="Chat with Blanche").queue().launch(share=True) |