Skip to content
This repository has been archived by the owner on Mar 1, 2024. It is now read-only.

Add downloadable modules #646

Merged
merged 88 commits into from
Nov 22, 2023
Merged
Changes from 1 commit
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
21d88dc
wip
logan-markewich Nov 14, 2023
bddebe3
wip
logan-markewich Nov 14, 2023
e7bc16b
json
logan-markewich Nov 14, 2023
f6a56e8
update readmes
logan-markewich Nov 14, 2023
621827f
update readmes
logan-markewich Nov 14, 2023
2618c97
add zephyr query engine pack
logan-markewich Nov 16, 2023
696773e
added llama packs for llava completion
wenqiglantz-agi Nov 16, 2023
791c476
Update library.json
wenqiglantz Nov 16, 2023
9e8fa67
Merge branch 'main' into llama_packs
wenqiglantz Nov 16, 2023
095e345
Update base.py
wenqiglantz Nov 16, 2023
fb5a84a
Merge pull request #1 from wenqiglantz/llama_packs
logan-markewich Nov 16, 2023
6defe0f
Merge branch 'run-llama:main' into main
logan-markewich Nov 17, 2023
a0cd4e6
basic tests
logan-markewich Nov 17, 2023
723b518
fix gmail agent
logan-markewich Nov 17, 2023
df1fb6f
llama pack implementation, documentation, and notebook
axiomofjoy Nov 18, 2023
9911a6b
incorporate pr feedback
axiomofjoy Nov 18, 2023
6ec8d23
update readme
axiomofjoy Nov 18, 2023
a06fff6
Create streamlit_app.py
carolinefrasca Nov 19, 2023
47619bf
Create requirements.txt
carolinefrasca Nov 19, 2023
b97eaea
Create README.md
carolinefrasca Nov 19, 2023
f0997ab
Add files via upload
carolinefrasca Nov 19, 2023
b5e1608
Update README.md
carolinefrasca Nov 19, 2023
412ae3a
wip
Disiok Nov 19, 2023
b55a284
wip
Disiok Nov 19, 2023
285b84c
wip
Disiok Nov 19, 2023
25804f8
Update README.md
carolinefrasca Nov 19, 2023
32d5c6c
Update README.md
carolinefrasca Nov 19, 2023
df4e929
incorporate pr feedback
axiomofjoy Nov 20, 2023
80a8ba4
Merge pull request #2 from axiomofjoy/arize-phoenix-llama-pack
logan-markewich Nov 20, 2023
f42343b
update format
logan-markewich Nov 20, 2023
136f02d
Merge pull request #3 from carolinedlu/main
logan-markewich Nov 20, 2023
78df2a4
fix streamlit
logan-markewich Nov 20, 2023
b3fe3e3
adding deeplake's packs
AdkSarsen Nov 20, 2023
a5eb983
adding trailing lines in inits
AdkSarsen Nov 20, 2023
42eb7e6
Fix copy
carolinefrasca Nov 20, 2023
30b5924
fix copy
carolinefrasca Nov 20, 2023
49b8964
Merge pull request #6 from carolinedlu/main
logan-markewich Nov 20, 2023
6516af9
minor tweaks
logan-markewich Nov 20, 2023
7e99e3a
add library json
logan-markewich Nov 20, 2023
9f7c44b
Merge branch 'main' into deeplake_packs
logan-markewich Nov 20, 2023
c7ba7bd
Merge pull request #7 from logan-markewich/deeplake_packs
logan-markewich Nov 20, 2023
cc83e90
add redis ingest
logan-markewich Nov 20, 2023
0b70bc7
add to library
Disiok Nov 20, 2023
89ca038
Merge branch 'main' into suo/resume
logan-markewich Nov 20, 2023
3fec974
Merge pull request #4 from Disiok/suo/resume
logan-markewich Nov 20, 2023
cdda85a
tests
logan-markewich Nov 20, 2023
dfe36b1
linting
logan-markewich Nov 20, 2023
ab7ed0f
trulens packs
joshreini1 Nov 21, 2023
2959ff2
readme center title
joshreini1 Nov 21, 2023
d07b0dd
readme header
joshreini1 Nov 21, 2023
727e5ad
title
joshreini1 Nov 21, 2023
59a0705
cta in readme
joshreini1 Nov 21, 2023
e850cff
update readme to 3 pack
joshreini1 Nov 21, 2023
c4651b8
md change
joshreini1 Nov 21, 2023
c36e01e
md change to readme
joshreini1 Nov 21, 2023
4a5dc14
uncomment pip install
joshreini1 Nov 21, 2023
decd22f
linting
logan-markewich Nov 21, 2023
f234a42
linting
logan-markewich Nov 21, 2023
26bdb70
reqs
logan-markewich Nov 21, 2023
8338511
shorten readme
logan-markewich Nov 21, 2023
c341a82
add library json
logan-markewich Nov 21, 2023
44262d0
linting
logan-markewich Nov 21, 2023
7251524
linting
logan-markewich Nov 21, 2023
d20c9db
Merge pull request #8 from joshreini1/main
logan-markewich Nov 21, 2023
195f7c7
feat: OpenAI Image Generation Tool (#628)
EmanuelCampos Nov 18, 2023
88cdab0
wip
nerdai Nov 21, 2023
16f5922
first gradio chatbot up and running
nerdai Nov 21, 2023
120ec5b
streaming works
nerdai Nov 21, 2023
c75cf7c
wip
nerdai Nov 21, 2023
b62c67a
get everything working with two tools
nerdai Nov 21, 2023
74e0323
wip
nerdai Nov 21, 2023
fa193bd
wip
nerdai Nov 21, 2023
4387d3e
Merge pull request #10 from nerdai/nerdai/gradio_chatbot
logan-markewich Nov 21, 2023
b15ac2b
Add timescale vector auto retriever pack
cevian Nov 21, 2023
3d3deee
update readme
logan-markewich Nov 21, 2023
8b39a8d
update readmes
logan-markewich Nov 21, 2023
dab4f18
delay import
logan-markewich Nov 21, 2023
e80f6b8
linting
logan-markewich Nov 21, 2023
1d10463
update readme
logan-markewich Nov 21, 2023
a09bec6
Merge pull request #11 from cevian/add_timescale_vector_ar_pack
logan-markewich Nov 21, 2023
6b42afc
move folders
logan-markewich Nov 22, 2023
7c7f630
fix test
logan-markewich Nov 22, 2023
12818d3
Added voyage query engine
Liuhong99 Nov 22, 2023
321cdf7
merge main
logan-markewich Nov 22, 2023
c8861c8
linting
logan-markewich Nov 22, 2023
64cb191
linting
logan-markewich Nov 22, 2023
da2d4a9
Merge pull request #13 from voyage-ai/main
logan-markewich Nov 22, 2023
0247a10
linting
logan-markewich Nov 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
update readmes
logan-markewich committed Nov 14, 2023
commit f6a56e86df3a765267a0f0b11866cfd181e5b0fb
49 changes: 49 additions & 0 deletions llama_hub/llama_packs/chroma_autoretrieval/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Chroma AutoRetrieval Pack

This LlamaPack inserts your data into chroma and insantiates an auto-retriever, which will use the LLM at runtime to set metadata filtering, top-k, and query string.

## Usage

```
from llama_index.llama_packs import download_llama_pack

# download and install dependencies
ChromaAutoretrievalPack = download_llama_pack("ChromaAutoretrievalPack")

# setup pack arguments
from llama_index.vector_stores.types import MetadataInfo, VectorStoreInfo

vector_store_info = VectorStoreInfo(
content_info="brief biography of celebrities",
metadata_info=[
MetadataInfo(
name="category",
type="str",
description=(
"Category of the celebrity, one of [Sports Entertainment, Business, Music]"
),
),
],
)

import chromadb
client = chromadb.EphemeralClient()

nodes = [...]

# create the pack
chroma_pack = ChromaAutoretrievalPack(
collection_name="test",
vector_store_info=vector_store_index
nodes=nodes,
client=client
)

# use the retreiver
retriever = chroma_pack.retriever
nodes = retriever.retrieve("query_str")

# use the query engine
query_engine = chroma_pack.query_engine
response = query_engine.query("query_str")
```
31 changes: 19 additions & 12 deletions llama_hub/llama_packs/chroma_autoretrieval/base.py
Original file line number Diff line number Diff line change
@@ -22,39 +22,46 @@ def __init__(
self,
collection_name: str,
vector_store_info: VectorStoreInfo,
nodes: List[TextNode],
nodes: Optional[List[TextNode]] = None,
client: Optional[Any] = None,
**kwargs: Any,
) -> None:
"""Init params."""
import chromadb

chroma_client = client or chromadb.EphemeralClient()
chroma_collection = chroma_client.create_collection(collection_name)
chroma_collection = chroma_client.get_or_create_collection(collection_name)

self._vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
self._storage_context = StorageContext.from_defaults(
vector_store=self._vector_store
)
self._index = VectorStoreIndex(nodes, storage_context=self._storage_context)
self._retriever = VectorIndexAutoRetriever(

if nodes is not None:
self._storage_context = StorageContext.from_defaults(
vector_store=self._vector_store
)
self._index = VectorStoreIndex(nodes, storage_context=self._storage_context, **kwargs)
else:
self._index = VectorStoreIndex.from_vector_store(self._vector_store, **kwargs)
self._storage_context = self._index.storage_context

self.retriever = VectorIndexAutoRetriever(
self._index, vector_store_info=vector_store_info
)
self._query_engine = RetrieverQueryEngine(self._retriever)
self.query_engine = RetrieverQueryEngine(self.retriever)

def get_modules(self) -> Dict[str, Any]:
"""Get modules."""
return {
"vector_store": self._vector_store,
"storage_context": self._storage_context,
"index": self._index,
"retriever": self._retriever,
"query_engine": self._query_engine,
"retriever": self.retriever,
"query_engine": self.query_engine,
}

def retrieve(self, query_str: str) -> Any:
"""Retrieve."""
return self._retriever.retrieve(query_str)
return self.retriever.retrieve(query_str)

def run(self, *args: Any, **kwargs: Any) -> Any:
"""Run the pipeline."""
return self._query_engine.query(*args, **kwargs)
return self.query_engine.query(*args, **kwargs)
23 changes: 23 additions & 0 deletions llama_hub/llama_packs/gmail_openai_agent/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Gmail OpenAI Agent Pack

Create an OpenAI agent pre-loaded with a tool to interact with Gmail. The tool used is the [Gmail LlamaHub tool](https://llamahub.ai/l/tools-gmail).

## Usage

```
from llama_index.llama_packs import download_llama_pack

# download and install dependencies
GmailOpenAIAgentPack = download_llama_pack("GmailOpenAIAgentPack")

gmail_agent_pack = GmailOpenAIAgentPack()

# Use the agent
agent = gmail_agent_pack.agent
response = agent.chat("What is my most recent email?")

# Use the tool spec in another agent
from llama_index.agents import ReActAgent
tool_spec = gmail_agent_pack.tool_spec
agent = ReActAgent.from_tools(tool_spec.to_tool_lost())
```
8 changes: 4 additions & 4 deletions llama_hub/llama_packs/gmail_openai_agent/base.py
Original file line number Diff line number Diff line change
@@ -15,13 +15,13 @@ def __init__(self, gmail_tool_kwargs: Dict[str, Any]) -> None:
except ImportError:
raise ImportError("llama_hub not installed.")

self._tool_spec = GmailToolSpec(**gmail_tool_kwargs)
self._agent = OpenAIAgent.from_tools()
self.tool_spec = GmailToolSpec(**gmail_tool_kwargs)
self.agent = OpenAIAgent.from_tools()

def get_modules(self) -> Dict[str, Any]:
"""Get modules."""
return {"gmail_tool": self._tool_spec, "agent": self._agent}
return {"gmail_tool": self.tool_spec, "agent": self.agent}

def run(self, *args: Any, **kwargs: Any) -> Any:
"""Run the pipeline."""
return self._agent.chat(*args, **kwargs)
return self.agent.chat(*args, **kwargs)