vectara-agentic 0.1.14__py3-none-any.whl → 0.1.16__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.
- vectara_agentic/__init__.py +2 -1
- vectara_agentic/_callback.py +0 -1
- vectara_agentic/_observability.py +18 -16
- vectara_agentic/_prompts.py +14 -8
- vectara_agentic/agent.py +105 -65
- vectara_agentic/agent_endpoint.py +63 -0
- vectara_agentic/tools.py +69 -67
- vectara_agentic/tools_catalog.py +26 -35
- vectara_agentic/types.py +0 -1
- vectara_agentic/utils.py +17 -14
- {vectara_agentic-0.1.14.dist-info → vectara_agentic-0.1.16.dist-info}/METADATA +69 -23
- vectara_agentic-0.1.16.dist-info/RECORD +18 -0
- {vectara_agentic-0.1.14.dist-info → vectara_agentic-0.1.16.dist-info}/WHEEL +1 -1
- vectara_agentic-0.1.14.dist-info/RECORD +0 -17
- {vectara_agentic-0.1.14.dist-info → vectara_agentic-0.1.16.dist-info}/LICENSE +0 -0
- {vectara_agentic-0.1.14.dist-info → vectara_agentic-0.1.16.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vectara_agentic
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.16
|
|
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,17 +16,17 @@ 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.11.
|
|
19
|
+
Requires-Dist: llama-index==0.11.18
|
|
20
20
|
Requires-Dist: llama-index-indices-managed-vectara==0.2.2
|
|
21
21
|
Requires-Dist: llama-index-agent-llm-compiler==0.2.0
|
|
22
22
|
Requires-Dist: llama-index-agent-openai==0.3.4
|
|
23
|
-
Requires-Dist: llama-index-llms-openai==0.2.
|
|
24
|
-
Requires-Dist: llama-index-llms-anthropic==0.3.
|
|
23
|
+
Requires-Dist: llama-index-llms-openai==0.2.15
|
|
24
|
+
Requires-Dist: llama-index-llms-anthropic==0.3.6
|
|
25
25
|
Requires-Dist: llama-index-llms-together==0.2.0
|
|
26
26
|
Requires-Dist: llama-index-llms-groq==0.2.0
|
|
27
|
-
Requires-Dist: llama-index-llms-fireworks==0.2.
|
|
28
|
-
Requires-Dist: llama-index-llms-cohere==0.3.
|
|
29
|
-
Requires-Dist: llama-index-llms-gemini==0.3.
|
|
27
|
+
Requires-Dist: llama-index-llms-fireworks==0.2.2
|
|
28
|
+
Requires-Dist: llama-index-llms-cohere==0.3.1
|
|
29
|
+
Requires-Dist: llama-index-llms-gemini==0.3.7
|
|
30
30
|
Requires-Dist: llama-index-tools-yahoo-finance==0.2.0
|
|
31
31
|
Requires-Dist: llama-index-tools-arxiv==0.2.0
|
|
32
32
|
Requires-Dist: llama-index-tools-database==0.2.0
|
|
@@ -46,7 +46,7 @@ Requires-Dist: python-dotenv==1.0.1
|
|
|
46
46
|
Requires-Dist: tiktoken==0.7.0
|
|
47
47
|
Requires-Dist: dill==0.3.8
|
|
48
48
|
|
|
49
|
-
# <img src=".github/assets/Vectara-logo.png" alt="Vectara Logo" width="30" height="30" style="vertical-align: middle;"> vectara-agentic
|
|
49
|
+
# <img src="https://raw.githubusercontent.com/vectara/py-vectara-agentic/main/.github/assets/Vectara-logo.png" alt="Vectara Logo" width="30" height="30" style="vertical-align: middle;"> vectara-agentic
|
|
50
50
|
|
|
51
51
|
<p align="center">
|
|
52
52
|
<a href="https://vectara.github.io/vectara-agentic-docs">Documentation</a> ·
|
|
@@ -68,13 +68,29 @@ Requires-Dist: dill==0.3.8
|
|
|
68
68
|
|
|
69
69
|
## ✨ Overview
|
|
70
70
|
|
|
71
|
-
`vectara-agentic` is a Python library for developing powerful AI assistants using Vectara and Agentic-RAG. It leverages the LlamaIndex Agent framework, customized for use with Vectara.
|
|
71
|
+
`vectara-agentic` is a Python library for developing powerful AI assistants and agents using Vectara and Agentic-RAG. It leverages the LlamaIndex Agent framework, customized for use with Vectara.
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
<p align="center">
|
|
74
|
+
<img src="https://raw.githubusercontent.com/vectara/py-vectara-agentic/main/.github/assets/diagram1.png" alt="Agentic RAG diagram" width="100%" style="vertical-align: middle;">
|
|
75
|
+
</p>
|
|
76
|
+
|
|
77
|
+
### Features
|
|
74
78
|
|
|
79
|
+
- Enables easy creation of custom AI assistants and agents.
|
|
80
|
+
- Create a Vectara RAG tool with a single line of code.
|
|
75
81
|
- Supports `ReAct`, `OpenAIAgent` and `LLMCompiler` agent types.
|
|
76
82
|
- Includes pre-built tools for various domains (e.g., finance, legal).
|
|
77
|
-
-
|
|
83
|
+
- Integrates with various LLM inference services like OpenAI, Anthropic, Gemini, GROQ, Together.AI, Cohere and Fireworks
|
|
84
|
+
- Built-in support for observability with Arize Phoenix
|
|
85
|
+
|
|
86
|
+
### 📚 Example AI Assistants
|
|
87
|
+
|
|
88
|
+
Check out our example AI assistants:
|
|
89
|
+
|
|
90
|
+
- [Financial Assistant](https://huggingface.co/spaces/vectara/finance-chat)
|
|
91
|
+
- [Justice Harvard Teaching Assistant](https://huggingface.co/spaces/vectara/Justice-Harvard)
|
|
92
|
+
- [Legal Assistant](https://huggingface.co/spaces/vectara/legal-agent)
|
|
93
|
+
|
|
78
94
|
|
|
79
95
|
### Prerequisites
|
|
80
96
|
|
|
@@ -197,7 +213,15 @@ When creating a VectaraToolFactory, you can pass in a `vectara_api_key`, `vectar
|
|
|
197
213
|
|
|
198
214
|
## ℹ️ Additional Information
|
|
199
215
|
|
|
200
|
-
###
|
|
216
|
+
### About Custom Instructions for your Agent
|
|
217
|
+
|
|
218
|
+
The custom instructions you provide to the agent guide its behavior.
|
|
219
|
+
Here are some guidelines when creating your instructions:
|
|
220
|
+
- Write precise and clear instructions, without overcomplicating.
|
|
221
|
+
- Consider edge cases and unusual or atypical scenarios.
|
|
222
|
+
- Be cautious to not over-specify behavior based on your primary use-case, as it may limit the agent's ability to behave properly in others.
|
|
223
|
+
|
|
224
|
+
### Diagnostics
|
|
201
225
|
|
|
202
226
|
The `Agent` class defines a few helpful methods to help you understand the internals of your application.
|
|
203
227
|
* The `report()` method prints out the agent object’s type, the tools, and the LLMs used for the main agent and tool calling.
|
|
@@ -224,21 +248,43 @@ Then you can use Arize Phoenix in three ways:
|
|
|
224
248
|
Now when you run your agent, all call traces are sent to Phoenix and recorded.
|
|
225
249
|
In addition, vectara-agentic also records `FCS` (factual consistency score, aka HHEM) values into Arize for every Vectara RAG call. You can see those results in the `Feedback` column of the arize UI.
|
|
226
250
|
|
|
227
|
-
|
|
251
|
+
## 🌐 API Endpoint
|
|
228
252
|
|
|
229
|
-
|
|
230
|
-
Here are some guidelines when creating your instructions:
|
|
231
|
-
- Write precise and clear instructions, without overcomplicating.
|
|
232
|
-
- Consider edge cases and unusual or atypical scenarios.
|
|
233
|
-
- Be cautious to not over-specify behavior based on your primary use-case, as it may limit the agent's ability to behave properly in others.
|
|
253
|
+
`vectara-agentic` can be easily hosted locally or on a remote machine behind an API endpoint, by following theses steps:
|
|
234
254
|
|
|
235
|
-
|
|
255
|
+
### Step 1: Setup your API key
|
|
256
|
+
Ensure that you have your API key set up as an environment variable:
|
|
236
257
|
|
|
237
|
-
|
|
258
|
+
```
|
|
259
|
+
export VECTARA_AGENTIC_API_KEY=<YOUR-ENDPOINT-API-KEY>
|
|
260
|
+
```
|
|
238
261
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
262
|
+
### Step 2: Start the API Server
|
|
263
|
+
Initialize the agent and start the FastAPI server by following this example:
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
from agent import Agent
|
|
268
|
+
from agent_endpoint import start_app
|
|
269
|
+
agent = Agent(...) # Initialize your agent with appropriate parameters
|
|
270
|
+
start_app(agent)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
You can customize the host and port by passing them as arguments to `start_app()`:
|
|
274
|
+
* Default: host="0.0.0.0" and port=8000.
|
|
275
|
+
For example:
|
|
276
|
+
```
|
|
277
|
+
start_app(agent, host="0.0.0.0", port=8000)
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Step 3: Access the API Endpoint
|
|
281
|
+
Once the server is running, you can interact with it using curl or any HTTP client. For example:
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
curl -G "http://<remote-server-ip>:8000/chat" \
|
|
285
|
+
--data-urlencode "message=What is Vectara?" \
|
|
286
|
+
-H "X-API-Key: <YOUR-API-KEY>"
|
|
287
|
+
```
|
|
242
288
|
|
|
243
289
|
## 🤝 Contributing
|
|
244
290
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
tests/test_agent.py,sha256=aQYYr_8hKlFiDgyI5Dd39TG5vkmDJe7F_nIzMTCLsTQ,2517
|
|
3
|
+
tests/test_tools.py,sha256=hDAlXkWKuXHnAjeQwMuTLTwNdRsM-xR7muBzFkZRefw,2942
|
|
4
|
+
vectara_agentic/__init__.py,sha256=ZlASMUqOFi5HTDFaRUEB3Egf_nUuUtr1X-TjPkZceLc,508
|
|
5
|
+
vectara_agentic/_callback.py,sha256=EexD7-Qx2lZuQk4kjzwvIJAyfIzroWKz2VaVPD4TTkM,4621
|
|
6
|
+
vectara_agentic/_observability.py,sha256=v0xxTk8KI8nVK2rpyGqOVhyva9ymqOmZK5brKqFOwMM,3828
|
|
7
|
+
vectara_agentic/_prompts.py,sha256=CxSKueS4lF130VMSovFKeapTM9DZ8Ja4akEFIw7q0Ks,5670
|
|
8
|
+
vectara_agentic/agent.py,sha256=9nzPVb16wpeT5RiWQJiO5LuR9VTYp8yScKUqqgem7h8,19963
|
|
9
|
+
vectara_agentic/agent_endpoint.py,sha256=I3zTEezbAiNeW5I41r0NjIaR8Ucn4oe1XVcALekakaA,1959
|
|
10
|
+
vectara_agentic/tools.py,sha256=_rXEK9tuuDMM_Zf04AoehklydTMSb1esqEYkNjLvmyY,20103
|
|
11
|
+
vectara_agentic/tools_catalog.py,sha256=CpFTTyocsTu-Sx8KjqSsZZhLditSrV-vRZd2YMFU0AY,4940
|
|
12
|
+
vectara_agentic/types.py,sha256=FbZXc5oPje6kdimfrksDc8F-tYHSLK8ReAv7O291YkI,1131
|
|
13
|
+
vectara_agentic/utils.py,sha256=7DgzU_hZIODrzuEfP8HP7l2dO9zEt8BObhO2tCTijow,3819
|
|
14
|
+
vectara_agentic-0.1.16.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
15
|
+
vectara_agentic-0.1.16.dist-info/METADATA,sha256=QYMmXzZBZwLvgr9rcx4dt0aE-upuJ3mqlJi7v5vt0T0,13595
|
|
16
|
+
vectara_agentic-0.1.16.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
17
|
+
vectara_agentic-0.1.16.dist-info/top_level.txt,sha256=Y7TQTFdOYGYodQRltUGRieZKIYuzeZj2kHqAUpfCUfg,22
|
|
18
|
+
vectara_agentic-0.1.16.dist-info/RECORD,,
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
tests/test_agent.py,sha256=aQYYr_8hKlFiDgyI5Dd39TG5vkmDJe7F_nIzMTCLsTQ,2517
|
|
3
|
-
tests/test_tools.py,sha256=hDAlXkWKuXHnAjeQwMuTLTwNdRsM-xR7muBzFkZRefw,2942
|
|
4
|
-
vectara_agentic/__init__.py,sha256=Byj1d6B-DWzwa-vvRsbh4dcfHDgH5AnP-AUaBFLi7c0,449
|
|
5
|
-
vectara_agentic/_callback.py,sha256=oRbGfSZtoG6UZA0LLbHtoUd1b3v7ACoc_CvIcHQOSqM,4670
|
|
6
|
-
vectara_agentic/_observability.py,sha256=6QGcVGt5mf0IXTS5EMZ6jUGCqZwZ6DGeTtPFnOnGSKg,3694
|
|
7
|
-
vectara_agentic/_prompts.py,sha256=BhvNiGcmkt7aIf888FtG4Pum-ZEh--pbqtTp70ZISoY,4729
|
|
8
|
-
vectara_agentic/agent.py,sha256=DBTAVup0lZe-gG_nCXzxcdtX7XUDSeW7dAg7eNsAQac,18414
|
|
9
|
-
vectara_agentic/tools.py,sha256=HMXvCcEqXszlidoFigEutuk-7WlJlkeG_fc6Jr_gG_A,19455
|
|
10
|
-
vectara_agentic/tools_catalog.py,sha256=qojmqmA3DGYzA0mdeS0vycCh7w_R-3RMoV56lyYrbhw,5519
|
|
11
|
-
vectara_agentic/types.py,sha256=SGkqKusZC6RpRnWdD2YSUq4uMQ3B4jP6qBWehPmeOdI,1132
|
|
12
|
-
vectara_agentic/utils.py,sha256=TY0EHZ1vyc_xNKJoJYGdIce21_M3tQI50Hjumv-eOII,3797
|
|
13
|
-
vectara_agentic-0.1.14.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
14
|
-
vectara_agentic-0.1.14.dist-info/METADATA,sha256=_OpYgV5AkGZerUdZ34YweTU9SW4uPsAp87AgNofq4RE,12014
|
|
15
|
-
vectara_agentic-0.1.14.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
16
|
-
vectara_agentic-0.1.14.dist-info/top_level.txt,sha256=Y7TQTFdOYGYodQRltUGRieZKIYuzeZj2kHqAUpfCUfg,22
|
|
17
|
-
vectara_agentic-0.1.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|