Merge branch 'two_edges' of personal:langflow-ai/langflow into two_edges
This commit is contained in:
commit
191519e8f8
1 changed files with 24 additions and 5 deletions
|
|
@ -5,11 +5,11 @@ from langflow.base.constants import STREAM_INFO_TEXT
|
||||||
from langflow.base.models.model import LCModelComponent
|
from langflow.base.models.model import LCModelComponent
|
||||||
from langflow.base.models.openai_constants import MODEL_NAMES
|
from langflow.base.models.openai_constants import MODEL_NAMES
|
||||||
from langflow.field_typing import BaseLanguageModel, Text
|
from langflow.field_typing import BaseLanguageModel, Text
|
||||||
from langflow.inputs import BoolInput, DictInput, DropdownInput, FloatInput, SecretStrInput, StrInput
|
from langflow.inputs import BoolInput, DictInput, DropdownInput, FloatInput, IntInput, SecretStrInput, StrInput
|
||||||
from langflow.inputs.inputs import IntInput
|
|
||||||
from langflow.template import Output
|
from langflow.template import Output
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class OpenAIModelComponent(LCModelComponent):
|
class OpenAIModelComponent(LCModelComponent):
|
||||||
display_name = "OpenAI"
|
display_name = "OpenAI"
|
||||||
description = "Generates text using OpenAI LLMs."
|
description = "Generates text using OpenAI LLMs."
|
||||||
|
|
@ -31,7 +31,7 @@ class OpenAIModelComponent(LCModelComponent):
|
||||||
name="openai_api_base",
|
name="openai_api_base",
|
||||||
display_name="OpenAI API Base",
|
display_name="OpenAI API Base",
|
||||||
advanced=True,
|
advanced=True,
|
||||||
info="The base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n\nYou can change this to use other APIs like JinaChat, LocalAI and Prem.",
|
info="The base URL of the OpenAI API. Defaults to https://api.openai.com/v1. You can change this to use other APIs like JinaChat, LocalAI and Prem.",
|
||||||
),
|
),
|
||||||
SecretStrInput(
|
SecretStrInput(
|
||||||
name="openai_api_key",
|
name="openai_api_key",
|
||||||
|
|
@ -48,6 +48,19 @@ class OpenAIModelComponent(LCModelComponent):
|
||||||
info="System message to pass to the model.",
|
info="System message to pass to the model.",
|
||||||
advanced=True,
|
advanced=True,
|
||||||
),
|
),
|
||||||
|
BoolInput(
|
||||||
|
name="json_mode",
|
||||||
|
display_name="JSON Mode",
|
||||||
|
info="Enable JSON mode for the model output.",
|
||||||
|
advanced=True,
|
||||||
|
),
|
||||||
|
IntInput(
|
||||||
|
name="seed",
|
||||||
|
display_name="Seed",
|
||||||
|
info="The seed controls the reproducibility of the job.",
|
||||||
|
advanced=True,
|
||||||
|
value=1,
|
||||||
|
),
|
||||||
]
|
]
|
||||||
outputs = [
|
outputs = [
|
||||||
Output(display_name="Text", name="text_output", method="text_response"),
|
Output(display_name="Text", name="text_output", method="text_response"),
|
||||||
|
|
@ -70,12 +83,15 @@ class OpenAIModelComponent(LCModelComponent):
|
||||||
max_tokens = self.max_tokens
|
max_tokens = self.max_tokens
|
||||||
model_kwargs = self.model_kwargs
|
model_kwargs = self.model_kwargs
|
||||||
openai_api_base = self.openai_api_base or "https://api.openai.com/v1"
|
openai_api_base = self.openai_api_base or "https://api.openai.com/v1"
|
||||||
|
json_mode = self.json_mode
|
||||||
|
seed = self.seed
|
||||||
if openai_api_key:
|
if openai_api_key:
|
||||||
api_key = SecretStr(openai_api_key)
|
api_key = SecretStr(openai_api_key)
|
||||||
else:
|
else:
|
||||||
api_key = None
|
api_key = None
|
||||||
|
response_format = None
|
||||||
|
if json_mode:
|
||||||
|
response_format = {"type": "json_object"}
|
||||||
output = ChatOpenAI(
|
output = ChatOpenAI(
|
||||||
max_tokens=max_tokens or None,
|
max_tokens=max_tokens or None,
|
||||||
model_kwargs=model_kwargs or {},
|
model_kwargs=model_kwargs or {},
|
||||||
|
|
@ -83,5 +99,8 @@ class OpenAIModelComponent(LCModelComponent):
|
||||||
base_url=openai_api_base,
|
base_url=openai_api_base,
|
||||||
api_key=api_key,
|
api_key=api_key,
|
||||||
temperature=temperature or 0.1,
|
temperature=temperature or 0.1,
|
||||||
|
response_format=response_format,
|
||||||
|
seed=seed,
|
||||||
)
|
)
|
||||||
|
|
||||||
return output
|
return output
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue