Remove dependency on LiteLLM (#126)
This commit is contained in:
parent
d2f4eecba4
commit
e1414f6653
|
@ -21,13 +21,15 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 4,
|
"execution_count": 1,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"name": "stderr",
|
"name": "stderr",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
|
"/Users/aymeric/venv/test/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
||||||
|
" from .autonotebook import tqdm as notebook_tqdm\n",
|
||||||
"Using the latest cached version of the dataset since m-ric/smolagentsbenchmark couldn't be found on the Hugging Face Hub\n",
|
"Using the latest cached version of the dataset since m-ric/smolagentsbenchmark couldn't be found on the Hugging Face Hub\n",
|
||||||
"Found the latest cached dataset configuration 'default' at /Users/aymeric/.cache/huggingface/datasets/m-ric___smolagentsbenchmark/default/0.0.0/0ad5fb2293ab185eece723a4ac0e4a7188f71add (last modified on Wed Jan 8 17:50:13 2025).\n"
|
"Found the latest cached dataset configuration 'default' at /Users/aymeric/.cache/huggingface/datasets/m-ric___smolagentsbenchmark/default/0.0.0/0ad5fb2293ab185eece723a4ac0e4a7188f71add (last modified on Wed Jan 8 17:50:13 2025).\n"
|
||||||
]
|
]
|
||||||
|
@ -172,7 +174,7 @@
|
||||||
"[132 rows x 4 columns]"
|
"[132 rows x 4 columns]"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 4,
|
"execution_count": 1,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
|
@ -195,9 +197,19 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 5,
|
"execution_count": 2,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stderr",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"/Users/aymeric/venv/test/lib/python3.12/site-packages/pydantic/_internal/_config.py:345: UserWarning: Valid config keys have changed in V2:\n",
|
||||||
|
"* 'fields' has been removed\n",
|
||||||
|
" warnings.warn(message, UserWarning)\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"import time\n",
|
"import time\n",
|
||||||
"import json\n",
|
"import json\n",
|
||||||
|
|
|
@ -26,7 +26,6 @@ dependencies = [
|
||||||
"duckduckgo-search>=6.3.7",
|
"duckduckgo-search>=6.3.7",
|
||||||
"python-dotenv>=1.0.1",
|
"python-dotenv>=1.0.1",
|
||||||
"e2b-code-interpreter>=1.0.3",
|
"e2b-code-interpreter>=1.0.3",
|
||||||
"litellm>=1.55.10",
|
|
||||||
"openai>=1.58.1",
|
"openai>=1.58.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -40,4 +39,5 @@ test = [
|
||||||
"ruff>=0.5.0",
|
"ruff>=0.5.0",
|
||||||
"accelerate",
|
"accelerate",
|
||||||
"soundfile",
|
"soundfile",
|
||||||
|
"litellm>=1.55.10",
|
||||||
]
|
]
|
||||||
|
|
|
@ -22,7 +22,6 @@ from copy import deepcopy
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Dict, List, Optional, Tuple, Union
|
from typing import Dict, List, Optional, Tuple, Union
|
||||||
|
|
||||||
import litellm
|
|
||||||
import torch
|
import torch
|
||||||
from huggingface_hub import InferenceClient
|
from huggingface_hub import InferenceClient
|
||||||
from transformers import (
|
from transformers import (
|
||||||
|
@ -48,6 +47,13 @@ DEFAULT_CODEAGENT_REGEX_GRAMMAR = {
|
||||||
"value": "Thought: .+?\\nCode:\\n```(?:py|python)?\\n(?:.|\\s)+?\\n```<end_action>",
|
"value": "Thought: .+?\\nCode:\\n```(?:py|python)?\\n(?:.|\\s)+?\\n```<end_action>",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
import litellm
|
||||||
|
|
||||||
|
is_litellm_available = True
|
||||||
|
except ImportError:
|
||||||
|
is_litellm_available = False
|
||||||
|
|
||||||
|
|
||||||
class MessageRole(str, Enum):
|
class MessageRole(str, Enum):
|
||||||
USER = "user"
|
USER = "user"
|
||||||
|
@ -428,6 +434,10 @@ class LiteLLMModel(Model):
|
||||||
api_key=None,
|
api_key=None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
|
if not is_litellm_available:
|
||||||
|
raise ImportError(
|
||||||
|
"litellm not found. Install it with `pip install litellm`"
|
||||||
|
)
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.model_id = model_id
|
self.model_id = model_id
|
||||||
# IMPORTANT - Set this to TRUE to add the function to the prompt for Non OpenAI LLMs
|
# IMPORTANT - Set this to TRUE to add the function to the prompt for Non OpenAI LLMs
|
||||||
|
@ -510,7 +520,7 @@ class OpenAIServerModel(Model):
|
||||||
api_base: str,
|
api_base: str,
|
||||||
api_key: str,
|
api_key: str,
|
||||||
temperature: float = 0.7,
|
temperature: float = 0.7,
|
||||||
**kwargs
|
**kwargs,
|
||||||
):
|
):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.model_id = model_id
|
self.model_id = model_id
|
||||||
|
@ -539,7 +549,7 @@ class OpenAIServerModel(Model):
|
||||||
stop=stop_sequences,
|
stop=stop_sequences,
|
||||||
max_tokens=max_tokens,
|
max_tokens=max_tokens,
|
||||||
temperature=self.temperature,
|
temperature=self.temperature,
|
||||||
**self.kwargs
|
**self.kwargs,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.last_input_token_count = response.usage.prompt_tokens
|
self.last_input_token_count = response.usage.prompt_tokens
|
||||||
|
@ -566,7 +576,7 @@ class OpenAIServerModel(Model):
|
||||||
stop=stop_sequences,
|
stop=stop_sequences,
|
||||||
max_tokens=max_tokens,
|
max_tokens=max_tokens,
|
||||||
temperature=self.temperature,
|
temperature=self.temperature,
|
||||||
**self.kwargs
|
**self.kwargs,
|
||||||
)
|
)
|
||||||
|
|
||||||
tool_calls = response.choices[0].message.tool_calls[0]
|
tool_calls = response.choices[0].message.tool_calls[0]
|
||||||
|
|
Loading…
Reference in New Issue