ofermend commited on
Commit
6dda64c
·
1 Parent(s): a1eb80d
Files changed (4) hide show
  1. Dockerfile +4 -1
  2. agent.py +27 -19
  3. requirements.txt +3 -3
  4. st_app.py +1 -1
Dockerfile CHANGED
@@ -7,12 +7,15 @@ COPY ./requirements.txt /app/requirements.txt
7
  RUN pip3 install --no-cache-dir --upgrade pip
8
  RUN pip3 install --no-cache-dir wheel setuptools build
9
  RUN pip3 install --no-cache-dir --use-pep517 -r /app/requirements.txt
10
-
11
  # User
12
  RUN useradd -m -u 1000 user
13
  USER user
14
  ENV HOME /home/user
15
  ENV PATH $HOME/.local/bin:$PATH
 
 
 
16
 
17
  WORKDIR $HOME
18
  RUN mkdir app
 
7
  RUN pip3 install --no-cache-dir --upgrade pip
8
  RUN pip3 install --no-cache-dir wheel setuptools build
9
  RUN pip3 install --no-cache-dir --use-pep517 -r /app/requirements.txt
10
+
11
  # User
12
  RUN useradd -m -u 1000 user
13
  USER user
14
  ENV HOME /home/user
15
  ENV PATH $HOME/.local/bin:$PATH
16
+ ENV TIKTOKEN_CACHE_DIR $HOME/.cache/tiktoken
17
+
18
+ RUN mkdir -p $HOME/.cache/tiktoken
19
 
20
  WORKDIR $HOME
21
  RUN mkdir app
agent.py CHANGED
@@ -1,39 +1,47 @@
1
  import os
2
  from omegaconf import OmegaConf
3
  from vectara_agentic.agent import Agent
 
 
4
 
5
  from dotenv import load_dotenv
6
  load_dotenv(override=True)
7
 
8
  initial_prompt = "How can I help you today?"
9
 
10
-
11
  def initialize_agent(_cfg, agent_progress_callback=None):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  agent = Agent.from_corpus(
13
  vectara_corpus_key=_cfg.corpus_key,
14
  vectara_api_key=_cfg.api_key,
15
  tool_name="ask_ucsf_ortho",
16
  data_description="UCSF Orthopedic Website",
17
- assistant_specialty="UCSF Orthopedic department",
18
- vectara_summarizer="vectara-summary-ext-24-05-med-omni",
19
- # vectara_reranker = "chain", vectara_rerank_k = 100,
20
- # vectara_rerank_chain = [
21
- # {
22
- # "type": "multilingual_reranker_v1",
23
- # "cutoff": 0.5,
24
- # "limit": 100
25
- # },
26
- # {
27
- # "type": "mmr",
28
- # "diversity_bias": 0.1
29
- # }
30
- # ],
31
- vectara_reranker="multilingual_reranker_v1",
32
- vectara_rerank_k=100,
33
  vectara_lambda_val=0.005,
34
- vectara_summary_num_results=25,
35
- verbose=False,
 
36
  agent_progress_callback=agent_progress_callback,
 
 
37
  )
38
  agent.report()
39
  return agent
 
1
  import os
2
  from omegaconf import OmegaConf
3
  from vectara_agentic.agent import Agent
4
+ from vectara_agentic.agent_config import AgentConfig
5
+ from vectara_agentic.types import ModelProvider, AgentType
6
 
7
  from dotenv import load_dotenv
8
  load_dotenv(override=True)
9
 
10
  initial_prompt = "How can I help you today?"
11
 
 
12
  def initialize_agent(_cfg, agent_progress_callback=None):
