Update OpenAI models and options

This commit is contained in:
Gabriel Luiz Freitas Almeida 2024-02-05 18:17:23 -03:00
commit 1b867586c2
6 changed files with 31 additions and 28 deletions

View file

@ -3,13 +3,12 @@ from typing import List, Optional
from langchain.agents.agent import AgentExecutor from langchain.agents.agent import AgentExecutor
from langchain.agents.agent_toolkits.conversational_retrieval.openai_functions import _get_default_system_message from langchain.agents.agent_toolkits.conversational_retrieval.openai_functions import _get_default_system_message
from langchain.agents.openai_functions_agent.base import OpenAIFunctionsAgent from langchain.agents.openai_functions_agent.base import OpenAIFunctionsAgent
from langchain_community.chat_models import ChatOpenAI
from langchain.memory.token_buffer import ConversationTokenBufferMemory from langchain.memory.token_buffer import ConversationTokenBufferMemory
from langchain.prompts import SystemMessagePromptTemplate from langchain.prompts import SystemMessagePromptTemplate
from langchain.prompts.chat import MessagesPlaceholder from langchain.prompts.chat import MessagesPlaceholder
from langchain.schema.memory import BaseMemory from langchain.schema.memory import BaseMemory
from langchain.tools import Tool from langchain.tools import Tool
from langchain_community.chat_models import ChatOpenAI
from langflow import CustomComponent from langflow import CustomComponent
from langflow.field_typing.range_spec import RangeSpec from langflow.field_typing.range_spec import RangeSpec
@ -20,11 +19,12 @@ class ConversationalAgent(CustomComponent):
def build_config(self): def build_config(self):
openai_function_models = [ openai_function_models = [
"gpt-4-turbo-preview",
"gpt-4-0125-preview",
"gpt-4-1106-preview", "gpt-4-1106-preview",
"gpt-3.5-turbo", "gpt-4-vision-preview",
"gpt-3.5-turbo-16k", "gpt-3.5-turbo-0125",
"gpt-4", "gpt-3.5-turbo-1106",
"gpt-4-32k",
] ]
return { return {
"tools": {"display_name": "Tools"}, "tools": {"display_name": "Tools"},

View file

@ -42,7 +42,11 @@ class OpenAIEmbeddingsComponent(CustomComponent):
"advanced": True, "advanced": True,
}, },
"max_retries": {"display_name": "Max Retries", "advanced": True}, "max_retries": {"display_name": "Max Retries", "advanced": True},
"model": {"display_name": "Model", "advanced": True}, "model": {
"display_name": "Model",
"advanced": False,
"options": ["text-embedding-3-small", "text-embedding-3-large", "text-embedding-ada-002"],
},
"model_kwargs": {"display_name": "Model Kwargs", "advanced": True}, "model_kwargs": {"display_name": "Model Kwargs", "advanced": True},
"openai_api_base": {"display_name": "OpenAI API Base", "password": True, "advanced": True}, "openai_api_base": {"display_name": "OpenAI API Base", "password": True, "advanced": True},
"openai_api_key": {"display_name": "OpenAI API Key", "password": True}, "openai_api_key": {"display_name": "OpenAI API Key", "password": True},
@ -74,10 +78,10 @@ class OpenAIEmbeddingsComponent(CustomComponent):
disallowed_special: List[str] = ["all"], disallowed_special: List[str] = ["all"],
chunk_size: int = 1000, chunk_size: int = 1000,
client: Optional[Any] = None, client: Optional[Any] = None,
deployment: str = "text-embedding-ada-002", deployment: str = "text-embedding-3-small",
embedding_ctx_length: int = 8191, embedding_ctx_length: int = 8191,
max_retries: int = 6, max_retries: int = 6,
model: str = "text-embedding-ada-002", model: str = "text-embedding-3-small",
model_kwargs: NestedDict = {}, model_kwargs: NestedDict = {},
openai_api_base: Optional[str] = None, openai_api_base: Optional[str] = None,
openai_api_key: Optional[str] = "", openai_api_key: Optional[str] = "",

