You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.3 KiB
47 lines
1.3 KiB
1 year ago
|
This example demonstrates how to build an agent that can dynamically query Amazon Redshift Serverless tables and store its contents on the local hard drive.
|
||
|
|
||
|
Let's build a support agent that uses GPT-4:
|
||
|
|
||
|
```python
|
||
|
import boto3
|
||
|
from swarms.drivers import AmazonRedshiftSqlDriver, OpenAiPromptDriver
|
||
|
from swarms.loaders import SqlLoader
|
||
|
from swarms.rules import Ruleset, Rule
|
||
|
from swarms.structures import Agent
|
||
|
from swarms.tools import SqlClient, FileManager
|
||
|
from swarms.utils import Chat
|
||
|
|
||
|
session = boto3.Session(region_name="REGION_NAME")
|
||
|
|
||
|
sql_loader = SqlLoader(
|
||
|
sql_driver=AmazonRedshiftSqlDriver(
|
||
|
database="DATABASE",
|
||
|
session=session,
|
||
|
workgroup_name="WORKGROUP_NAME"
|
||
|
)
|
||
|
)
|
||
|
|
||
|
sql_tool = SqlClient(
|
||
|
sql_loader=sql_loader,
|
||
|
table_name="people",
|
||
|
table_description="contains information about tech industry professionals",
|
||
|
engine_name="redshift"
|
||
|
)
|
||
|
|
||
|
agent = Agent(
|
||
|
tools=[sql_tool, FileManager())],
|
||
|
rulesets=[
|
||
|
Ruleset(
|
||
|
name="HumansOrg Agent",
|
||
|
rules=[
|
||
|
Rule("Act and introduce yourself as a HumansOrg, Inc. support agent"),
|
||
|
Rule("Your main objective is to help with finding information about people"),
|
||
|
Rule("Only use information about people from the sources available to you")
|
||
|
]
|
||
|
)
|
||
|
]
|
||
|
)
|
||
|
|
||
|
Chat(agent).start()
|
||
|
```
|