Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ebodshojaei/castro
Web3 XMTP TinyLlama AI agent chat app
https://github.com/ebodshojaei/castro
aiagent blockchain chatbot google google-cloud google-cloud-platform nextjs ollama tinyllama tinyllamachat typescript web3 xmtp
Last synced: 3 days ago
JSON representation
Web3 XMTP TinyLlama AI agent chat app
- Host: GitHub
- URL: https://github.com/ebodshojaei/castro
- Owner: EbodShojaei
- License: mit
- Created: 2025-01-15T09:49:53.000Z (11 days ago)
- Default Branch: main
- Last Pushed: 2025-01-22T18:00:07.000Z (4 days ago)
- Last Synced: 2025-01-22T18:31:07.674Z (3 days ago)
- Topics: aiagent, blockchain, chatbot, google, google-cloud, google-cloud-platform, nextjs, ollama, tinyllama, tinyllamachat, typescript, web3, xmtp
- Language: TypeScript
- Homepage: https://castro-self.vercel.app
- Size: 4.49 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# castro
What is this? An AI chat bot. But isn't that just ChatGPT? Not quite. ChatGPT does not use the XMTP protocol, a WEB3-based communication network. What does this mean? This means the next-gen mode of secure, encrypted communication, that is decentralized. What do I mean by decentralized? As in, there is no singular entity that manages the messages. Instead, the node providers, aka blockchain miners, are the backbone of hosting the network without relying on a single provider, classically, a server-provider.
In layman terms, you can chat with this AI as long as you have its blockchain wallet address and an XMTP-enabled client to chat with it, like my Next.js client or more sophisticated client apps like [Converse](https://converse.xyz).
Traditionally, the client would communicate with a server via the HTTP protocol. With XMTP, that is a thing of the past. Instead of a server that accepts ingress from clients, the server only reads from the blockchain. The bridge between the client and server has been severed. What does this mean for AI? Essentially a stronghold, a kingdom, aka, a castro.
For example, instead of ```client <--> server``` we now have ```client <--> blockchain <--> server```. By God! Imagine sticking an AI into a server that cannot be tampered with by some client. This is my attempt at that.
Refer to the docs to see how to host this castro (i.e., kingdom). The hosting provider is Google Cloud. The network is entirely private, which can only be accessed by using the bastion server to ssh into the private AI server, which only accepts connections via the bastion server. The AI has access to 18 quintillion IPV6 addresses...quintillion...I can't even fathom such a number (that's a billion billions!).
Firewalls are setup to prevent unauthorized traffic. Imagine removing the bastion server. If the AI model was advanced enough, this would essentially be a self-enclosed AI entity that cannot be accessed without some other approach, which at the moment, is not clear to me how. That is true fear.
The network is setup to allow the AI to make outgoing requests, with the possibility of swapping IPs (after all, it has 18 quintillion to choose from). Hypothetically, depending on the response the AI receives, could possibly discombulate the model if the tokens received from the response could somehow cause a malfunction. Again, this is just an unproven assumption, but think of it as the equivalent of a SQL injection but to crash the model. God help us all if the AI self-operates and multiplies.
Explore the repo to find out more.