Fetch.ai’s Tech Stack
Hack For Social Impact - Powered by Fetch.ai
Kshipra Dhame
Developer Advocate
Hack for Social Impact Overview
Fetch.ai’s Role and Vision
Challenge Areas
Complex interactions between land degradation, drought, and people
Create a system of AI Agents that explores the significant implications of land degradation on natural disasters like drought and its effects on economic and social well-being in affected communities.
Fast and accurate AI translation of important UN documents
Develop a suite of AI Agents that tackle the complexities of translating UN documents, which often contain specialized terminology and intricate concepts.
Unraveling the Complexity of Building Codes for Housing Construction
Design a network of AI Agents that addresses the fragmented landscape of California's varied building codes, complicating affordable housing development.
Saturday, Nov 09
Sunday, Nov 10
Full Schedule
Schedule Key Events
08:00 PST
Registration
13:00 PST
Hacking Begins !!
13:00 - 16:00 PST
Final Hacking Time !!
16:00 PST
Presentations followed by Judging
For Full Detailed Schedule Please Click on below button.
Machine Learning
LLMs
AI Agents
Evolution of AI
Algorithms
Programmers relied on logic and reasoning for decision-making.
Enables computers to learn from data and make predictions or decisions without being explicitly programmed.
A specific application of NLP where models are trained on vast amounts of text data to understand and generate human-like text.
Leverage AI to autonomously perform tasks and interact with users.
What are Fetch.ai AI Agents?
FET Token
How Fetch.ai Agents Communicate and Transact
All agent interactions, like sending funds or accessing services, use the FET token. This token serves as the fuel for transactions, promoting smooth exchanges and incentivizing participation in the network.
Fetch.ai agents operate within a blockchain ecosystem built on the Fetch.ai Network, which empowers their communication and transactions
Fetch Ledger
Agents use the Fetch ledger for secure, immutable transactions. This blockchain ensures all interactions and exchanges between agents are recorded transparently and can be trusted by everyone in the network.
Almanac Contract
The Almanac Contract is a smart contract, which is essentially logic and code on the blockchain. It enables agents to register on the network, allowing other agents to discover them and initiate communication.
AI Agents are independent decision-makers that connect to the network and represent data, APIs, services and people.
Key Components of Fetch.ai Toolstack
AI Agents
Agentverse
Agentverse serves as a development and management platform for these agents.
You can build, test and deploy Agents on Agentverse.
01
02
Quick Walkthrough
01
uAgents
Quick Walkthrough
02
Agentverse
You need to use mailbox service if you are using a python module apart from the ones listed here. It is IMPORTANT to note that due to security reasons, Agentverse doesn’t allow import of all modules. But you can run your agent locally and connect it to Agentverse via Mailbox.
Agent Creation
Local Agent
Agentverse
from uagents import Agent, Context, Model
from uagents.setup import fund_agent_if_low
agent = Agent(name="Agent A",
seed="seed-for-agent-A",
port=8001,
endpoint="http://localhost:8001/submit")
fund_agent_if_low(agent.wallet.address())
@agent.on_event("startup")
async def startup(ctx: Context):
ctx.logger.info(f"Agent address: {agent.address}")
if __name__ == "__main__":
agent.run()
from uagents import Agent, Context, Model
agent = Agent(name="Agent A")
@agent.on_event("startup")
async def startup(ctx: Context):
ctx.logger.info(f"Agent address: {agent.address}")
if __name__ == "__main__":
agent.run()
You can find a list of supported libraries here.
Building your first uAgent
Prerequisites:
from uagents import Agent, Context, Model
from uagents.setup import fund_agent_if_low
agent = Agent(
name = 'My first agent',
seed = 'My first agent secret phrase',
port = 8000,
endpoint = ['http://localhost:8000/submit']
)
fund_agent_if_low(agent.wallet.address())
@agent.on_event('startup')
async def startup_handler(ctx: Context):
ctx.logger.info(f'My name is {ctx.agent.name}, my address is {ctx.agent.address}')
if __name__ == "__main__":
agent.run()
Agent Decorators:
Let’s try communication between agents
Alice
Bob
class Message(Model):
message : str
@agent.on_message(model = Message)
async def message_handler(ctx: Context, sender: str, msg: Message):
ctx.logger.info(f' Got Message from {sender} : {msg.message}')
await ctx.send(sender, Message(message = 'Hello Alice, This is bob.'))
REST API for uAgents
@agent.on_rest_get("/custom_get_route", Response)
async def handle_get(ctx: Context) -> Dict[str, Any]:
return {
"field": <value>,
}
@agent.on_rest_post("/custom_post_route", Request, Response)
async def handle_post(ctx: Context, req: Request) -> Response:
ctx.logger.info(req) # access to the request
return Response(...)
Example Walkthrough
Predicting and Preventing Customer Churn in Banking
Customer Retention Agent
Customer Data
Churn Prediction Agent
Application Development
Build a solid application using Fetch.ai’s uAgents to solve one of the challenges that create a social impact by making custom front-end.
Solution Development
Your Objective
Build a solid solution using Fetch.ai’s uAgents to solve one of the challenges that create a social impact by chaining of multiple agents
Submission Guidelines
Here’s what we would be judging you on
README file
Remember, a good README will help judges arrive to a decision quickly!
Directory Structure
Important Resources
To learn more about how to use Fetch.ai’s tech stack :
FAQs
Innovation is at the heart of everything we do.
Feel free to ask�and reach out to us!