Important Tips: 1) If you installed version 0.5.2, make sure to update to version 0.5.3 or later (a critical bug that caused initialization to fail has been fixed). Version 0.5.2 was available for only for a day. 1) Ensure that the API key is set in the environment of the terminal where you are running `devai` (see the supported keys below). 2) For globs, as mentioned below by @marcelobarth9729, do NOT forget the `./` at the beginning of the path (e.g., `./src/**/*.rs`). Supported Keys: OPENAI_API_KEY, ANTHROPIC_API_KEY, MODEL_GEMINI, GEMINI_API_KEY, GROQ_API_KEY, COHERE_API_KEY
Thanks for creating DevAI! Really cool tool. One small tip for other users: when using file globs, make sure to NOT forget the `./` at the beginning of the path (like `./src/**/*.rs`). Took me a bit to figure out the issue, but once I added that, file matching worked perfectly. Great work on this project! 👍
Oh yes, very good point. This one is tricky to fix without a hack. However, I should at least provide some warning or tip, which should be easy to implement. One of the things I’ll be working on in v0.6 is improving error messages to make them more helpful (especially the Lua-related ones). Let me a a reference to that on my pinned comment.
Nice video. I’m wondering if it’s possible to move forward from the point where video stops and run an agent to read summaries for all the files and generate summary of the project as a whole explaining the flows and interconnections between files?
Yes, this is a good point, and there will be a follow-up demo. In the previous video about devai, there was such a use case. In short, in the # After All, you will have something like pseudo-code: ```lua -- devai.run take an "array" as second arg. So, here array of dict devai.run("my-consolidation", { {path = "path/to/doc/folder"}, }) ``` I will do a demo at some point. I am going back to making some Rust coding videos for a while and will then interlace them with some devai content.
There are two parts to consider: 1) *Rust/Lua/Handlebars Overhead* While I don't have benchmarks yet, Rust’s Lua bindings are known for being very fast, and Handlebars is implemented natively in Rust. This suggests the runtime and solution are likely faster than many, if not all, Python-based alternatives. 2) *Command-Line Overhead* In the case of a CMS or cloud application, the challenge lies in invoking the command line for each file or operation, which introduces some overhead due to executing a command for each item. For simpler use cases, a `-w` option could be a great solution. Even with this overhead, the Rust/mlua/native-hbs runtime may still outperform other alternatives due to its inherent efficiency. To address point (2), the plan is to separate the `devai` runtime, including Lua and Handlebars, into a standalone `Agentic` crate. The `devai` CLI would then serve as an interface for the `Agentic` crate, potentially adding Lua functions and managing local artifacts. This approach allows the `Agentic` runtime to be used independently, offering the best of both worlds.
Important Tips:
1) If you installed version 0.5.2, make sure to update to version 0.5.3 or later (a critical bug that caused initialization to fail has been fixed). Version 0.5.2 was available for only for a day.
1) Ensure that the API key is set in the environment of the terminal where you are running `devai` (see the supported keys below).
2) For globs, as mentioned below by @marcelobarth9729, do NOT forget the `./` at the beginning of the path (e.g., `./src/**/*.rs`).
Supported Keys:
OPENAI_API_KEY, ANTHROPIC_API_KEY, MODEL_GEMINI, GEMINI_API_KEY, GROQ_API_KEY, COHERE_API_KEY
this is the way! unix way.
Awesome Jeremy, i really love your videos, and even more your code🤗
Thanks, I really appreciate the feedback. Happy coding!
Thanks for creating DevAI! Really cool tool. One small tip for other users: when using file globs, make sure to NOT forget the `./` at the beginning of the path (like `./src/**/*.rs`). Took me a bit to figure out the issue, but once I added that, file matching worked perfectly. Great work on this project! 👍
Oh yes, very good point. This one is tricky to fix without a hack. However, I should at least provide some warning or tip, which should be easy to implement.
One of the things I’ll be working on in v0.6 is improving error messages to make them more helpful (especially the Lua-related ones).
Let me a a reference to that on my pinned comment.
Nice to hear from you. I hope you are gonna make a short introducinf devai in a youtube short. I think its good material for that.
ha, interesting idea.
markdown is a great idea
somebody could probably build a cms over this and expose it so users can create agents in an easier way and see the ouput
Nice video. I’m wondering if it’s possible to move forward from the point where video stops and run an agent to read summaries for all the files and generate summary of the project as a whole explaining the flows and interconnections between files?
Yes, this is a good point, and there will be a follow-up demo. In the previous video about devai, there was such a use case.
In short, in the # After All, you will have something like pseudo-code:
```lua
-- devai.run take an "array" as second arg. So, here array of dict
devai.run("my-consolidation", { {path = "path/to/doc/folder"}, })
```
I will do a demo at some point. I am going back to making some Rust coding videos for a while and will then interlace them with some devai content.
would this be good for low latency systems where agents react to events or the overhead is too big?
There are two parts to consider:
1) *Rust/Lua/Handlebars Overhead*
While I don't have benchmarks yet, Rust’s Lua bindings are known for being very fast, and Handlebars is implemented natively in Rust. This suggests the runtime and solution are likely faster than many, if not all, Python-based alternatives.
2) *Command-Line Overhead*
In the case of a CMS or cloud application, the challenge lies in invoking the command line for each file or operation, which introduces some overhead due to executing a command for each item. For simpler use cases, a `-w` option could be a great solution. Even with this overhead, the Rust/mlua/native-hbs runtime may still outperform other alternatives due to its inherent efficiency.
To address point (2), the plan is to separate the `devai` runtime, including Lua and Handlebars, into a standalone `Agentic` crate. The `devai` CLI would then serve as an interface for the `Agentic` crate, potentially adding Lua functions and managing local artifacts. This approach allows the `Agentic` runtime to be used independently, offering the best of both worlds.
The French accent is there 🥖😁