barunsaha commited on
Commit
46d1ee4
·
1 Parent(s): dc48a6d

Add Llama 3 LLMs via Together AI

Browse files
Files changed (4) hide show
  1. app.py +1 -1
  2. global_config.py +14 -1
  3. helpers/llm_helper.py +14 -0
  4. 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 and Gemini LLMs.'
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