View file

@ -2,6 +2,7 @@ from typing import Optional, Union
from langchain.llms import BaseLLM from langchain.llms import BaseLLM
from langchain_community.chat_models.openai import ChatOpenAI from langchain_community.chat_models.openai import ChatOpenAI
from langflow import CustomComponent from langflow import CustomComponent
from langflow.field_typing import BaseLanguageModel, NestedDict from langflow.field_typing import BaseLanguageModel, NestedDict
@ -30,11 +31,12 @@ class ChatOpenAIComponent(CustomComponent):
"advanced": False, "advanced": False,
"required": False, "required": False,
"options": [ "options": [
"gpt-4-turbo-preview",
"gpt-4-0125-preview",
"gpt-4-1106-preview", "gpt-4-1106-preview",
"gpt-4", "gpt-4-vision-preview",
"gpt-4-32k", "gpt-3.5-turbo-0125",
"gpt-3.5-turbo", "gpt-3.5-turbo-1106",
"gpt-3.5-turbo-16k",
], ],
}, },
"openai_api_base": { "openai_api_base": {

View file

@ -8,12 +8,12 @@ OPENAI_MODELS = [
"text-ada-001", "text-ada-001",
] ]
CHAT_OPENAI_MODELS = [ CHAT_OPENAI_MODELS = [
"gpt-4-turbo-preview",
"gpt-4-0125-preview",
"gpt-4-1106-preview", "gpt-4-1106-preview",
"gpt-4-vision-preview", "gpt-4-vision-preview",
"gpt-4", "gpt-3.5-turbo-0125",
"gpt-4-32k", "gpt-3.5-turbo-1106",
"gpt-3.5-turbo",
"gpt-3.5-turbo-16k",
] ]

View file

@ -72,14 +72,12 @@ PROMPT_REQUEST = {
"text-ada-001", "text-ada-001",
], ],
"ChatOpenAI": [ "ChatOpenAI": [
"gpt-3.5-turbo-0613", "gpt-4-turbo-preview",
"gpt-3.5-turbo", "gpt-4-0125-preview",
"gpt-3.5-turbo-16k-0613", "gpt-4-1106-preview",
"gpt-3.5-turbo-16k", "gpt-4-vision-preview",
"gpt-4-0613", "gpt-3.5-turbo-0125",
"gpt-4-32k-0613", "gpt-3.5-turbo-1106",
"gpt-4",
"gpt-4-32k",
], ],
"Anthropic": [ "Anthropic": [
"claude-v1", "claude-v1",

View file

@ -2,8 +2,6 @@ import importlib
from typing import Dict, List, Optional from typing import Dict, List, Optional
import pytest import pytest
from pydantic import BaseModel
from langflow.utils.constants import CHAT_OPENAI_MODELS, OPENAI_MODELS from langflow.utils.constants import CHAT_OPENAI_MODELS, OPENAI_MODELS
from langflow.utils.util import ( from langflow.utils.util import (
build_template_from_class, build_template_from_class,
@ -12,6 +10,7 @@ from langflow.utils.util import (
get_base_classes, get_base_classes,
get_default_factory, get_default_factory,
) )
from pydantic import BaseModel
# Dummy classes for testing purposes # Dummy classes for testing purposes
@ -236,7 +235,7 @@ def test_format_dict():
"password": False, "password": False,
"multiline": False, "multiline": False,
"options": CHAT_OPENAI_MODELS, "options": CHAT_OPENAI_MODELS,
"value": "gpt-4-1106-preview", "value": "gpt-4-turbo-preview",
}, },
} }
assert format_dict(input_dict, "OpenAI") == expected_output_openai assert format_dict(input_dict, "OpenAI") == expected_output_openai