Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions framework/fel/python/plugins/fel_langchain_tools/langchain_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,10 @@
# ======================================================================================================================
import json
from urllib.parse import quote_plus
import psycopg2
from langchain.agents import AgentExecutor

from langchain_community.utilities.sql_database import SQLDatabase
from langchain_community.agent_toolkits import create_sql_agent
from langchain_community.tools.sql_database.tool import (
InfoSQLDatabaseTool,
ListSQLDatabaseTool,
QuerySQLCheckerTool,
QuerySQLDataBaseTool,
)
from langchain_core.tools import BaseTool
from langchain_openai import ChatOpenAI, OpenAI
from langchain_community.utilities.requests import TextRequestsWrapper
from langchain.agents import AgentExecutor
from langchain_community.agent_toolkits import JsonToolkit, create_json_agent
from langchain_community.agent_toolkits import create_sql_agent
from langchain_community.tools.json.tool import JsonSpec
from langchain_community.tools.requests.tool import (
RequestsDeleteTool,
Expand All @@ -28,6 +17,17 @@
RequestsPostTool,
RequestsPutTool,
)
from langchain_community.tools.sql_database.tool import (
InfoSQLDatabaseTool,
ListSQLDatabaseTool,
QuerySQLCheckerTool,
QuerySQLDataBaseTool,
)
from langchain_community.utilities.requests import TextRequestsWrapper
from langchain_community.utilities.sql_database import SQLDatabase
from langchain_core.tools import BaseTool
from langchain_openai import ChatOpenAI

from .langchain_registers import register_function_tools, register_api_tools


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,27 @@
# This file is a part of the ModelEngine Project.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ======================================================================================================================
import functools
import os
import traceback
from enum import Enum, unique
from inspect import signature
from typing import List, Callable, Any, Tuple

from fitframework import fit_logger
from fitframework.core.repo.fitable_register import register_fitable
from llama_index.core import PromptTemplate
from llama_index.core.base.base_selector import SingleSelection
from llama_index.core.postprocessor import SimilarityPostprocessor, SentenceEmbeddingOptimizer, LLMRerank, \
LongContextReorder, FixedRecencyPostprocessor
from llama_index.core.postprocessor.types import BaseNodePostprocessor
from llama_index.core.prompts import PromptType
from llama_index.core.prompts import PromptType, PromptTemplate
from llama_index.core.prompts.default_prompts import DEFAULT_CHOICE_SELECT_PROMPT_TMPL
from llama_index.core.selectors import LLMSingleSelector, LLMMultiSelector
from llama_index.core.selectors.prompts import DEFAULT_SINGLE_SELECT_PROMPT_TMPL, DEFAULT_MULTI_SELECT_PROMPT_TMPL
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.legacy.llms import OpenAILike
from llama_index.llms.openai import OpenAI

from .callable_registers import register_callable_tool
from .types.document import Document
from .node_utils import document_to_query_node, query_node_to_document
from .types.document import Document

os.environ["no_proxy"] = "*"

Expand Down Expand Up @@ -80,7 +77,7 @@ def llm_rerank(nodes: List[Document], query_str: str, **kwargs) -> List[Document
choice_batch_size = int(kwargs.get("choice_batch_size") or 10)
top_n = int(kwargs.get("top_n") or 10)

llm = OpenAILike(model=model_name, api_base=api_base, api_key=api_key, max_tokens=4096)
llm = OpenAI(model=model_name, api_base=api_base, api_key=api_key, max_tokens=4096)
choice_select_prompt = PromptTemplate(prompt, prompt_type=PromptType.CHOICE_SELECT)
llm_rerank_obj = LLMRerank(llm=llm, choice_select_prompt=choice_select_prompt, choice_batch_size=choice_batch_size,
top_n=top_n)
Expand Down Expand Up @@ -110,7 +107,7 @@ def llm_choice_selector(choice: List[str], query_str: str, **kwargs) -> List[Sin
if mode.lower() not in [m.value for m in SelectorMode]:
raise ValueError(f"Invalid mode {mode}.")

llm = OpenAILike(model=model_name, api_base=api_base, api_key=api_key, max_tokens=4096)
llm = OpenAI(model=model_name, api_base=api_base, api_key=api_key, max_tokens=4096)
if mode.lower() == SelectorMode.SINGLE.value:
selector_prompt = prompt or DEFAULT_SINGLE_SELECT_PROMPT_TMPL
selector = LLMSingleSelector.from_defaults(llm=llm, prompt_template_str=selector_prompt)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# ======================================================================================================================
from llama_index.core.multi_modal_llms.generic_utils import encode_image
from llama_index.core.schema import ImageNode, TextNode, NodeWithScore
from llama_index.core import Document as LDocument
from llama_index.core.schema import Document as LDocument

from .types.document import Document
from .types.media import Media
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# ======================================================================================================================

import time
from typing import List, Any, Optional, Callable, Union, Tuple
from typing import List, Any, Callable, Tuple

from .callable_registers import register_callable_tool

Expand Down
5 changes: 4 additions & 1 deletion framework/fel/python/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
pydantic==2.6.3
psutil==6.1.1
httpx==0.28.1
pandas==2.1.3
pandas==2.1.3
llama-index==0.12.46
langchain-core==0.3.68
langchain_community==0.3.27