13
+
14
+ agent_config = AgentConfig(
15
+ agent_type = os.getenv("VECTARA_AGENTIC_AGENT_TYPE", AgentType.OPENAI.value),
16
+ main_llm_provider = os.getenv("VECTARA_AGENTIC_MAIN_LLM_PROVIDER", ModelProvider.OPENAI.value),
17
+ main_llm_model_name = os.getenv("VECTARA_AGENTIC_MAIN_MODEL_NAME", ""),
18
+ tool_llm_provider = os.getenv("VECTARA_AGENTIC_TOOL_LLM_PROVIDER", ModelProvider.OPENAI.value),
19
+ tool_llm_model_name = os.getenv("VECTARA_AGENTIC_TOOL_MODEL_NAME", ""),
20
+ observer = os.getenv("VECTARA_AGENTIC_OBSERVER_TYPE", "NO_OBSERVER")
21
+ )
22
+ fallback_agent_config = AgentConfig(
23
+ agent_type = os.getenv("VECTARA_AGENTIC_FALLBACK_AGENT_TYPE", AgentType.OPENAI.value),
24
+ main_llm_provider = os.getenv("VECTARA_AGENTIC_FALLBACK_MAIN_LLM_PROVIDER", ModelProvider.OPENAI.value),
25
+ main_llm_model_name = os.getenv("VECTARA_AGENTIC_FALLBACK_MAIN_MODEL_NAME", ""),
26
+ tool_llm_provider = os.getenv("VECTARA_AGENTIC_FALLBACK_TOOL_LLM_PROVIDER", ModelProvider.OPENAI.value),
27
+ tool_llm_model_name = os.getenv("VECTARA_AGENTIC_FALLBACK_TOOL_MODEL_NAME", ""),
28
+ observer = os.getenv("VECTARA_AGENTIC_OBSERVER_TYPE", "NO_OBSERVER")
29
+ )
30
+
31
  agent = Agent.from_corpus(
32
  vectara_corpus_key=_cfg.corpus_key,
33
  vectara_api_key=_cfg.api_key,
34
  tool_name="ask_ucsf_ortho",
35
  data_description="UCSF Orthopedic Website",
36
+ assistant_specialty="UCSF Orthopedic department, helping users with questions about the department.",
37
+ vectara_reranker="multilingual_reranker_v1", vectara_rerank_k=100,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  vectara_lambda_val=0.005,
39
+ vectara_summarizer="vectara-summary-table-md-query-ext-jan-2025-gpt-4o",
40
+ vectara_summary_num_results=20,
41
+ verbose=True,
42
  agent_progress_callback=agent_progress_callback,
43
+ agent_config=agent_config,
44
+ fallback_agent_config=fallback_agent_config,
45
  )
46
  agent.report()
47
  return agent
requirements.txt CHANGED
@@ -1,9 +1,9 @@
1
  omegaconf==2.3.0
2
  python-dotenv==1.0.1
3
- streamlit==1.43.2
4
  streamlit_feedback==0.1.3
5
  uuid==1.30
6
  langdetect==1.0.9
7
  langcodes==3.4.0
8
- vectara-agentic==0.2.9
9
- torch==2.6.0
 
1
  omegaconf==2.3.0
2
  python-dotenv==1.0.1
3
+ streamlit==1.45.0
4
  streamlit_feedback==0.1.3
5
  uuid==1.30
6
  langdetect==1.0.9
7
  langcodes==3.4.0
8
+ vectara-agentic==0.2.15
9
+ torch==2.6.0
st_app.py CHANGED
@@ -131,7 +131,7 @@ async def launch_bot():
131
  if st.session_state.prompt:
132
  with st.chat_message("assistant", avatar='🤖'):
133
  st.session_state.status = st.status('Processing...', expanded=False)
134
- response = st.session_state.agent.chat(st.session_state.prompt)
135
  res = escape_dollars_outside_latex(response.response)
136
  message = {"role": "assistant", "content": res, "avatar": '🤖'}
137
  st.session_state.messages.append(message)
 
131
  if st.session_state.prompt:
132
  with st.chat_message("assistant", avatar='🤖'):
133
  st.session_state.status = st.status('Processing...', expanded=False)
134
+ response = await st.session_state.agent.achat(st.session_state.prompt)
135
  res = escape_dollars_outside_latex(response.response)
136
  message = {"role": "assistant", "content": res, "avatar": '🤖'}
137
  st.session_state.messages.append(message)