fix: fix open router, google and vertex ai provider selection
This commit is contained in:
parent
4a79093503
commit
929cd262a6
3 changed files with 36 additions and 24 deletions
|
|
@ -11,7 +11,12 @@ from api.models_service import models_service
|
|||
from pages.components.model_selector import model_selector
|
||||
from pages.stream_app.utils import setup_page
|
||||
|
||||
setup_page("🤖 Models", only_check_mandatory_models=False, stop_on_model_error=False, skip_model_check=True)
|
||||
setup_page(
|
||||
"🤖 Models",
|
||||
only_check_mandatory_models=False,
|
||||
stop_on_model_error=False,
|
||||
skip_model_check=True,
|
||||
)
|
||||
|
||||
|
||||
st.title("🤖 Models")
|
||||
|
|
@ -32,20 +37,16 @@ def check_available_providers():
|
|||
provider_status["openai"] = os.environ.get("OPENAI_API_KEY") is not None
|
||||
provider_status["groq"] = os.environ.get("GROQ_API_KEY") is not None
|
||||
provider_status["xai"] = os.environ.get("XAI_API_KEY") is not None
|
||||
provider_status["vertexai"] = (
|
||||
provider_status["vertex"] = (
|
||||
os.environ.get("VERTEX_PROJECT") is not None
|
||||
and os.environ.get("VERTEX_LOCATION") is not None
|
||||
and os.environ.get("GOOGLE_APPLICATION_CREDENTIALS") is not None
|
||||
)
|
||||
provider_status["gemini"] = (
|
||||
provider_status["google"] = (
|
||||
os.environ.get("GOOGLE_API_KEY") is not None
|
||||
or os.environ.get("GEMINI_API_KEY") is not None
|
||||
)
|
||||
provider_status["openrouter"] = (
|
||||
os.environ.get("OPENROUTER_API_KEY") is not None
|
||||
and os.environ.get("OPENAI_API_KEY") is not None
|
||||
and os.environ.get("OPENROUTER_BASE_URL") is not None
|
||||
)
|
||||
provider_status["openrouter"] = os.environ.get("OPENROUTER_API_KEY") is not None
|
||||
provider_status["anthropic"] = os.environ.get("ANTHROPIC_API_KEY") is not None
|
||||
provider_status["elevenlabs"] = os.environ.get("ELEVENLABS_API_KEY") is not None
|
||||
provider_status["voyage"] = os.environ.get("VOYAGE_API_KEY") is not None
|
||||
|
|
@ -234,12 +235,19 @@ with st.container(border=True):
|
|||
"language",
|
||||
"Recommended: Gemini models",
|
||||
)
|
||||
|
||||
|
||||
# Show warning if mandatory language models are missing
|
||||
if not default_models.default_chat_model or not default_models.default_transformation_model:
|
||||
st.warning("⚠️ Please select a Chat Model and Transformation Model - these are required for Open Notebook to function properly.")
|
||||
if (
|
||||
not default_models.default_chat_model
|
||||
or not default_models.default_transformation_model
|
||||
):
|
||||
st.warning(
|
||||
"⚠️ Please select a Chat Model and Transformation Model - these are required for Open Notebook to function properly."
|
||||
)
|
||||
elif not default_models.default_tools_model:
|
||||
st.info("💡 Consider selecting a Tools Model for better tool calling capabilities (recommended: OpenAI or Anthropic models).")
|
||||
st.info(
|
||||
"💡 Consider selecting a Tools Model for better tool calling capabilities (recommended: OpenAI or Anthropic models)."
|
||||
)
|
||||
|
||||
# Embedding Models Section
|
||||
st.subheader("🔍 Embedding Models")
|
||||
|
|
@ -271,10 +279,12 @@ with st.container(border=True):
|
|||
"embedding",
|
||||
)
|
||||
st.warning("⚠️ Changing embedding models requires regenerating all embeddings")
|
||||
|
||||
|
||||
# Show warning if no default embedding model is selected
|
||||
if not default_models.default_embedding_model:
|
||||
st.warning("⚠️ Please select a default Embedding Model - this is required for search functionality.")
|
||||
st.warning(
|
||||
"⚠️ Please select a default Embedding Model - this is required for search functionality."
|
||||
)
|
||||
|
||||
with col2:
|
||||
add_model_form("embedding", "main", available_providers)
|
||||
|
|
@ -309,7 +319,7 @@ with st.container(border=True):
|
|||
"text_to_speech",
|
||||
"Can be overridden per podcast",
|
||||
)
|
||||
|
||||
|
||||
# Show info if no default TTS model is selected
|
||||
if not default_models.default_text_to_speech_model:
|
||||
st.info("ℹ️ Select a default TTS model to enable podcast generation.")
|
||||
|
|
@ -346,10 +356,12 @@ with st.container(border=True):
|
|||
"Used for audio transcriptions",
|
||||
"speech_to_text",
|
||||
)
|
||||
|
||||
|
||||
# Show info if no default STT model is selected
|
||||
if not default_models.default_speech_to_text_model:
|
||||
st.info("ℹ️ Select a default STT model to enable audio transcription features.")
|
||||
st.info(
|
||||
"ℹ️ Select a default STT model to enable audio transcription features."
|
||||
)
|
||||
|
||||
with col2:
|
||||
add_model_form("speech_to_text", "main", available_providers)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[project]
|
||||
name = "open-notebook"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
description = "An open source implementation of a research assistant, inspired by Google Notebook LM"
|
||||
authors = [
|
||||
{name = "Luis Novo", email = "lfnovo@gmail.com"}
|
||||
|
|
@ -41,7 +41,7 @@ dependencies = [
|
|||
"nest-asyncio>=1.6.0",
|
||||
"content-core>=1.0.2",
|
||||
"ai-prompter>=0.3",
|
||||
"esperanto>=2.0.4",
|
||||
"esperanto>=2.3.4",
|
||||
"langchain-google-vertexai>=2.0.10",
|
||||
"surrealdb>=1.0.4",
|
||||
"surreal-commands>=1.0.13",
|
||||
|
|
|
|||
10
uv.lock
10
uv.lock
|
|
@ -538,15 +538,15 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "esperanto"
|
||||
version = "2.3.3"
|
||||
version = "2.3.4"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "httpx" },
|
||||
{ name = "pydantic" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/f4/c3/6594c9e25af0c93a633b212392f979742491eca4782f071e82b33d8c1510/esperanto-2.3.3.tar.gz", hash = "sha256:3df64556be480a93c1327e4796d57042d0b519356128de374e0e00fa91f4b307", size = 455487 }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/f0/0d/549928070ab49078b7834a5a8b251a36a807d9791d0a8a43f57df8c8ea8c/esperanto-2.3.4.tar.gz", hash = "sha256:5072c3a6bdbbf0c53d6671f28991e9f205c93c49821058e2b62c3a17710bd235", size = 457606 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/10/2c/5db4447f94f71a97e2d238fe8f1320ca9fb238ae7e34bc608868127ad0c6/esperanto-2.3.3-py3-none-any.whl", hash = "sha256:0fe3827d2f9aa8eb311948c7f609ab7f7d34f7fd7f6ec977e37fa0606fc5ac2b", size = 113492 },
|
||||
{ url = "https://files.pythonhosted.org/packages/26/27/f98201713ec5339388e0a00bef25ccf598ba5048f3980f556d6a243c2b30/esperanto-2.3.4-py3-none-any.whl", hash = "sha256:9759ff22f3bfff6c9cc46acc6c69ded4f038baa6f5cda592b6ec83d5f11c5eff", size = 116946 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1970,7 +1970,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "open-notebook"
|
||||
version = "0.3.1"
|
||||
version = "0.3.2"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "ai-prompter" },
|
||||
|
|
@ -2028,7 +2028,7 @@ dev = [
|
|||
requires-dist = [
|
||||
{ name = "ai-prompter", specifier = ">=0.3" },
|
||||
{ name = "content-core", specifier = ">=1.0.2" },
|
||||
{ name = "esperanto", specifier = ">=2.0.4" },
|
||||
{ name = "esperanto", specifier = ">=2.3.4" },
|
||||
{ name = "fastapi", specifier = ">=0.104.0" },
|
||||
{ name = "groq", specifier = ">=0.12.0" },
|
||||
{ name = "httpx", extras = ["socks"], specifier = ">=0.27.0" },
|
||||
|
|
|
|||
Loading…
Reference in a new issue