Spaces:
Sleeping
Sleeping
Kate Forsberg
commited on
Commit
·
2adad16
1
Parent(s):
727c6b5
added threads
Browse files- app.py +54 -18
- poetry.lock +38 -33
- pyproject.toml +3 -3
app.py
CHANGED
|
@@ -1,7 +1,9 @@
|
|
| 1 |
import glob
|
|
|
|
| 2 |
import gradio as gr
|
| 3 |
from typing import Any
|
| 4 |
from dotenv import load_dotenv
|
|
|
|
| 5 |
from griptape.structures import Agent
|
| 6 |
from griptape.tasks import PromptTask
|
| 7 |
from griptape.drivers import (
|
|
@@ -9,19 +11,49 @@ from griptape.drivers import (
|
|
| 9 |
GriptapeCloudStructureRunDriver,
|
| 10 |
LocalFileManagerDriver,
|
| 11 |
LocalStructureRunDriver,
|
|
|
|
| 12 |
)
|
| 13 |
from griptape.memory.structure import ConversationMemory
|
| 14 |
-
from griptape.tools import
|
| 15 |
from griptape.rules import Rule, Ruleset
|
| 16 |
-
from griptape.
|
|
|
|
| 17 |
import time
|
| 18 |
import os
|
| 19 |
-
import
|
| 20 |
|
| 21 |
|
| 22 |
# Load environment variables
|
| 23 |
load_dotenv()
|
| 24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
# Create an agent that will create a prompt that can be used as input for the query agent from the Griptape Cloud.
|
| 27 |
|
|
@@ -49,7 +81,7 @@ def bot(history):
|
|
| 49 |
def create_prompt_task(session_id: str, message: str) -> PromptTask:
|
| 50 |
return PromptTask(
|
| 51 |
f"""
|
| 52 |
-
Re-structure the values from the user's questions: '{message}' and the input value from the conversation memory
|
| 53 |
years experience: <x>
|
| 54 |
location: <x>
|
| 55 |
role: <x>
|
|
@@ -64,6 +96,9 @@ def create_prompt_task(session_id: str, message: str) -> PromptTask:
|
|
| 64 |
|
| 65 |
|
| 66 |
def build_talk_agent(session_id: str, message: str) -> Agent:
|
|
|
|
|
|
|
|
|
|
| 67 |
ruleset = Ruleset(
|
| 68 |
name="Local Gradio Agent",
|
| 69 |
rules=[
|
|
@@ -81,16 +116,17 @@ def build_talk_agent(session_id: str, message: str) -> Agent:
|
|
| 81 |
),
|
| 82 |
],
|
| 83 |
)
|
| 84 |
-
file_manager_tool =
|
| 85 |
name="FileManager",
|
| 86 |
file_manager_driver=LocalFileManagerDriver(),
|
| 87 |
off_prompt=False,
|
| 88 |
)
|
| 89 |
|
| 90 |
return Agent(
|
| 91 |
-
config=AnthropicStructureConfig(),
|
| 92 |
conversation_memory=ConversationMemory(
|
| 93 |
-
driver=
|
|
|
|
|
|
|
| 94 |
),
|
| 95 |
tools=[file_manager_tool],
|
| 96 |
tasks=[create_prompt_task(session_id, message)],
|
|
@@ -102,6 +138,8 @@ def build_talk_agent(session_id: str, message: str) -> Agent:
|
|
| 102 |
# The agent uses local memory, which it differentiates between by session_hash.
|
| 103 |
def build_agent(session_id: str, message: str) -> Agent:
|
| 104 |
|
|
|
|
|
|
|
| 105 |
ruleset = Ruleset(
|
| 106 |
name="Local Gradio Agent",
|
| 107 |
rules=[
|
|
@@ -129,7 +167,7 @@ def build_agent(session_id: str, message: str) -> Agent:
|
|
| 129 |
|
| 130 |
print("Base URL", os.environ.get("BASE_URL", "https://cloud.griptape.ai"))
|
| 131 |
|
| 132 |
-
query_client =
|
| 133 |
name="QueryResumeSearcher",
|
| 134 |
description="Use it to search for a candidate with the query.",
|
| 135 |
driver=GriptapeCloudStructureRunDriver(
|
|
@@ -141,7 +179,7 @@ def build_agent(session_id: str, message: str) -> Agent:
|
|
| 141 |
),
|
| 142 |
)
|
| 143 |
|
| 144 |
-
talk_client =
|
| 145 |
name="FormulateQueryFromUser",
|
| 146 |
description="Used to formulate a query from the user's input.",
|
| 147 |
driver=LocalStructureRunDriver(
|
|
@@ -150,29 +188,27 @@ def build_agent(session_id: str, message: str) -> Agent:
|
|
| 150 |
)
|
| 151 |
|
| 152 |
return Agent(
|
| 153 |
-
config=AnthropicStructureConfig(),
|
| 154 |
conversation_memory=ConversationMemory(
|
| 155 |
-
driver=
|
|
|
|
|
|
|
| 156 |
),
|
| 157 |
tools=[talk_client, query_client],
|
| 158 |
rulesets=[ruleset],
|
| 159 |
)
|
| 160 |
|
| 161 |
|
| 162 |
-
def delete_json(session_id: str) -> None:
|
| 163 |
-
for file in glob.glob(f"{session_id}.json"):
|
| 164 |
-
os.remove(file)
|
| 165 |
-
|
| 166 |
-
|
| 167 |
def send_message(message: str, history, request: gr.Request) -> Any:
|
| 168 |
if request:
|
| 169 |
session_hash = request.session_hash
|
| 170 |
agent = build_agent(session_hash, message)
|
| 171 |
response = agent.run(message)
|
| 172 |
-
# if re.search(r'\bdone[.,!?]?\b', message, re.IGNORECASE):
|
| 173 |
-
# delete_json(session_hash)
|
| 174 |
return response.output.value
|
| 175 |
|
| 176 |
|
| 177 |
demo = gr.ChatInterface(fn=send_message)
|
| 178 |
demo.launch()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import glob
|
| 2 |
+
from venv import create
|
| 3 |
import gradio as gr
|
| 4 |
from typing import Any
|
| 5 |
from dotenv import load_dotenv
|
| 6 |
+
import requests
|
| 7 |
from griptape.structures import Agent
|
| 8 |
from griptape.tasks import PromptTask
|
| 9 |
from griptape.drivers import (
|
|
|
|
| 11 |
GriptapeCloudStructureRunDriver,
|
| 12 |
LocalFileManagerDriver,
|
| 13 |
LocalStructureRunDriver,
|
| 14 |
+
GriptapeCloudConversationMemoryDriver,
|
| 15 |
)
|
| 16 |
from griptape.memory.structure import ConversationMemory
|
| 17 |
+
from griptape.tools import StructureRunTool, FileManagerTool
|
| 18 |
from griptape.rules import Rule, Ruleset
|
| 19 |
+
from griptape.configs.drivers import AnthropicDriversConfig
|
| 20 |
+
from griptape.configs import Defaults
|
| 21 |
import time
|
| 22 |
import os
|
| 23 |
+
from urllib.parse import urljoin
|
| 24 |
|
| 25 |
|
| 26 |
# Load environment variables
|
| 27 |
load_dotenv()
|
| 28 |
|
| 29 |
+
Defaults.drivers_config = AnthropicDriversConfig()
|
| 30 |
+
|
| 31 |
+
base_url = "https://cloud.griptape.ai"
|
| 32 |
+
|
| 33 |
+
headers_api = {
|
| 34 |
+
"Authorization": f"Bearer {os.environ['GT_CLOUD_API_KEY']}",
|
| 35 |
+
"Content-Type": "application/json",
|
| 36 |
+
}
|
| 37 |
+
|
| 38 |
+
threads = {}
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
def create_thread_id(session_id: str) -> str:
|
| 42 |
+
if not session_id in threads:
|
| 43 |
+
params = {
|
| 44 |
+
"name": session_id,
|
| 45 |
+
"messages": [],
|
| 46 |
+
}
|
| 47 |
+
response = requests.post(
|
| 48 |
+
url=urljoin(base_url, "/api/threads"), headers=headers_api, json=params
|
| 49 |
+
)
|
| 50 |
+
response.raise_for_status()
|
| 51 |
+
thread_id = response.json()["thread_id"]
|
| 52 |
+
threads[session_id] = thread_id
|
| 53 |
+
return thread_id
|
| 54 |
+
else:
|
| 55 |
+
return threads[session_id]
|
| 56 |
+
|
| 57 |
|
| 58 |
# Create an agent that will create a prompt that can be used as input for the query agent from the Griptape Cloud.
|
| 59 |
|
|
|
|
| 81 |
def create_prompt_task(session_id: str, message: str) -> PromptTask:
|
| 82 |
return PromptTask(
|
| 83 |
f"""
|
| 84 |
+
Re-structure the values from the user's questions: '{message}' and the input value from the conversation memory to fit the following format. Leave out attributes that aren't important to the user:
|
| 85 |
years experience: <x>
|
| 86 |
location: <x>
|
| 87 |
role: <x>
|
|
|
|
| 96 |
|
| 97 |
|
| 98 |
def build_talk_agent(session_id: str, message: str) -> Agent:
|
| 99 |
+
|
| 100 |
+
create_thread_id(session_id)
|
| 101 |
+
|
| 102 |
ruleset = Ruleset(
|
| 103 |
name="Local Gradio Agent",
|
| 104 |
rules=[
|
|
|
|
| 116 |
),
|
| 117 |
],
|
| 118 |
)
|
| 119 |
+
file_manager_tool = FileManagerTool(
|
| 120 |
name="FileManager",
|
| 121 |
file_manager_driver=LocalFileManagerDriver(),
|
| 122 |
off_prompt=False,
|
| 123 |
)
|
| 124 |
|
| 125 |
return Agent(
|
|
|
|
| 126 |
conversation_memory=ConversationMemory(
|
| 127 |
+
driver=GriptapeCloudConversationMemoryDriver(
|
| 128 |
+
thread_id=str(threads[session_id]),
|
| 129 |
+
)
|
| 130 |
),
|
| 131 |
tools=[file_manager_tool],
|
| 132 |
tasks=[create_prompt_task(session_id, message)],
|
|
|
|
| 138 |
# The agent uses local memory, which it differentiates between by session_hash.
|
| 139 |
def build_agent(session_id: str, message: str) -> Agent:
|
| 140 |
|
| 141 |
+
create_thread_id(session_id)
|
| 142 |
+
|
| 143 |
ruleset = Ruleset(
|
| 144 |
name="Local Gradio Agent",
|
| 145 |
rules=[
|
|
|
|
| 167 |
|
| 168 |
print("Base URL", os.environ.get("BASE_URL", "https://cloud.griptape.ai"))
|
| 169 |
|
| 170 |
+
query_client = StructureRunTool(
|
| 171 |
name="QueryResumeSearcher",
|
| 172 |
description="Use it to search for a candidate with the query.",
|
| 173 |
driver=GriptapeCloudStructureRunDriver(
|
|
|
|
| 179 |
),
|
| 180 |
)
|
| 181 |
|
| 182 |
+
talk_client = StructureRunTool(
|
| 183 |
name="FormulateQueryFromUser",
|
| 184 |
description="Used to formulate a query from the user's input.",
|
| 185 |
driver=LocalStructureRunDriver(
|
|
|
|
| 188 |
)
|
| 189 |
|
| 190 |
return Agent(
|
|
|
|
| 191 |
conversation_memory=ConversationMemory(
|
| 192 |
+
driver=GriptapeCloudConversationMemoryDriver(
|
| 193 |
+
thread_id=threads[session_id],
|
| 194 |
+
)
|
| 195 |
),
|
| 196 |
tools=[talk_client, query_client],
|
| 197 |
rulesets=[ruleset],
|
| 198 |
)
|
| 199 |
|
| 200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 201 |
def send_message(message: str, history, request: gr.Request) -> Any:
|
| 202 |
if request:
|
| 203 |
session_hash = request.session_hash
|
| 204 |
agent = build_agent(session_hash, message)
|
| 205 |
response = agent.run(message)
|
|
|
|
|
|
|
| 206 |
return response.output.value
|
| 207 |
|
| 208 |
|
| 209 |
demo = gr.ChatInterface(fn=send_message)
|
| 210 |
demo.launch()
|
| 211 |
+
|
| 212 |
+
# Set it back to empty when a session is done
|
| 213 |
+
# Is there a better way?
|
| 214 |
+
threads = {}
|
poetry.lock
CHANGED
|
@@ -212,22 +212,22 @@ files = [
|
|
| 212 |
|
| 213 |
[[package]]
|
| 214 |
name = "attrs"
|
| 215 |
-
version = "
|
| 216 |
description = "Classes Without Boilerplate"
|
| 217 |
optional = false
|
| 218 |
python-versions = ">=3.7"
|
| 219 |
files = [
|
| 220 |
-
{file = "attrs-
|
| 221 |
-
{file = "attrs-
|
| 222 |
]
|
| 223 |
|
| 224 |
[package.extras]
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
tests
|
| 230 |
-
tests-
|
| 231 |
|
| 232 |
[[package]]
|
| 233 |
name = "azure-core"
|
|
@@ -982,35 +982,33 @@ websockets = ">=10.0,<12.0"
|
|
| 982 |
|
| 983 |
[[package]]
|
| 984 |
name = "griptape"
|
| 985 |
-
version = "0.
|
| 986 |
description = "Modular Python framework for LLM workflows, tools, memory, and data."
|
| 987 |
optional = false
|
| 988 |
-
python-versions = "
|
| 989 |
-
files = [
|
| 990 |
-
|
| 991 |
-
{file = "griptape-0.29.1.tar.gz", hash = "sha256:9cea05fa198a6b5efb3d25bee024367fdf92a9452b02a7080e3216432849e2f4"},
|
| 992 |
-
]
|
| 993 |
|
| 994 |
[package.dependencies]
|
| 995 |
-
anthropic = {version = "
|
| 996 |
-
attrs = "
|
| 997 |
-
docker = "
|
| 998 |
-
jinja2 = "
|
| 999 |
-
marshmallow = "
|
| 1000 |
-
marshmallow-enum = "
|
| 1001 |
-
numpy = "
|
| 1002 |
-
openai = "
|
| 1003 |
-
pyyaml = "
|
| 1004 |
-
requests = "
|
| 1005 |
-
rich = "
|
| 1006 |
-
schema = "
|
| 1007 |
-
stringcase = "
|
| 1008 |
-
tenacity = "
|
| 1009 |
-
tiktoken = "
|
| 1010 |
-
voyageai = {version = "
|
| 1011 |
|
| 1012 |
[package.extras]
|
| 1013 |
-
all = ["accelerate (>=0.32.1,<0.33.0)", "anthropic (>=0.29.0,<0.30.0)", "beautifulsoup4 (>=4.12.3,<5.0.0)", "boto3 (>=1.34.119,<2.0.0)", "cohere (>=5.5.4,<6.0.0)", "diffusers (>=0.29.1,<0.30.0)", "duckduckgo-search (>=6.1.12,<7.0.0)", "elevenlabs (>=1.1.2,<2.0.0)", "filetype (>=1.2,<2.0)", "google-generativeai (>=0.7.2,<0.8.0)", "mail-parser (>=3.15.0,<4.0.0)", "markdownify (>=0.11.6,<0.12.0)", "marqo (>=3.7.0,<4.0.0)", "ollama (>=0.3.0,<0.4.0)", "opensearch-py (>=2.3.1,<3.0.0)", "opentelemetry-api (>=1.25.0,<2.0.0)", "opentelemetry-exporter-otlp-proto-http (>=1.25.0,<2.0.0)", "opentelemetry-instrumentation (>=0.46b0,<0.47)", "opentelemetry-instrumentation-threading (>=0.46b0,<0.47)", "opentelemetry-sdk (>=1.25.0,<2.0.0)", "pandas (>=1.3,<2.0)", "pgvector (>=0.2.3,<0.3.0)", "pillow (>=10.2.0,<11.0.0)", "pinecone-client (>=3,<4)", "playwright (>=1.42,<2.0)", "psycopg2-binary (>=2.9.9,<3.0.0)", "pusher (>=3.3.2,<4.0.0)", "pymongo (>=4.8.0,<5.0.0)", "pypdf (>=3.9,<4.0)", "qdrant-client (>=1.10.1,<2.0.0)", "redis (>=4.6.0,<5.0.0)", "sentencepiece (>=0.2.0,<0.3.0)", "snowflake-sqlalchemy (>=1.6.1,<2.0.0)", "sqlalchemy (>=2.0.31,<3.0.0)", "torch (>=2.3.1,<3.0.0)", "trafilatura (>=1.6,<2.0)", "transformers[torch] (>=4.41.1,<5.0.0)", "voyageai (>=0.2.1,<0.3.0)"]
|
| 1014 |
drivers-embedding-amazon-bedrock = ["boto3 (>=1.34.119,<2.0.0)"]
|
| 1015 |
drivers-embedding-amazon-sagemaker = ["boto3 (>=1.34.119,<2.0.0)"]
|
| 1016 |
drivers-embedding-cohere = ["cohere (>=5.5.4,<6.0.0)"]
|
|
@@ -1041,6 +1039,7 @@ drivers-sql-amazon-redshift = ["boto3 (>=1.34.119,<2.0.0)"]
|
|
| 1041 |
drivers-sql-snowflake = ["snowflake-sqlalchemy (>=1.6.1,<2.0.0)", "sqlalchemy (>=2.0.31,<3.0.0)"]
|
| 1042 |
drivers-text-to-speech-elevenlabs = ["elevenlabs (>=1.1.2,<2.0.0)"]
|
| 1043 |
drivers-vector-amazon-opensearch = ["boto3 (>=1.34.119,<2.0.0)", "opensearch-py (>=2.3.1,<3.0.0)"]
|
|
|
|
| 1044 |
drivers-vector-marqo = ["marqo (>=3.7.0,<4.0.0)"]
|
| 1045 |
drivers-vector-mongodb = ["pymongo (>=4.8.0,<5.0.0)"]
|
| 1046 |
drivers-vector-opensearch = ["opensearch-py (>=2.3.1,<3.0.0)"]
|
|
@@ -1058,6 +1057,12 @@ loaders-image = ["pillow (>=10.2.0,<11.0.0)"]
|
|
| 1058 |
loaders-pdf = ["pypdf (>=3.9,<4.0)"]
|
| 1059 |
loaders-sql = ["sqlalchemy (>=2.0.31,<3.0.0)"]
|
| 1060 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1061 |
[[package]]
|
| 1062 |
name = "h11"
|
| 1063 |
version = "0.14.0"
|
|
@@ -3331,4 +3336,4 @@ multidict = ">=4.0"
|
|
| 3331 |
[metadata]
|
| 3332 |
lock-version = "2.0"
|
| 3333 |
python-versions = "^3.11"
|
| 3334 |
-
content-hash = "
|
|
|
|
| 212 |
|
| 213 |
[[package]]
|
| 214 |
name = "attrs"
|
| 215 |
+
version = "24.2.0"
|
| 216 |
description = "Classes Without Boilerplate"
|
| 217 |
optional = false
|
| 218 |
python-versions = ">=3.7"
|
| 219 |
files = [
|
| 220 |
+
{file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"},
|
| 221 |
+
{file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"},
|
| 222 |
]
|
| 223 |
|
| 224 |
[package.extras]
|
| 225 |
+
benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
| 226 |
+
cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
| 227 |
+
dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
| 228 |
+
docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
|
| 229 |
+
tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
| 230 |
+
tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"]
|
| 231 |
|
| 232 |
[[package]]
|
| 233 |
name = "azure-core"
|
|
|
|
| 982 |
|
| 983 |
[[package]]
|
| 984 |
name = "griptape"
|
| 985 |
+
version = "0.30.1"
|
| 986 |
description = "Modular Python framework for LLM workflows, tools, memory, and data."
|
| 987 |
optional = false
|
| 988 |
+
python-versions = "^3.9"
|
| 989 |
+
files = []
|
| 990 |
+
develop = false
|
|
|
|
|
|
|
| 991 |
|
| 992 |
[package.dependencies]
|
| 993 |
+
anthropic = {version = "^0.29.0", optional = true}
|
| 994 |
+
attrs = "^24.2.0"
|
| 995 |
+
docker = "^7.1.0"
|
| 996 |
+
jinja2 = "^3.1.4"
|
| 997 |
+
marshmallow = "^3.21.3"
|
| 998 |
+
marshmallow-enum = "^1.5.1"
|
| 999 |
+
numpy = "^1.26.4"
|
| 1000 |
+
openai = "^1.1.1"
|
| 1001 |
+
pyyaml = "^6.0.1"
|
| 1002 |
+
requests = "^2.32.0"
|
| 1003 |
+
rich = "^13.7.1"
|
| 1004 |
+
schema = "^0.7.7"
|
| 1005 |
+
stringcase = "^1.2.0"
|
| 1006 |
+
tenacity = "^8.5.0"
|
| 1007 |
+
tiktoken = "^0.7"
|
| 1008 |
+
voyageai = {version = "^0.2.1", optional = true}
|
| 1009 |
|
| 1010 |
[package.extras]
|
| 1011 |
+
all = ["accelerate (>=0.32.1,<0.33.0)", "anthropic (>=0.29.0,<0.30.0)", "astrapy (>=1.4,<2.0)", "beautifulsoup4 (>=4.12.3,<5.0.0)", "boto3 (>=1.34.119,<2.0.0)", "cohere (>=5.5.4,<6.0.0)", "diffusers (>=0.29.1,<0.30.0)", "duckduckgo-search (>=6.1.12,<7.0.0)", "elevenlabs (>=1.1.2,<2.0.0)", "filetype (>=1.2,<2.0)", "google-generativeai (>=0.7.2,<0.8.0)", "mail-parser (>=3.15.0,<4.0.0)", "markdownify (>=0.11.6,<0.12.0)", "marqo (>=3.7.0,<4.0.0)", "ollama (>=0.3.0,<0.4.0)", "opensearch-py (>=2.3.1,<3.0.0)", "opentelemetry-api (>=1.25.0,<2.0.0)", "opentelemetry-exporter-otlp-proto-http (>=1.25.0,<2.0.0)", "opentelemetry-instrumentation (>=0.46b0,<0.47)", "opentelemetry-instrumentation-threading (>=0.46b0,<0.47)", "opentelemetry-sdk (>=1.25.0,<2.0.0)", "pandas (>=1.3,<2.0)", "pgvector (>=0.2.3,<0.3.0)", "pillow (>=10.2.0,<11.0.0)", "pinecone-client (>=3,<4)", "playwright (>=1.42,<2.0)", "psycopg2-binary (>=2.9.9,<3.0.0)", "pusher (>=3.3.2,<4.0.0)", "pymongo (>=4.8.0,<5.0.0)", "pypdf (>=3.9,<4.0)", "qdrant-client (>=1.10.1,<2.0.0)", "redis (>=4.6.0,<5.0.0)", "sentencepiece (>=0.2.0,<0.3.0)", "snowflake-sqlalchemy (>=1.6.1,<2.0.0)", "sqlalchemy (>=2.0.31,<3.0.0)", "torch (>=2.3.1,<3.0.0)", "trafilatura (>=1.6,<2.0)", "transformers[torch] (>=4.41.1,<5.0.0)", "voyageai (>=0.2.1,<0.3.0)"]
|
| 1012 |
drivers-embedding-amazon-bedrock = ["boto3 (>=1.34.119,<2.0.0)"]
|
| 1013 |
drivers-embedding-amazon-sagemaker = ["boto3 (>=1.34.119,<2.0.0)"]
|
| 1014 |
drivers-embedding-cohere = ["cohere (>=5.5.4,<6.0.0)"]
|
|
|
|
| 1039 |
drivers-sql-snowflake = ["snowflake-sqlalchemy (>=1.6.1,<2.0.0)", "sqlalchemy (>=2.0.31,<3.0.0)"]
|
| 1040 |
drivers-text-to-speech-elevenlabs = ["elevenlabs (>=1.1.2,<2.0.0)"]
|
| 1041 |
drivers-vector-amazon-opensearch = ["boto3 (>=1.34.119,<2.0.0)", "opensearch-py (>=2.3.1,<3.0.0)"]
|
| 1042 |
+
drivers-vector-astra-db = ["astrapy (>=1.4,<2.0)"]
|
| 1043 |
drivers-vector-marqo = ["marqo (>=3.7.0,<4.0.0)"]
|
| 1044 |
drivers-vector-mongodb = ["pymongo (>=4.8.0,<5.0.0)"]
|
| 1045 |
drivers-vector-opensearch = ["opensearch-py (>=2.3.1,<3.0.0)"]
|
|
|
|
| 1057 |
loaders-pdf = ["pypdf (>=3.9,<4.0)"]
|
| 1058 |
loaders-sql = ["sqlalchemy (>=2.0.31,<3.0.0)"]
|
| 1059 |
|
| 1060 |
+
[package.source]
|
| 1061 |
+
type = "git"
|
| 1062 |
+
url = "https://github.com/griptape-ai/griptape"
|
| 1063 |
+
reference = "dev"
|
| 1064 |
+
resolved_reference = "489453eddb0bfeb026a754278b5d3cde546427bb"
|
| 1065 |
+
|
| 1066 |
[[package]]
|
| 1067 |
name = "h11"
|
| 1068 |
version = "0.14.0"
|
|
|
|
| 3336 |
[metadata]
|
| 3337 |
lock-version = "2.0"
|
| 3338 |
python-versions = "^3.11"
|
| 3339 |
+
content-hash = "8d3d5c66554c9d6f0095463ce6653da9aaa439f8637871c474489ac050ee9c49"
|
pyproject.toml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
[tool.poetry]
|
| 2 |
-
name = "griptape-
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "Chat demo using the Griptape Framework and Gradio."
|
| 5 |
authors = ["Griptape <hello@griptape.ai>"]
|
|
@@ -12,8 +12,8 @@ package-mode = false
|
|
| 12 |
python = "^3.11"
|
| 13 |
python-dotenv = "^1.0.0"
|
| 14 |
gradio = "^4.37.1"
|
| 15 |
-
griptape = {extras
|
| 16 |
-
attrs = "^
|
| 17 |
pymupdf = "^1.24.7"
|
| 18 |
argparse = "^1.4.0"
|
| 19 |
azure-identity = "^1.17.1"
|
|
|
|
| 1 |
[tool.poetry]
|
| 2 |
+
name = "griptape-test"
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "Chat demo using the Griptape Framework and Gradio."
|
| 5 |
authors = ["Griptape <hello@griptape.ai>"]
|
|
|
|
| 12 |
python = "^3.11"
|
| 13 |
python-dotenv = "^1.0.0"
|
| 14 |
gradio = "^4.37.1"
|
| 15 |
+
griptape = {git="https://github.com/griptape-ai/griptape",branch="dev", extras=["drivers-embedding-voyageai","drivers-prompt-anthropic"]}
|
| 16 |
+
attrs = "^24.2.0"
|
| 17 |
pymupdf = "^1.24.7"
|
| 18 |
argparse = "^1.4.0"
|
| 19 |
azure-identity = "^1.17.1"
|