Spaces:
Sleeping
Sleeping
Add Llama 3 LLMs via Together AI
Browse files- app.py +1 -1
- global_config.py +14 -1
- helpers/llm_helper.py +14 -0
- requirements.txt +1 -0
app.py
CHANGED
|
@@ -170,7 +170,7 @@ with st.sidebar:
|
|
| 170 |
api_key_token = st.text_input(
|
| 171 |
label=(
|
| 172 |
'3: Paste your API key/access token:\n\n'
|
| 173 |
-
'*Mandatory* for Cohere
|
| 174 |
' *Optional* for HF Mistral LLMs but still encouraged.\n\n'
|
| 175 |
),
|
| 176 |
type='password',
|
|
|
|
| 170 |
api_key_token = st.text_input(
|
| 171 |
label=(
|
| 172 |
'3: Paste your API key/access token:\n\n'
|
| 173 |
+
'*Mandatory* for Cohere, Google Gemini, and Together AI providers.'
|
| 174 |
' *Optional* for HF Mistral LLMs but still encouraged.\n\n'
|
| 175 |
),
|
| 176 |
type='password',
|
global_config.py
CHANGED
|
@@ -21,11 +21,13 @@ class GlobalConfig:
|
|
| 21 |
PROVIDER_GOOGLE_GEMINI = 'gg'
|
| 22 |
PROVIDER_HUGGING_FACE = 'hf'
|
| 23 |
PROVIDER_OLLAMA = 'ol'
|
|
|
|
| 24 |
VALID_PROVIDERS = {
|
| 25 |
PROVIDER_COHERE,
|
| 26 |
PROVIDER_GOOGLE_GEMINI,
|
| 27 |
PROVIDER_HUGGING_FACE,
|
| 28 |
-
PROVIDER_OLLAMA
|
|
|
|
| 29 |
}
|
| 30 |
VALID_MODELS = {
|
| 31 |
'[co]command-r-08-2024': {
|
|
@@ -53,12 +55,23 @@ class GlobalConfig:
|
|
| 53 |
'max_new_tokens': 10240,
|
| 54 |
'paid': False,
|
| 55 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
}
|
| 57 |
LLM_PROVIDER_HELP = (
|
| 58 |
'LLM provider codes:\n\n'
|
| 59 |
'- **[co]**: Cohere\n'
|
| 60 |
'- **[gg]**: Google Gemini API\n'
|
| 61 |
'- **[hf]**: Hugging Face Inference API\n'
|
|
|
|
| 62 |
)
|
| 63 |
DEFAULT_MODEL_INDEX = 3
|
| 64 |
LLM_MODEL_TEMPERATURE = 0.2
|
|
|
|
| 21 |
PROVIDER_GOOGLE_GEMINI = 'gg'
|
| 22 |
PROVIDER_HUGGING_FACE = 'hf'
|
| 23 |
PROVIDER_OLLAMA = 'ol'
|
| 24 |
+
PROVIDER_TOGETHER_AI = 'to'
|
| 25 |
VALID_PROVIDERS = {
|
| 26 |
PROVIDER_COHERE,
|
| 27 |
PROVIDER_GOOGLE_GEMINI,
|
| 28 |
PROVIDER_HUGGING_FACE,
|
| 29 |
+
PROVIDER_OLLAMA,
|
| 30 |
+
PROVIDER_TOGETHER_AI
|
| 31 |
}
|
| 32 |
VALID_MODELS = {
|
| 33 |
'[co]command-r-08-2024': {
|
|
|
|
| 55 |
'max_new_tokens': 10240,
|
| 56 |
'paid': False,
|
| 57 |
},
|
| 58 |
+
'[to]meta-llama/Llama-3.3-70B-Instruct-Turbo': {
|
| 59 |
+
'description': 'detailed, slower',
|
| 60 |
+
'max_new_tokens': 4096,
|
| 61 |
+
'paid': True,
|
| 62 |
+
},
|
| 63 |
+
'[to]meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo-128K': {
|
| 64 |
+
'description': 'shorter, faster',
|
| 65 |
+
'max_new_tokens': 4096,
|
| 66 |
+
'paid': True,
|
| 67 |
+
},
|
| 68 |
}
|
| 69 |
LLM_PROVIDER_HELP = (
|
| 70 |
'LLM provider codes:\n\n'
|
| 71 |
'- **[co]**: Cohere\n'
|
| 72 |
'- **[gg]**: Google Gemini API\n'
|
| 73 |
'- **[hf]**: Hugging Face Inference API\n'
|
| 74 |
+
'- **[to]**: Together AI\n'
|
| 75 |
)
|
| 76 |
DEFAULT_MODEL_INDEX = 3
|
| 77 |
LLM_MODEL_TEMPERATURE = 0.2
|
helpers/llm_helper.py
CHANGED
|
@@ -84,6 +84,7 @@ def is_valid_llm_provider_model(provider: str, model: str, api_key: str) -> bool
|
|
| 84 |
if provider in [
|
| 85 |
GlobalConfig.PROVIDER_GOOGLE_GEMINI,
|
| 86 |
GlobalConfig.PROVIDER_COHERE,
|
|
|
|
| 87 |
] and not api_key:
|
| 88 |
return False
|
| 89 |
|
|
@@ -161,6 +162,19 @@ def get_langchain_llm(
|
|
| 161 |
streaming=True,
|
| 162 |
)
|
| 163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 164 |
if provider == GlobalConfig.PROVIDER_OLLAMA:
|
| 165 |
from langchain_ollama.llms import OllamaLLM
|
| 166 |
|
|
|
|
| 84 |
if provider in [
|
| 85 |
GlobalConfig.PROVIDER_GOOGLE_GEMINI,
|
| 86 |
GlobalConfig.PROVIDER_COHERE,
|
| 87 |
+
GlobalConfig.PROVIDER_TOGETHER_AI,
|
| 88 |
] and not api_key:
|
| 89 |
return False
|
| 90 |
|
|
|
|
| 162 |
streaming=True,
|
| 163 |
)
|
| 164 |
|
| 165 |
+
if provider == GlobalConfig.PROVIDER_TOGETHER_AI:
|
| 166 |
+
from langchain_together import Together
|
| 167 |
+
|
| 168 |
+
logger.debug('Getting LLM via Together AI: %s', model)
|
| 169 |
+
return Together(
|
| 170 |
+
model=model,
|
| 171 |
+
temperature=GlobalConfig.LLM_MODEL_TEMPERATURE,
|
| 172 |
+
together_api_key=api_key,
|
| 173 |
+
max_tokens=max_new_tokens,
|
| 174 |
+
top_k=40,
|
| 175 |
+
top_p=0.90,
|
| 176 |
+
)
|
| 177 |
+
|
| 178 |
if provider == GlobalConfig.PROVIDER_OLLAMA:
|
| 179 |
from langchain_ollama.llms import OllamaLLM
|
| 180 |
|
requirements.txt
CHANGED
|
@@ -12,6 +12,7 @@ langchain-core~=0.3.0
|
|
| 12 |
langchain-community==0.3.0
|
| 13 |
langchain-google-genai==2.0.6
|
| 14 |
langchain-cohere==0.3.3
|
|
|
|
| 15 |
langchain-ollama==0.2.1
|
| 16 |
streamlit~=1.38.0
|
| 17 |
|
|
|
|
| 12 |
langchain-community==0.3.0
|
| 13 |
langchain-google-genai==2.0.6
|
| 14 |
langchain-cohere==0.3.3
|
| 15 |
+
langchain-together==0.3.0
|
| 16 |
langchain-ollama==0.2.1
|
| 17 |
streamlit~=1.38.0
|
| 18 |
|