Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to connect to my serverless runpod VLLM pod that I created should be same base url #58

Open
TheMindExpansionNetwork opened this issue Jan 30, 2025 · 0 comments

Comments

@TheMindExpansionNetwork

I am not sure what I am missing I am getting this error

{'result': "Error running crew: litellm.BadRequestError: LLM Provider NOT provided. Pass in the LLM provider you are trying to call. You passed model=TheMindExpansionNetwork/Torque_14B_MED_0.1-AWQ-4bitgpt-4-turbo\n Pass model as E.g. For 'Huggingface' inference endpoints pass in completion(model='huggingface/starcoder',..) Learn more: https://docs.litellm.ai/docs/providers", 'stack_trace': 'Traceback (most recent call last):\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\app\pg_crew_run.py", line 62, in run_crew\n result = crewai_crew.kickoff(inputs=inputs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\crew.py", line 551, in kickoff\n result = self._run_sequential_process()\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\crew.py", line 658, in _run_sequential_process\n return self._execute_tasks(self.tasks)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\crew.py", line 760, in _execute_tasks\n task_output = task.execute_sync(\n ^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\task.py", line 302, in execute_sync\n return self._execute_core(agent, context, tools)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\task.py", line 366, in _execute_core\n result = agent.execute_task(\n ^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agent.py", line 264, in execute_task\n raise e\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agent.py", line 253, in execute_task\n result = self.agent_executor.invoke(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agents\crew_agent_executor.py", line 106, in invoke\n raise e\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agents\crew_agent_executor.py", line 102, in invoke\n formatted_answer = self._invoke_loop()\n ^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agents\crew_agent_executor.py", line 154, in _invoke_loop\n raise e\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agents\crew_agent_executor.py", line 134, in _invoke_loop\n answer = self._get_llm_response()\n ^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agents\crew_agent_executor.py", line 199, in _get_llm_response\n raise e\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\agents\crew_agent_executor.py", line 190, in _get_llm_response\n answer = self.llm.call(\n ^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\crewai\llm.py", line 246, in call\n response = litellm.completion(**params)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\litellm\utils.py", line 1022, in wrapper\n raise e\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\litellm\utils.py", line 900, in wrapper\n result = original_function(*args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\litellm\main.py", line 2955, in completion\n raise exception_type(\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\litellm\main.py", line 927, in completion\n model, custom_llm_provider, dynamic_api_key, api_base = get_llm_provider(\n ^^^^^^^^^^^^^^^^^\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\litellm\litellm_core_utils\get_llm_provider_logic.py", line 351, in get_llm_provider\n raise e\n File "Z:\GIT\CR3AT10N-ST4T1ON\Massumis\CrewAI-Studio\miniconda\envs\crewai_env\Lib\site-packages\litellm\litellm_core_utils\get_llm_provider_logic.py", line 328, in get_llm_provider\n raise litellm.exceptions.BadRequestError( # type: ignore\nlitellm.exceptions.BadRequestError: litellm.BadRequestError: LLM Provider NOT provided. Pass in the LLM provider you are trying to call. You passed model=TheMindExpansionNetwork/Torque_14B_MED_0.1-AWQ-4bitgpt-4-turbo\n Pass model as E.g. For 'Huggingface' inference endpoints pass in completion(model='huggingface/starcoder',..) Learn more: https://docs.litellm.ai/docs/providers\n'}

The model is this TheMindExpansionNetwork/Torque_14B_MED_0.1-AWQ-4

https://github.com/runpod-workers/worker-vllm

This should be it

from openai import OpenAI
import os

Initialize the OpenAI Client with your RunPod API Key and Endpoint URL

client = OpenAI(
api_key=os.environ.get("RUNPOD_API_KEY"),
base_url="https://api.runpod.ai/v2//openai/v1",
)

I have the API Changed

Then I attempted the .env

OPENAI_PROXY_MODELS

any help is appreciated

this is also what I attempted same error

import os
from dotenv import load_dotenv
import streamlit as st
from langchain_openai import ChatOpenAI
from langchain_groq import ChatGroq
from langchain_anthropic import ChatAnthropic
from crewai import LLM

def load_secrets_fron_env():
load_dotenv(override=True)
if "env_vars" not in st.session_state:
st.session_state.env_vars = {
"OPENAI_API_KEY": os.getenv("OPENAI_API_KEY"),
"OPENAI_API_BASE": os.getenv("OPENAI_API_BASE", "https://api.openai.com/v1/"),
"GROQ_API_KEY": os.getenv("GROQ_API_KEY"),
"LMSTUDIO_API_BASE": os.getenv("LMSTUDIO_API_BASE"),
"ANTHROPIC_API_KEY": os.getenv("ANTHROPIC_API_KEY"),
"OLLAMA_HOST": os.getenv("OLLAMA_HOST"),
}
else:
st.session_state.env_vars = st.session_state.env_vars

