refac: remove not tested components

This commit is contained in:
Ibis Prevedello 2023-03-06 21:53:23 -03:00
commit 5a55c65642
6 changed files with 35 additions and 15 deletions

View file

@ -6,7 +6,7 @@ WORKDIR /app
RUN apt-get update && apt-get install git -y RUN apt-get update && apt-get install git -y
COPY --from=backend_build /app/dist/*.whl /app/ COPY --from=backend_build /app/dist/*.whl /app/
RUN pip install langflow-0.0.17-py3-none-any.whl RUN pip install langflow-0.0.19-py3-none-any.whl
RUN rm *.whl RUN rm *.whl
EXPOSE 80 EXPOSE 80

View file

@ -0,0 +1,9 @@
CHAINS = ["LLMChain", "LLMMathChain", "LLMRequestsChain", "LLMBashChain"]
AGENTS = ["ZeroShotAgent"]
PROMPTS = ["PromptTemplate", "FewShotPromptTemplate"]
LLMS = ["OpenAI"]
TOOLS = ["Search", "requests_get", "PAL-MATH", "Calculator"]

View file

@ -5,4 +5,4 @@ docker build -t logspace/backend_build -f build.Dockerfile .
VERSION=$(toml get --toml-path pyproject.toml tool.poetry.version) VERSION=$(toml get --toml-path pyproject.toml tool.poetry.version)
docker build --build-arg VERSION=$VERSION -t ibiscp/langflow_backend:$VERSION . docker build --build-arg VERSION=$VERSION -t ibiscp/langflow_backend:$VERSION .
docker push ibiscp/langflow_backend:$VERSION docker push ibiscp/langflow_backend:$VERSION
# poetry add --editable ../../../langchain poetry add --editable ../../../langchain

View file

@ -30,10 +30,6 @@ def get_type_list():
@router.get("/all") @router.get("/all")
def get_all(): def get_all():
# library_prompts = {
# prompt: signature.get_prompt(prompt) for prompt in list_endpoints.list_prompts()
# }
# custom_prompts = customs.get_custom_prompts()
return { return {
"chains": { "chains": {
chain: signature.get_chain(chain) for chain in list_endpoints.list_chains() chain: signature.get_chain(chain) for chain in list_endpoints.list_chains()
@ -41,7 +37,6 @@ def get_all():
"agents": { "agents": {
agent: signature.get_agent(agent) for agent in list_endpoints.list_agents() agent: signature.get_agent(agent) for agent in list_endpoints.list_agents()
}, },
# "prompts": {**library_prompts, **custom_prompts},
"prompts": { "prompts": {
prompt: signature.get_prompt(prompt) prompt: signature.get_prompt(prompt)
for prompt in list_endpoints.list_prompts() for prompt in list_endpoints.list_prompts()
@ -128,7 +123,12 @@ def get_load(data: dict[str, Any]):
result = "Error: Type should be either agent, chain or llm" result = "Error: Type should be either agent, chain or llm"
thought = "" thought = ""
return {"result": result, "thought": re.sub(r'\x1b\[([0-9,A-Z]{1,2}(;[0-9,A-Z]{1,2})?)?[m|K]', '', thought).strip()} return {
"result": result,
"thought": re.sub(
r"\x1b\[([0-9,A-Z]{1,2}(;[0-9,A-Z]{1,2})?)?[m|K]", "", thought
).strip(),
}
def build_prompt_template(prompt, tools): def build_prompt_template(prompt, tools):
@ -147,7 +147,6 @@ def build_prompt_template(prompt, tools):
value = "\n\n".join([prefix, tool_strings, format_instructions, suffix]) value = "\n\n".join([prefix, tool_strings, format_instructions, suffix])
prompt["type"] = "PromptTemplate" prompt["type"] = "PromptTemplate"
# prompt["value"] = value
prompt["node"] = { prompt["node"] = {
"template": { "template": {

View file

@ -8,6 +8,7 @@ from langchain.chains.conversation import memory as memories
from langchain.agents.load_tools import get_all_tool_names from langchain.agents.load_tools import get_all_tool_names
from langflow.backend import util from langflow.backend import util
from langflow.backend import customs from langflow.backend import customs
from langflow.backend import allowed_components
# build router # build router
@ -26,7 +27,7 @@ def read_items():
"prompts", "prompts",
"llms", "llms",
# "utilities", # "utilities",
"memories", # "memories",
# "document_loaders", # "document_loaders",
# "vectorstores", # "vectorstores",
# "docstores", # "docstores",
@ -40,6 +41,7 @@ def list_chains():
return [ return [
chain.__annotations__["return"].__name__ chain.__annotations__["return"].__name__
for chain in chains.loading.type_to_loader_dict.values() for chain in chains.loading.type_to_loader_dict.values()
if chain.__annotations__["return"].__name__ in allowed_components.CHAINS
] ]
@ -47,7 +49,11 @@ def list_chains():
def list_agents(): def list_agents():
"""List all agent types""" """List all agent types"""
# return list(agents.loading.AGENT_TO_CLASS.keys()) # return list(agents.loading.AGENT_TO_CLASS.keys())
return [agent.__name__ for agent in agents.loading.AGENT_TO_CLASS.values()] return [
agent.__name__
for agent in agents.loading.AGENT_TO_CLASS.values()
if agent.__name__ in allowed_components.AGENTS
]
@router.get("/prompts") @router.get("/prompts")
@ -57,6 +63,7 @@ def list_prompts():
library_prompts = [ library_prompts = [
prompt.__annotations__["return"].__name__ prompt.__annotations__["return"].__name__
for prompt in prompts.loading.type_to_loader_dict.values() for prompt in prompts.loading.type_to_loader_dict.values()
if prompt.__annotations__["return"].__name__ in allowed_components.PROMPTS
] ]
return library_prompts + list(custom_prompts.keys()) return library_prompts + list(custom_prompts.keys())
@ -64,7 +71,11 @@ def list_prompts():
@router.get("/llms") @router.get("/llms")
def list_llms(): def list_llms():
"""List all llm types""" """List all llm types"""
return [llm.__name__ for llm in llms.type_to_cls_dict.values()] return [
llm.__name__
for llm in llms.type_to_cls_dict.values()
if llm.__name__ in allowed_components.LLMS
]
@router.get("/memories") @router.get("/memories")
@ -104,7 +115,8 @@ def list_tools():
tools = [] tools = []
for tool in get_all_tool_names(): for tool in get_all_tool_names():
if tool_params := util.get_tool_params(util.get_tools_dict(tool)): tool_params = util.get_tool_params(util.get_tools_dict(tool))
if tool_params and tool_params["name"] in allowed_components.TOOLS:
tools.append(tool_params["name"]) tools.append(tool_params["name"])
return tools return tools

View file

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "langflow" name = "langflow"
version = "0.0.17" version = "0.0.19"
description = "Backend for Langflow" description = "Backend for Langflow"
authors = ["Ibis Prevedello <ibiscp@gmail.com>"] authors = ["Ibis Prevedello <ibiscp@gmail.com>"]
# packages = [ # packages = [