Spaces:
Running
Running
import openai | |
import os | |
import gradio as gr | |
from llama_index.core.base.llms.types import ChatResponse | |
def on_submit_openai_key(openai_key): | |
os.environ["OPENAI_API_KEY"] = openai_key | |
# Test openai key | |
try: | |
client = openai.OpenAI() | |
response = client.chat.completions.create( | |
messages=[ | |
{"role": "user", "content": "What is the capital of France?"}, | |
], | |
model="gpt-4o-mini", | |
max_tokens=3, | |
) | |
assert isinstance(response.choices[0].message.content, str) | |
gr.Info("OpenAI API key submitted.", duration=3) | |
return "Setting complete." | |
except openai.AuthenticationError as e: | |
gr.Error("OpenAI API key is invalid.", duration=3) | |
return "Not Set" | |
except AssertionError as e: | |
gr.Error("OpenAI server is not working properly.", duration=3) | |
return "Not Set" | |
def on_submit_llama_cloud_key(llama_cloud_key): | |
from llama_parse import LlamaParse | |
os.environ["LLAMA_CLOUD_API_KEY"] = llama_cloud_key | |
# Test llama cloud key | |
try: | |
parser = LlamaParse( | |
result_type="markdown" # "markdown" and "text" are available | |
) | |
return "Setting complete." | |
except: | |
gr.Error("LLAMA Cloud API key is invalid.", duration=3) | |
return "Not Set" | |
def on_submit_upstage_key(upstage_key): | |
os.environ["UPSTAGE_API_KEY"] = upstage_key | |
# Test upstage key | |
try: | |
from llama_index.llms.upstage import Upstage | |
from llama_index.core.llms import ChatMessage | |
llm = Upstage() | |
response: ChatResponse = llm.chat(messages=[ | |
ChatMessage(role="system", content="You are a helpful assistant."), | |
ChatMessage(role="user", content="Hi, how are you?") | |
], max_tokens=3) | |
assert isinstance(response.message.content, str) | |
assert bool(response.message.content) | |
return "Setting complete." | |
except: | |
gr.Error("Upstage API key is invalid.", duration=3) | |
return "Not Set" | |