def switch_environment(new_env_vars):
for key, value in new_env_vars.items():
if value is not None:
os.environ[key] = value
st.session_state.env_vars[key] = value

def restore_environment():
for key, value in st.session_state.env_vars.items():
if value is not None:
os.environ[key] = value
elif key in os.environ:
del os.environ[key]

def safe_pop_env_var(key):
os.environ.pop(key, None)

def create_openai_llm(model, temperature):
switch_environment({
"OPENAI_API_KEY": st.session_state.env_vars["OPENAI_API_KEY"],
"OPENAI_API_BASE": st.session_state.env_vars["OPENAI_API_BASE"],
})
api_key = os.getenv("OPENAI_API_KEY")
api_base = os.getenv("OPENAI_API_BASE")

if api_key:
    return LLM(model=model, temperature=temperature, base_url=api_base)
else:
    raise ValueError("OpenAI API key not set in .env file")

def create_anthropic_llm(model, temperature):
switch_environment({
"ANTHROPIC_API_KEY": st.session_state.env_vars["ANTHROPIC_API_KEY"],
})
api_key = os.getenv("ANTHROPIC_API_KEY")

if api_key:
    return ChatAnthropic(
        anthropic_api_key=api_key,
        model_name=model,
        temperature=temperature,
        max_tokens=4095,
    )
else:
    raise ValueError("Anthropic API key not set in .env file")

def create_groq_llm(model, temperature):
switch_environment({
"GROQ_API_KEY": st.session_state.env_vars["GROQ_API_KEY"],
})
api_key = os.getenv("GROQ_API_KEY")

if api_key:
    return ChatGroq(groq_api_key=api_key, model_name=model, temperature=temperature, max_tokens=4095)
else:
    raise ValueError("Groq API key not set in .env file")

def create_ollama_llm(model, temperature):
host = st.session_state.env_vars["OLLAMA_HOST"]
if host:
switch_environment({
"OPENAI_API_KEY": "ollama", # Nastaví OpenAI API klíč na "ollama"
"OPENAI_API_BASE": host, # Nastaví OpenAI API Base na hodnotu OLLAMA_HOST
})
return LLM(model=model, temperature=temperature, base_url=host)
else:
raise ValueError("Ollama Host is not set in .env file")

def create_lmstudio_llm(model, temperature):
switch_environment({
"OPENAI_API_KEY": "lm-studio",
"OPENAI_API_BASE": st.session_state.env_vars["LMSTUDIO_API_BASE"],
})
api_base = os.getenv("OPENAI_API_BASE")

if api_base:
    return ChatOpenAI(
        openai_api_key="lm-studio",
        openai_api_base=api_base,
        temperature=temperature,
        max_tokens=4095,
    )
else:
    raise ValueError("LM Studio API base not set in .env file")

LLM_CONFIG = {
"OpenAI": {
"models": os.getenv("OPENAI_PROXY_MODELS", "").split(",") if os.getenv("OPENAI_PROXY_MODELS") else ["gpt-4o", "gpt-4o-mini", "gpt-3.5-turbo", "TheMindExpansionNetwork/Torque_14B_MED_0.1-AWQ-4bit" "gpt-4-turbo"],
"create_llm": create_openai_llm,
},
"Groq": {
"models": ["groq/llama3-8b-8192", "groq/llama3-70b-8192", "groq/mixtral-8x7b-32768"],
"create_llm": create_groq_llm,
},
"Ollama": {
"models": os.getenv("OLLAMA_MODELS", "").split(",") if os.getenv("OLLAMA_MODELS") else [],
"create_llm": create_ollama_llm,
},
"Anthropic": {
"models": ["claude-3-5-sonnet-20240620"],
"create_llm": create_anthropic_llm,
},
"LM Studio": {
"models": ["lms-default"],
"create_llm": create_lmstudio_llm,
},
}

def llm_providers_and_models():
return [f"{provider}: {model}" for provider in LLM_CONFIG.keys() for model in LLM_CONFIG[provider]["models"]]

def create_llm(provider_and_model, temperature=0.15):
provider, model = provider_and_model.split(": ")
create_llm_func = LLM_CONFIG.get(provider, {}).get("create_llm")

if create_llm_func:
    llm = create_llm_func(model, temperature)
    restore_environment()  # Obnoví původní prostředí po vytvoření LLM
    return llm
else:
    raise ValueError(f"LLM provider {provider} is not recognized or not supported")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant