added API compliance to the provider
This commit is contained in:
2
app.py
2
app.py
@@ -129,7 +129,7 @@ def main():
|
||||
llmProvider.change(
|
||||
gh.update_model_dropdown,
|
||||
inputs=llmProvider,
|
||||
outputs=llmModel
|
||||
outputs=[llmModel, apiKey]
|
||||
)
|
||||
refineTextBtn.click(
|
||||
gh.generateByCondition,
|
||||
|
||||
@@ -8,7 +8,10 @@ DEVICES = ['cpu', 'cuda']
|
||||
COMPUTE_TYPE = ['auto', 'int8', 'float16', 'float32']
|
||||
|
||||
# Стандартный API ключ
|
||||
DEFAULT_API_KEY=os.getenv('API_KEY')
|
||||
IO_API_KEY=os.getenv('IO_API_KEY')
|
||||
GEMINI_API_KEY=os.getenv('GEMINI_API_KEY')
|
||||
DEFAULT_API_KEY=IO_API_KEY
|
||||
|
||||
|
||||
# Словарь провайдеров и их моделей
|
||||
LLM_PROVIDERS = ['io.net', 'Gemini', 'gpt4free']
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from config import LLM_MODELS # Импортируем словарь моделей
|
||||
import gradio as gr
|
||||
|
||||
from config import GEMINI_API_KEY, IO_API_KEY
|
||||
|
||||
class GradioHandlers:
|
||||
def __init__(self, llm_factory, ConvertMdToPdf, FileHandlers, FasterWhisper, GlueAudio):
|
||||
@@ -24,8 +24,8 @@ class GradioHandlers:
|
||||
provider = self.llm_factory(llm_provider, api_key)
|
||||
except ValueError as e:
|
||||
# Если API ключ не предоставлен для нужного провайдера, выводим ошибку
|
||||
self.gr.Warning(str(e))
|
||||
return self.gr.skip(), self.gr.skip()
|
||||
gr.Warning(str(e))
|
||||
return gr.skip(), gr.skip()
|
||||
|
||||
def process():
|
||||
result, md = provider.generate(llm_model, system_prompt, recognized_text, llm_temperature)
|
||||
@@ -53,7 +53,9 @@ class GradioHandlers:
|
||||
default_value = models[0] if models else None
|
||||
|
||||
# Возвращаем обновленный компонент. Используем 'gr' напрямую.
|
||||
return gr.update(choices=models, value=default_value)
|
||||
if provider == 'io.net': return gr.update(choices=models, value=default_value), gr.update(label='API key (required for io.net, Gemini)', value=IO_API_KEY, interactive=True)
|
||||
if provider == 'Gemini': return gr.update(choices=models, value=default_value), gr.update(label='API key (required for Oio.net, Gemini)', value=GEMINI_API_KEY, interactive=True)
|
||||
if provider == 'gpt4free': return gr.update(choices=models, value=default_value), gr.update(label='API key (required for Oio.net, Gemini)', value="", interactive=True)
|
||||
|
||||
# Функция для динамического обновления кнопки
|
||||
def updateButton(self, isChecked):
|
||||
|
||||
Reference in New Issue
Block a user