vectara-agentic 0.4.7__py3-none-any.whl → 0.4.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of vectara-agentic might be problematic. Click here for more details.
- tests/benchmark_models.py +12 -12
- tests/test_agent.py +4 -3
- tests/test_bedrock.py +101 -0
- tests/test_gemini.py +94 -8
- tests/test_groq.py +97 -16
- tests/test_openai.py +101 -0
- tests/test_react_streaming.py +26 -2
- vectara_agentic/_version.py +1 -1
- vectara_agentic/agent.py +19 -30
- vectara_agentic/agent_core/factory.py +11 -4
- vectara_agentic/agent_core/prompts.py +64 -8
- vectara_agentic/agent_core/serialization.py +3 -3
- vectara_agentic/agent_core/streaming.py +174 -197
- vectara_agentic/agent_core/utils/hallucination.py +33 -1
- vectara_agentic/db_tools.py +4 -0
- vectara_agentic/llm_utils.py +55 -2
- vectara_agentic/sub_query_workflow.py +31 -31
- vectara_agentic/tools.py +0 -2
- vectara_agentic/utils.py +35 -10
- {vectara_agentic-0.4.7.dist-info → vectara_agentic-0.4.9.dist-info}/METADATA +32 -32
- {vectara_agentic-0.4.7.dist-info → vectara_agentic-0.4.9.dist-info}/RECORD +24 -24
- {vectara_agentic-0.4.7.dist-info → vectara_agentic-0.4.9.dist-info}/WHEEL +0 -0
- {vectara_agentic-0.4.7.dist-info → vectara_agentic-0.4.9.dist-info}/licenses/LICENSE +0 -0
- {vectara_agentic-0.4.7.dist-info → vectara_agentic-0.4.9.dist-info}/top_level.txt +0 -0
|
@@ -72,7 +72,7 @@ class SubQuestionQueryWorkflow(Workflow):
|
|
|
72
72
|
raise ValueError(f"Expected inputs to be of type {self.InputsModel}")
|
|
73
73
|
|
|
74
74
|
query = ev.inputs.query
|
|
75
|
-
await ctx.set("original_query", query)
|
|
75
|
+
await ctx.store.set("original_query", query)
|
|
76
76
|
|
|
77
77
|
required_attrs = ["agent", "llm", "tools"]
|
|
78
78
|
for attr in required_attrs:
|
|
@@ -81,15 +81,15 @@ class SubQuestionQueryWorkflow(Workflow):
|
|
|
81
81
|
f"{attr.capitalize()} not provided to workflow Start Event."
|
|
82
82
|
)
|
|
83
83
|
|
|
84
|
-
await ctx.set("agent", ev.agent)
|
|
85
|
-
await ctx.set("llm", ev.llm)
|
|
86
|
-
await ctx.set("tools", ev.tools)
|
|
87
|
-
await ctx.set("verbose", getattr(ev, "verbose", False))
|
|
84
|
+
await ctx.store.set("agent", ev.agent)
|
|
85
|
+
await ctx.store.set("llm", ev.llm)
|
|
86
|
+
await ctx.store.set("tools", ev.tools)
|
|
87
|
+
await ctx.store.set("verbose", getattr(ev, "verbose", False))
|
|
88
88
|
|
|
89
89
|
chat_history = [str(msg) for msg in ev.agent.memory.get()]
|
|
90
90
|
|
|
91
|
-
llm = await ctx.get("llm")
|
|
92
|
-
original_query = await ctx.get("original_query")
|
|
91
|
+
llm = await ctx.store.get("llm")
|
|
92
|
+
original_query = await ctx.store.get("original_query")
|
|
93
93
|
response = llm.complete(
|
|
94
94
|
f"""
|
|
95
95
|
Given a user question, and a list of tools, output a list of
|
|
@@ -140,7 +140,7 @@ class SubQuestionQueryWorkflow(Workflow):
|
|
|
140
140
|
# We use the original query as a single question fallback
|
|
141
141
|
sub_questions = [original_query]
|
|
142
142
|
|
|
143
|
-
await ctx.set("sub_question_count", len(sub_questions))
|
|
143
|
+
await ctx.store.set("sub_question_count", len(sub_questions))
|
|
144
144
|
for question in sub_questions:
|
|
145
145
|
ctx.send_event(self.QueryEvent(question=question))
|
|
146
146
|
|
|
@@ -151,13 +151,13 @@ class SubQuestionQueryWorkflow(Workflow):
|
|
|
151
151
|
"""
|
|
152
152
|
Given a sub-question, return the answer to the sub-question, using the agent.
|
|
153
153
|
"""
|
|
154
|
-
if await ctx.get("verbose"):
|
|
154
|
+
if await ctx.store.get("verbose"):
|
|
155
155
|
logging.info(f"Sub-question is {ev.question}")
|
|
156
|
-
agent = await ctx.get("agent")
|
|
156
|
+
agent = await ctx.store.get("agent")
|
|
157
157
|
question = ev.question
|
|
158
158
|
response = await agent.achat(question)
|
|
159
159
|
answer = str(response)
|
|
160
|
-
await ctx.set("qna", await ctx.get("qna", []) + [(question, answer)])
|
|
160
|
+
await ctx.store.set("qna", await ctx.store.get("qna", []) + [(question, answer)])
|
|
161
161
|
return self.AnswerEvent(question=question, answer=answer)
|
|
162
162
|
|
|
163
163
|
@step
|
|
@@ -166,7 +166,7 @@ class SubQuestionQueryWorkflow(Workflow):
|
|
|
166
166
|
Given a list of answers to sub-questions, combine them into a single answer.
|
|
167
167
|
"""
|
|
168
168
|
ready = ctx.collect_events(
|
|
169
|
-
ev, [self.AnswerEvent] * await ctx.get("sub_question_count")
|
|
169
|
+
ev, [self.AnswerEvent] * await ctx.store.get("sub_question_count")
|
|
170
170
|
)
|
|
171
171
|
if ready is None:
|
|
172
172
|
return None
|
|
@@ -180,18 +180,18 @@ class SubQuestionQueryWorkflow(Workflow):
|
|
|
180
180
|
each of which has been answered. Combine the answers to all the sub-questions
|
|
181
181
|
into a single answer to the original question.
|
|
182
182
|
|
|
183
|
-
Original question: {await ctx.get('original_query')}
|
|
183
|
+
Original question: {await ctx.store.get('original_query')}
|
|
184
184
|
|
|
185
185
|
Sub-questions and answers:
|
|
186
186
|
{answers}
|
|
187
187
|
"""
|
|
188
|
-
if await ctx.get("verbose"):
|
|
188
|
+
if await ctx.store.get("verbose"):
|
|
189
189
|
logging.info(f"Final prompt is {prompt}")
|
|
190
190
|
|
|
191
|
-
llm = await ctx.get("llm")
|
|
191
|
+
llm = await ctx.store.get("llm")
|
|
192
192
|
response = llm.complete(prompt)
|
|
193
193
|
|
|
194
|
-
if await ctx.get("verbose"):
|
|
194
|
+
if await ctx.store.get("verbose"):
|
|
195
195
|
logging.info(f"Final response is {response}")
|
|
196
196
|
return StopEvent(result=self.OutputsModel(response=str(response)))
|
|
197
197
|
|
|
@@ -246,33 +246,33 @@ class SequentialSubQuestionsWorkflow(Workflow):
|
|
|
246
246
|
raise ValueError(f"Expected inputs to be of type {self.InputsModel}")
|
|
247
247
|
if hasattr(ev, "inputs"):
|
|
248
248
|
query = ev.inputs.query
|
|
249
|
-
await ctx.set("original_query", query)
|
|
249
|
+
await ctx.store.set("original_query", query)
|
|
250
250
|
|
|
251
251
|
if hasattr(ev, "agent"):
|
|
252
|
-
await ctx.set("agent", ev.agent)
|
|
252
|
+
await ctx.store.set("agent", ev.agent)
|
|
253
253
|
else:
|
|
254
254
|
raise ValueError("Agent not provided to workflow Start Event.")
|
|
255
255
|
chat_history = [str(msg) for msg in ev.agent.memory.get()]
|
|
256
256
|
|
|
257
257
|
if hasattr(ev, "llm"):
|
|
258
|
-
await ctx.set("llm", ev.llm)
|
|
258
|
+
await ctx.store.set("llm", ev.llm)
|
|
259
259
|
else:
|
|
260
260
|
raise ValueError("LLM not provided to workflow Start Event.")
|
|
261
261
|
|
|
262
262
|
if hasattr(ev, "tools"):
|
|
263
|
-
await ctx.set("tools", ev.tools)
|
|
263
|
+
await ctx.store.set("tools", ev.tools)
|
|
264
264
|
else:
|
|
265
265
|
raise ValueError("Tools not provided to workflow Start Event.")
|
|
266
266
|
|
|
267
267
|
if hasattr(ev, "verbose"):
|
|
268
|
-
await ctx.set("verbose", ev.verbose)
|
|
268
|
+
await ctx.store.set("verbose", ev.verbose)
|
|
269
269
|
else:
|
|
270
|
-
await ctx.set("verbose", False)
|
|
270
|
+
await ctx.store.set("verbose", False)
|
|
271
271
|
|
|
272
|
-
original_query = await ctx.get("original_query")
|
|
272
|
+
original_query = await ctx.store.get("original_query")
|
|
273
273
|
if ev.verbose:
|
|
274
274
|
logging.info(f"Query is {original_query}")
|
|
275
|
-
llm = await ctx.get("llm")
|
|
275
|
+
llm = await ctx.store.get("llm")
|
|
276
276
|
response = llm.complete(
|
|
277
277
|
f"""
|
|
278
278
|
Given a user question, and a list of tools, output a list of
|
|
@@ -320,8 +320,8 @@ class SequentialSubQuestionsWorkflow(Workflow):
|
|
|
320
320
|
|
|
321
321
|
sub_questions = response_obj.get("sub_questions")
|
|
322
322
|
|
|
323
|
-
await ctx.set("sub_questions", sub_questions)
|
|
324
|
-
if await ctx.get("verbose"):
|
|
323
|
+
await ctx.store.set("sub_questions", sub_questions)
|
|
324
|
+
if await ctx.store.get("verbose"):
|
|
325
325
|
logging.info(f"Sub-questions are {sub_questions}")
|
|
326
326
|
|
|
327
327
|
return self.QueryEvent(question=sub_questions[0], prev_answer="", num=0)
|
|
@@ -333,10 +333,10 @@ class SequentialSubQuestionsWorkflow(Workflow):
|
|
|
333
333
|
"""
|
|
334
334
|
Given a sub-question, return the answer to the sub-question, using the agent.
|
|
335
335
|
"""
|
|
336
|
-
if await ctx.get("verbose"):
|
|
336
|
+
if await ctx.store.get("verbose"):
|
|
337
337
|
logging.info(f"Sub-question is {ev.question}")
|
|
338
|
-
agent = await ctx.get("agent")
|
|
339
|
-
sub_questions = await ctx.get("sub_questions")
|
|
338
|
+
agent = await ctx.store.get("agent")
|
|
339
|
+
sub_questions = await ctx.store.get("sub_questions")
|
|
340
340
|
question = ev.question
|
|
341
341
|
if ev.prev_answer:
|
|
342
342
|
prev_question = sub_questions[ev.num - 1]
|
|
@@ -348,11 +348,11 @@ class SequentialSubQuestionsWorkflow(Workflow):
|
|
|
348
348
|
else:
|
|
349
349
|
response = await agent.achat(question)
|
|
350
350
|
answer = response.response
|
|
351
|
-
if await ctx.get("verbose"):
|
|
351
|
+
if await ctx.store.get("verbose"):
|
|
352
352
|
logging.info(f"Answer is {answer}")
|
|
353
353
|
|
|
354
354
|
if ev.num + 1 < len(sub_questions):
|
|
355
|
-
await ctx.set("qna", await ctx.get("qna", []) + [(question, answer)])
|
|
355
|
+
await ctx.store.set("qna", await ctx.store.get("qna", []) + [(question, answer)])
|
|
356
356
|
return self.QueryEvent(
|
|
357
357
|
question=sub_questions[ev.num + 1],
|
|
358
358
|
prev_answer=answer,
|
vectara_agentic/tools.py
CHANGED
|
@@ -66,7 +66,6 @@ LI_packages = {
|
|
|
66
66
|
},
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
|
|
70
69
|
def normalize_url(url):
|
|
71
70
|
"""
|
|
72
71
|
Normalize URL for consistent comparison by handling percent-encoding.
|
|
@@ -90,7 +89,6 @@ def normalize_url(url):
|
|
|
90
89
|
logging.warning(f"Error normalizing URL '{url}': {e}")
|
|
91
90
|
return url
|
|
92
91
|
|
|
93
|
-
|
|
94
92
|
def citation_appears_in_text(citation_text, citation_url, response_text):
|
|
95
93
|
"""
|
|
96
94
|
Check if citation appears in response text using multiple matching strategies.
|
vectara_agentic/utils.py
CHANGED
|
@@ -17,16 +17,41 @@ def is_float(value: str) -> bool:
|
|
|
17
17
|
return False
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
class remove_self_from_signature: # pylint: disable=invalid-name
|
|
21
|
+
"""Descriptor that hides 'self' on the class attribute, but leaves bound methods alone.
|
|
22
|
+
|
|
23
|
+
This solves the issue where modifying __signature__ on methods causes problems
|
|
24
|
+
with Python's bound method creation. Instead, we use a descriptor that:
|
|
25
|
+
- Returns a wrapper with 'self' removed when accessed on the class (for tool creation)
|
|
26
|
+
- Returns a normal bound method when accessed on instances (for normal method calls)
|
|
27
|
+
"""
|
|
28
|
+
def __init__(self, func):
|
|
29
|
+
import functools
|
|
30
|
+
functools.update_wrapper(self, func)
|
|
31
|
+
self.func = func
|
|
32
|
+
sig = signature(func)
|
|
33
|
+
params = list(sig.parameters.values())
|
|
34
|
+
# Remove the first parameter if it is named 'self'
|
|
35
|
+
if params and params[0].name == "self":
|
|
36
|
+
params = params[1:]
|
|
37
|
+
self._unbound_sig = sig.replace(parameters=params)
|
|
38
|
+
|
|
39
|
+
def __get__(self, obj, objtype=None):
|
|
40
|
+
import functools
|
|
41
|
+
import types
|
|
42
|
+
if obj is None:
|
|
43
|
+
# Accessed on the class: provide a function-like object with 'self' removed.
|
|
44
|
+
@functools.wraps(self.func)
|
|
45
|
+
def wrapper(*args, **kwargs):
|
|
46
|
+
return self.func(*args, **kwargs)
|
|
47
|
+
wrapper.__signature__ = self._unbound_sig
|
|
48
|
+
return wrapper
|
|
49
|
+
# Accessed on an instance: return the original bound method so inspect removes 'self' exactly once.
|
|
50
|
+
return types.MethodType(self.func, obj)
|
|
51
|
+
|
|
52
|
+
# Allow direct calls via the descriptor if someone invokes it off the class attribute.
|
|
53
|
+
def __call__(self, *args, **kwargs):
|
|
54
|
+
return self.func(*args, **kwargs)
|
|
30
55
|
|
|
31
56
|
|
|
32
57
|
async def summarize_vectara_document(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vectara_agentic
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.9
|
|
4
4
|
Summary: A Python package for creating AI Assistants and AI Agents with Vectara
|
|
5
5
|
Home-page: https://github.com/vectara/py-vectara-agentic
|
|
6
6
|
Author: Ofer Mendelevitch
|
|
@@ -16,34 +16,34 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
16
16
|
Requires-Python: >=3.10
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
|
-
Requires-Dist: llama-index==0.
|
|
20
|
-
Requires-Dist: llama-index-core==0.
|
|
21
|
-
Requires-Dist: llama-index-workflows==
|
|
22
|
-
Requires-Dist: llama-index-cli==0.5.
|
|
23
|
-
Requires-Dist: llama-index-indices-managed-vectara==0.5.
|
|
24
|
-
Requires-Dist: llama-index-llms-openai==0.5.
|
|
25
|
-
Requires-Dist: llama-index-llms-openai-like==0.5.
|
|
26
|
-
Requires-Dist: llama-index-llms-anthropic==0.
|
|
27
|
-
Requires-Dist: llama-index-llms-together==0.4.
|
|
28
|
-
Requires-Dist: llama-index-llms-groq==0.4.
|
|
29
|
-
Requires-Dist: llama-index-llms-cohere==0.6.
|
|
30
|
-
Requires-Dist: llama-index-llms-google-genai==0.
|
|
31
|
-
Requires-Dist: google_genai
|
|
32
|
-
Requires-Dist: llama-index-llms-bedrock-converse==0.9.
|
|
33
|
-
Requires-Dist: llama-index-tools-yahoo-finance==0.4.
|
|
34
|
-
Requires-Dist: llama-index-tools-arxiv==0.4.
|
|
35
|
-
Requires-Dist: llama-index-tools-database==0.4.
|
|
36
|
-
Requires-Dist: llama-index-tools-google==0.6.
|
|
37
|
-
Requires-Dist: llama-index-tools-tavily_research==0.4.
|
|
38
|
-
Requires-Dist: llama_index.tools.brave_search==0.4.
|
|
39
|
-
Requires-Dist: llama-index-tools-neo4j==0.4.
|
|
40
|
-
Requires-Dist: llama-index-tools-waii==0.4.
|
|
41
|
-
Requires-Dist: llama-index-graph-stores-kuzu==0.9.
|
|
42
|
-
Requires-Dist: llama-index-tools-salesforce==0.4.
|
|
43
|
-
Requires-Dist: llama-index-tools-slack==0.4.
|
|
44
|
-
Requires-Dist: llama-index-tools-exa==0.4.
|
|
45
|
-
Requires-Dist: llama-index-tools-wikipedia==0.4.
|
|
46
|
-
Requires-Dist: llama-index-tools-bing-search==0.4.
|
|
19
|
+
Requires-Dist: llama-index==0.14.3
|
|
20
|
+
Requires-Dist: llama-index-core==0.14.3
|
|
21
|
+
Requires-Dist: llama-index-workflows==2.5.0
|
|
22
|
+
Requires-Dist: llama-index-cli==0.5.1
|
|
23
|
+
Requires-Dist: llama-index-indices-managed-vectara==0.5.1
|
|
24
|
+
Requires-Dist: llama-index-llms-openai==0.5.6
|
|
25
|
+
Requires-Dist: llama-index-llms-openai-like==0.5.1
|
|
26
|
+
Requires-Dist: llama-index-llms-anthropic==0.9.3
|
|
27
|
+
Requires-Dist: llama-index-llms-together==0.4.1
|
|
28
|
+
Requires-Dist: llama-index-llms-groq==0.4.1
|
|
29
|
+
Requires-Dist: llama-index-llms-cohere==0.6.1
|
|
30
|
+
Requires-Dist: llama-index-llms-google-genai==0.5.1
|
|
31
|
+
Requires-Dist: google_genai==1.39.1
|
|
32
|
+
Requires-Dist: llama-index-llms-bedrock-converse==0.9.5
|
|
33
|
+
Requires-Dist: llama-index-tools-yahoo-finance==0.4.1
|
|
34
|
+
Requires-Dist: llama-index-tools-arxiv==0.4.1
|
|
35
|
+
Requires-Dist: llama-index-tools-database==0.4.1
|
|
36
|
+
Requires-Dist: llama-index-tools-google==0.6.2
|
|
37
|
+
Requires-Dist: llama-index-tools-tavily_research==0.4.1
|
|
38
|
+
Requires-Dist: llama_index.tools.brave_search==0.4.1
|
|
39
|
+
Requires-Dist: llama-index-tools-neo4j==0.4.1
|
|
40
|
+
Requires-Dist: llama-index-tools-waii==0.4.1
|
|
41
|
+
Requires-Dist: llama-index-graph-stores-kuzu==0.9.1
|
|
42
|
+
Requires-Dist: llama-index-tools-salesforce==0.4.1
|
|
43
|
+
Requires-Dist: llama-index-tools-slack==0.4.1
|
|
44
|
+
Requires-Dist: llama-index-tools-exa==0.4.1
|
|
45
|
+
Requires-Dist: llama-index-tools-wikipedia==0.4.1
|
|
46
|
+
Requires-Dist: llama-index-tools-bing-search==0.4.1
|
|
47
47
|
Requires-Dist: openai>=1.99.3
|
|
48
48
|
Requires-Dist: tavily-python>=0.7.10
|
|
49
49
|
Requires-Dist: exa-py>=1.14.20
|
|
@@ -736,13 +736,13 @@ If you want to use `agent`, `tools`, `llm` or `verbose` in other events (that ar
|
|
|
736
736
|
the `Context` of the Workflow as follows:
|
|
737
737
|
|
|
738
738
|
```python
|
|
739
|
-
await ctx.set("agent", ev.agent)
|
|
739
|
+
await ctx.store.set("agent", ev.agent)
|
|
740
740
|
```
|
|
741
741
|
|
|
742
742
|
and then in any other event you can pull that agent object with
|
|
743
743
|
|
|
744
744
|
```python
|
|
745
|
-
agent = await ctx.get("agent")
|
|
745
|
+
agent = await ctx.store.get("agent")
|
|
746
746
|
```
|
|
747
747
|
|
|
748
748
|
Similarly you can reuse the `llm`, `tools` or `verbose` arguments within other nodes in the workflow.
|
|
@@ -886,7 +886,7 @@ The `AgentConfig` object may include the following items:
|
|
|
886
886
|
- `main_llm_provider` and `tool_llm_provider`: the LLM provider for main agent and for the tools. Valid values are `OPENAI`, `ANTHROPIC`, `TOGETHER`, `GROQ`, `COHERE`, `BEDROCK`, `GEMINI` (default: `OPENAI`).
|
|
887
887
|
|
|
888
888
|
> **Note:** Fireworks AI support has been removed. If you were using Fireworks, please migrate to one of the supported providers listed above.
|
|
889
|
-
- `main_llm_model_name` and `tool_llm_model_name`: agent model name for agent and tools (default depends on provider: OpenAI uses gpt-4.1-mini, Gemini uses gemini-2.5-flash-
|
|
889
|
+
- `main_llm_model_name` and `tool_llm_model_name`: agent model name for agent and tools (default depends on provider: OpenAI uses gpt-4.1-mini, Anthropic uses claude-sonnet-4-5, Gemini uses models/gemini-2.5-flash, Together.AI uses deepseek-ai/DeepSeek-V3, GROQ uses openai/gpt-oss-20b, Bedrock uses us.anthropic.claude-sonnet-4-20250514-v1:0, Cohere uses command-a-03-2025).
|
|
890
890
|
- `observer`: the observer type; should be `ARIZE_PHOENIX` or if undefined no observation framework will be used.
|
|
891
891
|
- `endpoint_api_key`: a secret key if using the API endpoint option (defaults to `dev-api-key`)
|
|
892
892
|
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
tests/__init__.py,sha256=Bmsv0bLu2Hx-b7RZVvEzoodqYxE37hHd7fXCF2cT5pg,176
|
|
2
|
-
tests/benchmark_models.py,sha256=
|
|
2
|
+
tests/benchmark_models.py,sha256=Vd-wojefr4s50GxQDFRdFrppiPIMwSTxmf5GHbzoFOU,44052
|
|
3
3
|
tests/conftest.py,sha256=Y9lOptmjCFQ4VI0zmlOF80ERbkskwAn2XEWOk5CwMaQ,9362
|
|
4
4
|
tests/endpoint.py,sha256=bOmjEjLt7PIR3s74M0HOtFj43l4k1s0urBUQNMUVKS0,2749
|
|
5
5
|
tests/run_tests.py,sha256=juM7vnTz7B8Gr6DKD8L5zBPbgBQf_RQnjRkmsQPeWYw,3338
|
|
6
|
-
tests/test_agent.py,sha256=
|
|
6
|
+
tests/test_agent.py,sha256=fAy7XpiQPKpCfDblka0Gr4kOtOnnBK0FXS7HZ9s04Fc,7007
|
|
7
7
|
tests/test_agent_fallback_memory.py,sha256=1LoRHxUM767bGmCeusPlGubX_pIeP5KxIABRwdWLJGo,10862
|
|
8
8
|
tests/test_agent_memory_consistency.py,sha256=D8ivCGp5reJyOK7Q6wDiZlv3bKX4-SEchnqocyib1Po,8966
|
|
9
9
|
tests/test_agent_type.py,sha256=hx0FPKhhP-zaT2Z7MYlrZw10srws8VUQgBoZk2-vUxY,5155
|
|
10
10
|
tests/test_api_endpoint.py,sha256=PrfV6kWvq5icm3zLgrse9isBsR6EkwfUtSdz1ADSUUs,5115
|
|
11
|
-
tests/test_bedrock.py,sha256=
|
|
11
|
+
tests/test_bedrock.py,sha256=zbZYzhep1N4EwS2QdN2XKYlRUjApFb-8PoBZmVuubAU,7465
|
|
12
12
|
tests/test_fallback.py,sha256=LQtnYoK-NohJL3D3pQnlY0yrIGs2B25j6B3gX3wGM1c,3073
|
|
13
|
-
tests/test_gemini.py,sha256=
|
|
14
|
-
tests/test_groq.py,sha256=
|
|
15
|
-
tests/test_openai.py,sha256=
|
|
13
|
+
tests/test_gemini.py,sha256=2MoW-xK6WFEMN6gsSKkJ1n_anIVnCwVrTjjN-n1gdIE,5761
|
|
14
|
+
tests/test_groq.py,sha256=LxNZXp2qXybYT6-VWDaNwJsZ9-EsbRykRko1sYZNqXc,8139
|
|
15
|
+
tests/test_openai.py,sha256=2xlvNiPeKiT_StpT6ItVRG6z8QpIOmq7A95ATq1S3yg,10830
|
|
16
16
|
tests/test_private_llm.py,sha256=O5sQfZ_NgE2S1-YJ6eMRn1Gz17XkRjEk9O0iHGACRu0,2752
|
|
17
17
|
tests/test_react_error_handling.py,sha256=xAozh77qNSvaEzMDHjw2blbDNVUY-5qfvBldD_YHCQQ,11198
|
|
18
18
|
tests/test_react_memory.py,sha256=3YAPhrWAjmDcT2jm2IfxBx2LSWJGkpYUhWQiVt-qXFs,10177
|
|
19
|
-
tests/test_react_streaming.py,sha256=
|
|
19
|
+
tests/test_react_streaming.py,sha256=yaqQVGPXWPnKGoJfkRZ4hufgQPXmfkKWsu5sfoQGXm4,5751
|
|
20
20
|
tests/test_react_workflow_events.py,sha256=sd7CZbgaQIEhb7d0E8VMXC-ivKTQzZvZaRt5QAPFUyA,15118
|
|
21
21
|
tests/test_return_direct.py,sha256=ZhcgkRNGqPQFAYm8moY3HLLIpwdFuAyjShE3F6L16lQ,1522
|
|
22
22
|
tests/test_serialization.py,sha256=DJZ2E_K54t8INwZR0Q8gS1wi-MGbLIheOBcbRmZNcro,5383
|
|
@@ -30,30 +30,30 @@ tests/test_workflow.py,sha256=43YUF-0YDbiiJrTSYjnyqrC4gvHYuHQp7uuzV2jMdTE,3553
|
|
|
30
30
|
vectara_agentic/__init__.py,sha256=CfS3QR4drKygcTcyH5zUUDuXXQ3WZtTCytz8W4-loeE,1077
|
|
31
31
|
vectara_agentic/_callback.py,sha256=hYbHU_3sMF4-h0YMierZ9EEWspakNixk7wXAAWztlmU,15364
|
|
32
32
|
vectara_agentic/_observability.py,sha256=rApfdndB2R021iM0xG4MumTSDX1Ba6qbNM0N_AOTbR0,4884
|
|
33
|
-
vectara_agentic/_version.py,sha256=
|
|
34
|
-
vectara_agentic/agent.py,sha256=
|
|
33
|
+
vectara_agentic/_version.py,sha256=YPyUmZTSai1XaNSO7h7qjHY96xXytEyltsPXdnRuPUI,65
|
|
34
|
+
vectara_agentic/agent.py,sha256=AxtSdl05wYxPGsXV9p40ppnKBbGhlDNijBHPn3SLlWg,48552
|
|
35
35
|
vectara_agentic/agent_config.py,sha256=njqEX2qHJjAp2KpNuJglgZhyWXPK74wjIjBPACD6w7w,4074
|
|
36
36
|
vectara_agentic/agent_endpoint.py,sha256=E_AF-YwxaKqd1-p43X62e1e4ugwOWKIyNq4RWOfsO7A,7402
|
|
37
|
-
vectara_agentic/db_tools.py,sha256=
|
|
38
|
-
vectara_agentic/llm_utils.py,sha256=
|
|
39
|
-
vectara_agentic/sub_query_workflow.py,sha256=
|
|
37
|
+
vectara_agentic/db_tools.py,sha256=OcHYH-4bjgjKU2fUpeWyanO157AMalda5LSQAGiMfwY,11640
|
|
38
|
+
vectara_agentic/llm_utils.py,sha256=bHpQA8-5LSiqNj5SuuhlYLYYv9vzxbfzr2uLh5GYjZk,11010
|
|
39
|
+
vectara_agentic/sub_query_workflow.py,sha256=2pOhE_O6nUw4moQK11QOo7ATcMjlkiJBhlz7T0oumFI,13199
|
|
40
40
|
vectara_agentic/tool_utils.py,sha256=whnQlk9coeIt01sqUnKnzUorefgn96yWqhtRfHxNL84,25921
|
|
41
|
-
vectara_agentic/tools.py,sha256=
|
|
41
|
+
vectara_agentic/tools.py,sha256=7uW7O1JPeCfN2ndSbxNeynEd3L_NvfwfD2PM2zqix6k,41612
|
|
42
42
|
vectara_agentic/tools_catalog.py,sha256=p6eRram-diJyMz5dZI703auSAm97FfW5wLAMyz_2sB0,4634
|
|
43
43
|
vectara_agentic/types.py,sha256=qKkK8vRNiLvEcMInMyOClK2bD7iFlrWGTkl3fGC6Xic,6117
|
|
44
|
-
vectara_agentic/utils.py,sha256=
|
|
44
|
+
vectara_agentic/utils.py,sha256=gdELFBl98PNFdWCD9Qyz00ZrviQ8JS9jYkbx9aY-l8M,3787
|
|
45
45
|
vectara_agentic/agent_core/__init__.py,sha256=R3KGbSOiY21FOjbeQ_GyIi6uR9Rz7PTfudO9RjSuEZQ,722
|
|
46
|
-
vectara_agentic/agent_core/factory.py,sha256=
|
|
47
|
-
vectara_agentic/agent_core/prompts.py,sha256=
|
|
48
|
-
vectara_agentic/agent_core/serialization.py,sha256=
|
|
49
|
-
vectara_agentic/agent_core/streaming.py,sha256=
|
|
46
|
+
vectara_agentic/agent_core/factory.py,sha256=NQjz2yDwFXM5v45-1BFhl47lfmrPCmSxkgq1Gd9WhyA,14402
|
|
47
|
+
vectara_agentic/agent_core/prompts.py,sha256=Rhoku-uL2pa0HnxT-toL4Kr0mTyyuReCgZ2Euw5eTIg,11510
|
|
48
|
+
vectara_agentic/agent_core/serialization.py,sha256=CPC4jeMX-2OlCZ3T4hjBCRSZlLyA3Q0xjjIZUJD8JUQ,11860
|
|
49
|
+
vectara_agentic/agent_core/streaming.py,sha256=yeV0M9C-QzJ3GDB1ra9Cpk068msG1u9s8Jd29fk3030,25396
|
|
50
50
|
vectara_agentic/agent_core/utils/__init__.py,sha256=y5Xf0IH-5TRxMBRA9IyhmWnGZOVIyqV45P6lX4c2Qsc,762
|
|
51
|
-
vectara_agentic/agent_core/utils/hallucination.py,sha256=
|
|
51
|
+
vectara_agentic/agent_core/utils/hallucination.py,sha256=buJpB8asIlkkmuvLIFKcVfVblsttjiighTHi1GnjG7Y,6394
|
|
52
52
|
vectara_agentic/agent_core/utils/logging.py,sha256=-Ll8iUelml92WuhNWScuY6H-RheyZOTBHNxXQ1UGy0M,1701
|
|
53
53
|
vectara_agentic/agent_core/utils/schemas.py,sha256=4sEyQ-_z-eZJzgxCJf62AuBgV7RN1Azc9mLPPlj6IWg,2769
|
|
54
54
|
vectara_agentic/agent_core/utils/tools.py,sha256=JQmiWldJd2_9SXE9cCEF9u4ESLJr15-JemORAAZbgnk,5068
|
|
55
|
-
vectara_agentic-0.4.
|
|
56
|
-
vectara_agentic-0.4.
|
|
57
|
-
vectara_agentic-0.4.
|
|
58
|
-
vectara_agentic-0.4.
|
|
59
|
-
vectara_agentic-0.4.
|
|
55
|
+
vectara_agentic-0.4.9.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
56
|
+
vectara_agentic-0.4.9.dist-info/METADATA,sha256=ORKSviCTSA_0mMDsEQSCwyLvtyJIyNg_y-2WCJjhEuI,39114
|
|
57
|
+
vectara_agentic-0.4.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
58
|
+
vectara_agentic-0.4.9.dist-info/top_level.txt,sha256=Y7TQTFdOYGYodQRltUGRieZKIYuzeZj2kHqAUpfCUfg,22
|
|
59
|
+
vectara_agentic-0.4.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|