Add Gemini (#151)

This commit is contained in:
William FH
2023-12-18 20:27:59 -08:00
committed by GitHub
parent 0c1fe17417
commit 27efb7b53c
2 changed files with 20 additions and 1 deletions
@@ -252,6 +252,18 @@ _ANTHROPIC_MODELS = [
},
),
]
_GOOGLE_GENAI_MODELS = [
RegisteredModel(
provider="google-genai",
name="gemini-pro",
description="Gemini Pro is a large model from Google trained on a diverse set of tasks.",
type="chat",
params={
"model": "gemini-pro",
"convert_system_message_to_human": True,
},
)
]
_ANYSCALE_MODELS = [
RegisteredModel(
@@ -270,4 +282,5 @@ model_registry = ModelRegistry(
+ _FIREWORKS_MODELS
+ _ANYSCALE_MODELS
+ _ANTHROPIC_MODELS
+ _GOOGLE_GENAI_MODELS
)
+7 -1
View File
@@ -253,7 +253,7 @@ class Registry:
Provider = Literal["fireworks", "openai", "anthropic", "anyscale"]
ModelType = Literal["chat", "llm"]
AUTHORIZED_NAMESPACES = {"langchain"}
AUTHORIZED_NAMESPACES = {"langchain", "langchain_google_genai"}
def _get_model_class_from_path(
@@ -289,6 +289,10 @@ def _get_default_path(provider: str, type_: ModelType) -> str:
("openai", "chat"): "langchain.chat_models.openai.ChatOpenAI",
("openai", "llm"): "langchain.llms.openai.OpenAI",
("anthropic", "chat"): "langchain.chat_models.anthropic.ChatAnthropic",
(
"google-genai",
"chat",
): "langchain_google_genai.chat_models.ChatGoogleGenerativeAI",
}
if (provider, type_) not in paths:
@@ -307,6 +311,8 @@ def _get_default_url(provider: str, type_: ModelType) -> Optional[str]:
return "https://docs.anthropic.com/claude/reference/selecting-a-model"
elif provider == "anyscale":
return "https://docs.endpoints.anyscale.com/category/supported-models"
elif provider == "google-genai":
return "https://ai.google.dev/"
else:
return None