YoMo 
YoMo is an open-source LLM Function Calling Framework for building scalable and ultra-fast AI Agents. π We care about: Empowering Exceptional Customer Experiences in the Age of AI
We believe that seamless and responsive AI interactions are key to delivering outstanding customer experiences. YoMo is built with this principle at its core, focusing on speed, reliability, and scalability.
πΆ Features
| Features | ||
|---|---|---|
| β‘οΈ | Serverless LLM Tools | Deploy and Manage LLM Tools / Skills seamlessly. |
| π | Enhanced Security | TLS v1.3 encryption is applied to every data packet by design, ensuring robust security for your AI agent communications. |
| πΈ | Effortless Agents DevOps | Streamline the entire lifecycle of your LLM tools, from development to deployment. Significantly reduces operational overhead, allowing you to focus exclusively on creating innovative AI agent functionalities. |
| π | Geo-Distributed Architecture | Bring AI inference and tools closer to your users with our globally distributed architecture, resulting in significantly faster response times and a superior user experience for your AI agents. |
π Getting Started
Let's build a simple AI agent with LLM Function Calling to provide weather information:
Step 1. Install CLI
curl -fsSL https://get.yomo.run | sh
Verify the installation:
yomo --version
Step 2. Start the server
Use Ollama as the LLM provider:
ollama pull ornith
Launch the server:
yomo serve
You can also use the --config flag to specify a custom coniguration yaml file.
Step 3. Implement the LLM Function Calling
yomo init
Finished, now, let's run it:
yomo run -n get-weather ./app
Done, let's have a try
curl http://127.0.0.1:9001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "I am going for a hike on the Yarra Bend Park Loop. What should I wear?"
}
]
}'
You'll receive a helpful response like this:
Yarra Bend Park is on the Yarra River and gets misty/foggy when it overflows from its channel into the parkβthis typically occurs on damp autumns around November. Today's conditions are mild, warm, dry, with no fog expected today but a chance of light rain or drizzle possible tomorrow afternoon.
**Clothing for your hike:**
- **Base/mid-layer:** A long-sleeve top is enough. If it gets chilly at the river bank (a 2Β°C drop is possible), add a fleece mid-layer rather than relying on just an autumn outer shell.
- **Pants:** Jeans are okay if you want them, but light hiking pants or athletic wear are more comfortable and dry faster.
- **Footwear:** You'll be on forest trails around the Yarra Riverβsturdy sneakers will do for the loop today. If there's rain tomorrow afternoon, bring a pair of boots.
- **Rain gear:** Carry an umbrella just in case you get caught on the trail after the rain passes this weekend.
**Don't worry about mosquitoes this month.** They arrive in March/April when it gets hot and dryβand that's right around the time summer solstice fog starts forming (June). In November, no mosquitoes at all.
Explore More Examples
Check out our Servereless LLM Function Calling Examples for more use cases and inspiration.
π Documentation
Read more about YoMo on yomo.run.
π― Focuses on Geo-distributed AI Inference Infra
Itβs no secret that todayβs users want instant AI inference, every AI
application is more powerful when it response quickly. But, currently, when we
talk about distribution, it represents distribution in data center. The AI model is
far away from their users from all over the world.
If an application can be deployed anywhere close to their end users, solve the problem, this is Geo-distributed System Architecture:
π¦Έ Contributing
First off, thank you for considering making contributions. It's people like you that make YoMo better. There are many ways in which you can participate in the project, for example:
- File a bug report. Be sure to include information like what version of YoMo you are using, what your operating system is, and steps to recreate the bug.
- Suggest a new feature.
- Read our contributing guidelines to learn about what types of contributions we are looking for.
- We have also adopted a code of conduct that we expect project participants to adhere to.
Devleopment
-
Build
cargo build --release ./target/release/yomo --help -
Use Ollama as the LLM provider:
ollama pull ornith -
Run YoMo server:
./target/release/yomo serve -
Initialize a Serverless LLM Tool project:
./target/release/yomo initthen edit
./app/src/app.tsin the project. -
Run YoMo serverless tool:
./target/release/yomo run --name get-weather ./app -
Send a request to the LLM agent:
curl \ --request POST \ --url http://127.0.0.1:9001/v1/chat/completions \ --header 'Content-Type: application/json' \ --data '{ "messages": [ { "role": "user", "content": "How is the weather in London?" } ] }' -
Send a request to the serverless function directly:
curl \ --request POST \ --url http://127.0.0.1:9001/tool/get-weather \ --header 'Content-Type: application/json' \ --data '{ "args":"{\"city\":\"London\"}" }'
No comments yet
Be the first to share your take.