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(
|
llmProvider.change(
|
||||||
gh.update_model_dropdown,
|
gh.update_model_dropdown,
|
||||||
inputs=llmProvider,
|
inputs=llmProvider,
|
||||||
outputs=llmModel
|
outputs=[llmModel, apiKey]
|
||||||
)
|
)
|
||||||
refineTextBtn.click(
|
refineTextBtn.click(
|
||||||
gh.generateByCondition,
|
gh.generateByCondition,
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ DEVICES = ['cpu', 'cuda']
|
|||||||
COMPUTE_TYPE = ['auto', 'int8', 'float16', 'float32']
|
COMPUTE_TYPE = ['auto', 'int8', 'float16', 'float32']
|
||||||
|
|
||||||
# Стандартный API ключ
|
# Стандартный 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']
|
LLM_PROVIDERS = ['io.net', 'Gemini', 'gpt4free']
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from config import LLM_MODELS # Импортируем словарь моделей
|
from config import LLM_MODELS # Импортируем словарь моделей
|
||||||
import gradio as gr
|
import gradio as gr
|
||||||
|
from config import GEMINI_API_KEY, IO_API_KEY
|
||||||
|
|
||||||
class GradioHandlers:
|
class GradioHandlers:
|
||||||
def __init__(self, llm_factory, ConvertMdToPdf, FileHandlers, FasterWhisper, GlueAudio):
|
def __init__(self, llm_factory, ConvertMdToPdf, FileHandlers, FasterWhisper, GlueAudio):
|
||||||
@@ -24,8 +24,8 @@ class GradioHandlers:
|
|||||||
provider = self.llm_factory(llm_provider, api_key)
|
provider = self.llm_factory(llm_provider, api_key)
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
# Если API ключ не предоставлен для нужного провайдера, выводим ошибку
|
# Если API ключ не предоставлен для нужного провайдера, выводим ошибку
|
||||||
self.gr.Warning(str(e))
|
gr.Warning(str(e))
|
||||||
return self.gr.skip(), self.gr.skip()
|
return gr.skip(), gr.skip()
|
||||||
|
|
||||||
def process():
|
def process():
|
||||||
result, md = provider.generate(llm_model, system_prompt, recognized_text, llm_temperature)
|
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
|
default_value = models[0] if models else None
|
||||||
|
|
||||||
# Возвращаем обновленный компонент. Используем 'gr' напрямую.
|
# Возвращаем обновленный компонент. Используем '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):
|
def updateButton(self, isChecked):
|
||||||
|
|||||||
Reference in New Issue
Block a user