<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CommandDash</title>
    <description>The latest articles on DEV Community by CommandDash (@commanddash).</description>
    <link>https://dev.to/commanddash</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F8998%2F377b97c8-52c0-418e-9393-7967e7ee36a3.png</url>
      <title>DEV Community: CommandDash</title>
      <link>https://dev.to/commanddash</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/commanddash"/>
    <language>en</language>
    <item>
      <title>Code that’s Unseen - Library and Package Integration with Copilots</title>
      <dc:creator>Samyak Jain</dc:creator>
      <pubDate>Mon, 14 Oct 2024 10:55:03 +0000</pubDate>
      <link>https://dev.to/commanddash/code-thats-unseen-library-and-package-integration-with-copilots-3mpd</link>
      <guid>https://dev.to/commanddash/code-thats-unseen-library-and-package-integration-with-copilots-3mpd</guid>
      <description>&lt;p&gt;Software development heavily relies on third-party libraries and packages. &lt;/p&gt;

&lt;p&gt;They evolve regularly, with new exposed methods, updating to support OS updates, and more. This poses a problem when using coding copilots that use LLMs trained on data with a cut-off date. Oct’23 for most latest models.&lt;/p&gt;

&lt;p&gt;At CommandDash, we’re committed to solving this.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Big Bump in the Road of Automating Software Development
&lt;/h3&gt;

&lt;p&gt;Developers today can’t build apps without incorporating at least a dozen libraries. This integration is a fundamental aspect of software development. &lt;/p&gt;

&lt;p&gt;While AI has excelled at generating code from thousands of interactions and data points, it struggles with integrating these packages due to unreliable code generation. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This isn’t acceptable and stands in the way of autonomous  software development.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Efforts Being Made to Solve This
&lt;/h3&gt;

&lt;p&gt;Many copilots are attempting to tackle this issue but often encounter fundamental problems:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;th&gt;Benefits&lt;/th&gt;
&lt;th&gt;Limitations&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Enabling Web Search&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;- Answers simple questions like the latest version of a package.&lt;/td&gt;
&lt;td&gt;- Fails with complex queries.&lt;br&gt;- High-level results aren’t useful for integration.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Indexing Documentation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;- Helps in providing additional context to LLMs increasing quality by 20-30%.&lt;/td&gt;
&lt;td&gt;- Many sites lack sitemaps or have paywalls.&lt;br&gt;- Poorly written documentation.&lt;br&gt;- Valuable info buried in support tickets.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GitHub Repository Indexing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;- Provides deeper answers by referring to code and issues.&lt;/td&gt;
&lt;td&gt;- Limited to open-source projects and frameworks.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In general, trust in these approaches is extremely low, and developers end up consulting documentation themselves.&lt;/p&gt;

&lt;h3&gt;
  
  
  Our Vision of Solving This: Infrastructure + Generated RAG
&lt;/h3&gt;

&lt;p&gt;At CommandDash, our primary goal is to address the infrastructural issues to lay the groundwork for building world-class integrating copilots. We aim to create custom agents for all libraries using multiple data sources:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scraping data from all package managers&lt;/strong&gt; like NPM, PyPi, and Pub.dev.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regularly re-indexing open-source repositories&lt;/strong&gt;, including code, issues, PRs, wikis, and more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Building AI-assisted website scrapers&lt;/strong&gt; to handle even the most challenging websites.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We collect this data in parallel with user demands and interactions, enabling the community to contribute trusted sources like blogs and example repositories.&lt;/p&gt;

&lt;h4&gt;
  
  
  Generated RAG
&lt;/h4&gt;

&lt;p&gt;Once we have all the data, RAG alone takes us only so far. From our observations:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;When RAG Works&lt;/th&gt;
&lt;th&gt;When RAG Fails&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Single-scoped questions (e.g., how does {x} method work?)&lt;/td&gt;
&lt;td&gt;Almost every other time.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It’s extremely difficult to find the right pieces of documentation from high-level user requirements. Our &lt;a href="https://app.commanddash.io/agent/langchain" rel="noopener noreferrer"&gt;Langchain agent&lt;/a&gt; struggles to convert instructions like “write me code to count apples in an image” into correctly implemented code.&lt;/li&gt;
&lt;li&gt;Even with the right documentation pieces, LLMs are poor at converting them into integration code. LLMs prefer examples over documentation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is why we need &lt;strong&gt;Generated RAG.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Generated RAG uses a small model continuously fine-tuned on a library’s data to generate examples for specific user use cases within ~1 second. &lt;/p&gt;

&lt;p&gt;For instance, when a user asks, “write me code to count apples in an image”, the fine-tuned model on Langchain’s data should generate 2-3 examples of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Multimodal chat requests”, &lt;/li&gt;
&lt;li&gt;“Counting prompt instructions”, &lt;/li&gt;
&lt;li&gt;“Code implementation for the best multimodal models”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then, a larger model (like Llama3) can use these examples as references instead of documentation pieces to generate a perfectly working piece of code.&lt;/p&gt;

&lt;p&gt;We’re still on the journey to achieving this. Try CommandDash and share your thoughts with us.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to *really* use AI Tools when building software.</title>
      <dc:creator>Samyak Jain</dc:creator>
      <pubDate>Tue, 24 Sep 2024 06:09:18 +0000</pubDate>
      <link>https://dev.to/commanddash/how-to-really-use-ai-tools-when-building-software-4dl6</link>
      <guid>https://dev.to/commanddash/how-to-really-use-ai-tools-when-building-software-4dl6</guid>
      <description>&lt;p&gt;AI is becoming an ingrained part of building software. &lt;/p&gt;

&lt;p&gt;Besides the hype of magical features, the practical usage experience among developers stays basic. Talking to 100s of engineers from different geographies and experiences, here is what we've learned.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Clearly scope and define your task.
&lt;/h2&gt;

&lt;p&gt;AI brings ambiguity and room for error in every step.&lt;/p&gt;

&lt;p&gt;For example, commands like &lt;code&gt;@workspace&lt;/code&gt; responsible for fetching the right files from your codebase to complete a certain task are still far from perfect.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fec930nn1vj63u6jiluko.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fec930nn1vj63u6jiluko.png" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For reliable results from your AI tool, provide it detailed task notes and required files yourself. &lt;strong&gt;Reduce it's role to only making the code edits.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Avoid big picture questions.
&lt;/h2&gt;

&lt;p&gt;AI can only ingest a certain amount of code in its context window.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;128K tokens for Gpt4o and 3.5 Sonnet.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While big picture decisions like architecture choices, feature specs require context from different places (multiple code repositories + docs + internal discussions) and a more ingrained understanding of your system.&lt;/p&gt;

&lt;p&gt;Hence, it's best to only use AI as a suggestive help and make these decisions ourselves, which makes us worthy developers of AI age.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Ask to reason first.
&lt;/h2&gt;

&lt;p&gt;As humans, we first think and then write code. LLMs work the best in the same manner. After defining your task, always ask:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"First think thoroughly and create a plan"&lt;br&gt;
"List out all the edge cases and points to keep in mind"&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Generate comments or tests for future context.
&lt;/h2&gt;

&lt;p&gt;As we write more and more code using AI, we lost track of why certain decisions were made. And it's possible that the next revision with AI may overwrite them breaking our current system. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ideally, we should write tests for every method as a documentation of every scenario a feature must handle.&lt;/strong&gt; But if tests are not possible, ask LLMs to document your code with reasoning comments from your interactions with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Build custom agents for your needs.
&lt;/h2&gt;

&lt;p&gt;Many times, general coding assistants aren't of help for our specific needs. You can levarage &lt;a href="https://commanddash.io" rel="noopener noreferrer"&gt;CommandDash&lt;/a&gt; to create your own coding assistants when &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Integrating a new library or package&lt;/li&gt;
&lt;li&gt;Onboarding on a new codebase and contributing to it.&lt;/li&gt;
&lt;li&gt;Generating code matching a specific set of guidelines.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4ctinadhuafqdy1xbcf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4ctinadhuafqdy1xbcf.png" alt="CommandDash create custom agent" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They have 1000+ agents pre-built. You can create your own as well. &lt;/p&gt;

&lt;p&gt;Hope you find the article of help 🙏🏼&lt;/p&gt;

</description>
      <category>ai</category>
      <category>github</category>
      <category>softwaredevelopment</category>
      <category>developer</category>
    </item>
    <item>
      <title>Build with any npm package with this AI assist 🦾</title>
      <dc:creator>Samyak Jain</dc:creator>
      <pubDate>Fri, 16 Aug 2024 08:35:29 +0000</pubDate>
      <link>https://dev.to/commanddash/build-with-any-npm-package-with-this-ai-assist-11jb</link>
      <guid>https://dev.to/commanddash/build-with-any-npm-package-with-this-ai-assist-11jb</guid>
      <description>&lt;p&gt;As Javascript developers, we use npm all the time. But diving into a new npm package can be a time sink.&lt;/p&gt;

&lt;p&gt;But what if you had an AI assistant that knew the package inside out and can:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Help you decide if the package meets your needs.&lt;/li&gt;
&lt;li&gt;How to integrate it in your codebase.&lt;/li&gt;
&lt;li&gt;Debug compile and runtime issues.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Introducing AI Assist for NPM Packages
&lt;/h2&gt;

&lt;p&gt;This tool creates custom AI agents trained on npm package repositories. Let's use &lt;a href="https://www.npmjs.com/package/cheerio" rel="noopener noreferrer"&gt;cheerio&lt;/a&gt; as an example.&lt;/p&gt;

&lt;p&gt;Here's how it works: &lt;/p&gt;

&lt;h3&gt;
  
  
  Create the AI Assist
&lt;/h3&gt;

&lt;p&gt;Visit &lt;a href="https://app.commanddash.io/" rel="noopener noreferrer"&gt;CommandDash&lt;/a&gt; which is a free tool to create agents for github libraries and npm, pypi and pub packages.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Tap on &lt;strong&gt;Create Agent&lt;/strong&gt; button, and paste the npm package URL&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fee1fjti2x3cc4if052pa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fee1fjti2x3cc4if052pa.png" alt="Create AI assist from NPM url" width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Submit your URL and it will setup the agent for you.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtxuwtmddcrjvlpxnt8y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtxuwtmddcrjvlpxnt8y.png" alt="AI assist for NPM package" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Start Querying.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyvyspmzjtxbpb0gvoukz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyvyspmzjtxbpb0gvoukz.png" alt="Get solutions for Cheerio" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now you can easily: 🤯&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Decide if the package meets your needs.&lt;/li&gt;
&lt;li&gt;Integrate it in your codebase.&lt;/li&gt;
&lt;li&gt;Debug and fix issues.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Note: It can take a few minutes to prepare the agent.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Bonus: You can install the &lt;a href="https://marketplace.visualstudio.com/items?itemName=WelltestedAI.fluttergpt" rel="noopener noreferrer"&gt;VSCode extension&lt;/a&gt; and use the agent in your IDE 🙌🏼&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnak9wjpoc85drwqs9do4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnak9wjpoc85drwqs9do4.png" alt="Build with any NPM package using AI assist in the IDE" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give it a shot next time you're exploring a new package. It might just save you a few hours and a headache. &lt;/p&gt;

&lt;p&gt;&lt;a href="//app.commanddash.io"&gt;Happy coding!&lt;/a&gt; 🚀&lt;/p&gt;

</description>
      <category>npm</category>
      <category>node</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>This free AI agent will make you open-source king 👑</title>
      <dc:creator>Samyak Jain</dc:creator>
      <pubDate>Tue, 06 Aug 2024 09:56:54 +0000</pubDate>
      <link>https://dev.to/commanddash/this-free-ai-agent-will-make-you-open-source-king-1k9e</link>
      <guid>https://dev.to/commanddash/this-free-ai-agent-will-make-you-open-source-king-1k9e</guid>
      <description>&lt;p&gt;Software developers love open-source projects. But exploring a new project requires:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;figuring how things work,&lt;/li&gt;
&lt;li&gt;it' code structure, and&lt;/li&gt;
&lt;li&gt;searching files and existing issues for your problem&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;which is challenging with a steep learning curve.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing AI Assist for Github Projects
&lt;/h2&gt;

&lt;p&gt;CommandDash is an AI tool that creates custom agents trained on code + issues of Github projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Let's pick a project that we want to work with.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For instance: Let's use the python library for &lt;a href="https://github.com/ollama/ollama-python" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9a1pk8n093twdaryfgif.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9a1pk8n093twdaryfgif.png" alt="Github Repository Screenshot" width="800" height="692"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Turn this into an AI Agent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Prefix the &lt;code&gt;repository_url&lt;/code&gt; with this link that opens up the agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://app.commanddash.io/agent?github=" rel="noopener noreferrer"&gt;https://app.commanddash.io/agent?github=&lt;/a&gt;&lt;/em&gt; + &lt;code&gt;repository_url&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyed8vlfi6unob7pthxsz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyed8vlfi6unob7pthxsz.png" alt="AI Agent for Github Repository" width="800" height="588"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This creates an AI agent trained on the code + issues as above of any open-source repository. It may take 5-20 mins to finish indexing and then you can use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Ask your questions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can ask the agent trained on the repo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To summarize the repository code structure.&lt;/li&gt;
&lt;li&gt;Search for specific files or issues.&lt;/li&gt;
&lt;li&gt;Or, help you make contributions and build with it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0wuqc9zm4zjwbjdp9zfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0wuqc9zm4zjwbjdp9zfr.png" alt="Asking questions to Github AI Assist" width="800" height="577"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's that simple! Bookmark this and use it next time you land on an open-source repository. 🙌🏼&lt;/p&gt;

&lt;p&gt;Share it with your fellow developers and help them too!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Explore Open-Source Repos on Github faster with this AI URL ⚡️</title>
      <dc:creator>Samyak Jain</dc:creator>
      <pubDate>Sat, 20 Jul 2024 09:30:19 +0000</pubDate>
      <link>https://dev.to/commanddash/explore-open-source-repos-on-github-faster-with-this-ai-url-3fpf</link>
      <guid>https://dev.to/commanddash/explore-open-source-repos-on-github-faster-with-this-ai-url-3fpf</guid>
      <description>&lt;p&gt;If you are an open-source buff, chances are that you visit multiple github repositories and spend hours exploring them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You may want to know&lt;/strong&gt;&lt;br&gt;
"What tech stack are their using?"&lt;br&gt;
"How are their doing a particular X thing?"&lt;br&gt;
"Where can I find the code that does Y?"&lt;br&gt;
"How can I build Z using the repo?"&lt;/p&gt;

&lt;p&gt;Well, there is an AI link that can help you get answers to your questions! without any setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use this AI URL ⚡️
&lt;/h2&gt;

&lt;p&gt;Just copy the link of the repository you would like to explore, and append it to &lt;code&gt;https://app.commanddash.io/agent?github=&amp;lt;repo link&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will open a web page where an AI agent will be trained on the repo.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ficsy82bw9tzl68gviare.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ficsy82bw9tzl68gviare.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will take 2-20 mins to index, then you can start asking it any questions. It will also provide you links to the files and issues that were used to answer your question. &lt;/p&gt;

&lt;p&gt;Try it out the next time you land on an open-source repository! 🙌🏼&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Add this "AI Code Assist" badge to your Github Readme</title>
      <dc:creator>Samyak Jain</dc:creator>
      <pubDate>Thu, 18 Jul 2024 11:35:03 +0000</pubDate>
      <link>https://dev.to/commanddash/add-this-ai-code-assist-badge-to-your-github-readme-178a</link>
      <guid>https://dev.to/commanddash/add-this-ai-code-assist-badge-to-your-github-readme-178a</guid>
      <description>&lt;p&gt;If you are building an open-source project, there is a good chance that your readme is full of badges like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm7yeo3dx7j0lncuv1pfy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm7yeo3dx7j0lncuv1pfy.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Badges help share the status of various aspects of your repo, it's popularity and link to helpful resources for visitors like documentation.&lt;/p&gt;

&lt;p&gt;In the AI era, there is a badge that is missing. A badge that can help your users &lt;strong&gt;explore your repository 🌈&lt;/strong&gt; and &lt;strong&gt;build with it faster⚡️&lt;/strong&gt; without reading docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing "AI Code Assist" Badge:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FAI-Code%2520Assist-EB9FDA%3Fstyle%3Dfor-the-badge" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FAI-Code%2520Assist-EB9FDA%3Fstyle%3Dfor-the-badge"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To add such badge to your repo, just add the below to your readme.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;a href="https://app.commanddash.io/agent?github=&amp;lt;your github repo&amp;gt;"&amp;gt;&amp;lt;img src="https://img.shields.io/badge/AI-Code%20Gen-EB9FDA"&amp;gt;&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Replace &lt;code&gt;&amp;lt;your github repo&amp;gt;&lt;/code&gt; with your Github Repository URL, for example: &lt;code&gt;https://github.com/apify/crawlee-python&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This will create an AI code assist &lt;em&gt;trained on your code + issues in your repository.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Developers can click the badge, to access the code assist directly in a web app.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcyzqgle2w56iof7pblvv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcyzqgle2w56iof7pblvv.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They can ask any questions are quoted with links to code and issues from your repository along with the answer.&lt;/p&gt;

&lt;p&gt;Sounds great right? 🤩 Add it to your repo and help developers build faster!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>javascript</category>
      <category>github</category>
    </item>
    <item>
      <title>Using RAG to Build Your IDE Agents</title>
      <dc:creator>Yogesh Choudhary</dc:creator>
      <pubDate>Tue, 18 Jun 2024 21:59:22 +0000</pubDate>
      <link>https://dev.to/commanddash/using-rag-to-build-your-ide-agents-1pcj</link>
      <guid>https://dev.to/commanddash/using-rag-to-build-your-ide-agents-1pcj</guid>
      <description>&lt;p&gt;In the post-GPT revolution era, many of us developers have started using LLM-enabled tools in our development workflows. Nowadays, you can complete new and complex development tasks in a short span with the help of theses LLM tools when used correctly.&lt;/p&gt;

&lt;p&gt;Until you start using them for anything related to new APIs or SDKs or their latest version, this is the place where they fall short.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing the Shortcomings with RAG
&lt;/h2&gt;

&lt;p&gt;At CommandDash (formerly Welltested), our team has been working in code generation. Like other organizations in this field, we recognized the challenges and have actively developed solutions. &lt;/p&gt;

&lt;p&gt;Therefore, with the Dash Agent Framework, we initiated building a robust RAG system to tackle these issues from inception stage itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is RAG?
&lt;/h2&gt;

&lt;p&gt;Retrieval-Augmented Generation (RAG) is a powerful technique that combines the capabilities of LLMs with relevant references to enrich the responses. These relevant references are typically derived from external knowledge sources like document databases and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft20cacf94fkxu0uavek9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft20cacf94fkxu0uavek9.png" alt="RAG-enabled Architecture" width="800" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RAG significantly enhances the capabilities of LLMs, especially when working with new packages and frameworks. By accessing up-to-date information from documentation, code examples, and other sources, RAG-based LLMs can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Provide accurate and contextual responses&lt;/strong&gt;: Instead of relying solely on pre-trained data, LLMs can access the latest documentation and code examples to provide accurate and relevant information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adapt to evolving technologies&lt;/strong&gt;: As APIs and SDKs evolve, RAG can keep pace by constantly updating its knowledge base from official sources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this blog, we will build a powerful IDE agent for &lt;a href="https://pandas-ai.com/"&gt;PandasAI&lt;/a&gt; using Dash Agent. Then later on, we'll understand how using RAG can significantly improve LLM responses.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building PandasAI Agent
&lt;/h2&gt;

&lt;p&gt;PandasAI is a Python platform that makes it easy to ask questions about your data in a natural language. It integrates generative artificial intelligence capabilities into pandas to allow you to extract insights effortlessly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ck1ynlaxjmot6cuigtc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ck1ynlaxjmot6cuigtc.gif" alt="PandasAI Demo" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that you're familiar with PandasAI. Let's start our journey to build our own PandasAI agent. The job of this agent will be to assist developers in building and integrating PandasAI code efficiently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisite Steps
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Install Dart&lt;/strong&gt;&lt;br&gt;
Dash Agent is built upon dart language. If you haven't already, follow the official Flutter installation instructions &lt;a href="https://flutter.dev/docs/get-started/install"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Install dash_cli&lt;/strong&gt;&lt;br&gt;
Now, install the dash_cli command line tool that enables you to create and publish your agents at the CommandDash marketplace. Open your terminal and run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dart pub global activate dash_cli 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create PandasAI Project
&lt;/h3&gt;

&lt;p&gt;Next, you will create the pandas_ai project. This is the place where you will define your agent configurations. Run the following command in the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dash_cli create pandas_ai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will create a dash agent project that contains the template code agent building. Then, open the project in your preferred IDE where the &lt;a href="https://docs.flutter.dev/get-started/install/macos/mobile-ios?tab=download#text-editor-or-integrated-development-environment"&gt;flutter extension&lt;/a&gt; is installed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding Agent Data Sources
&lt;/h3&gt;

&lt;p&gt;The core of a RAG-based agent lies in its knowledge base, known as data sources. These sources provide the agent with context and information to understand and respond to user requests.&lt;/p&gt;

&lt;p&gt;For our PandasAI agent, we will gather data from the following sources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Official PandasAI Documentation&lt;/strong&gt;: &lt;a href="https://docs.pandas-ai.com"&gt;https://docs.pandas-ai.com&lt;/a&gt;, &lt;a href="https://pandasai-docs.readthedocs.io/en/latest"&gt;https://pandasai-docs.readthedocs.io/en/latest&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Official Examples and Issues shared by PandasAI team&lt;/strong&gt;: &lt;a href="https://github.com/sinaptik-ai/pandas-ai"&gt;https://github.com/sinaptik-ai/pandas-ai&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Other Open Source Examples&lt;/strong&gt;: &lt;a href="https://github.com/kBrutal/CSV_ChatBot"&gt;CSV Chatbot&lt;/a&gt;, &lt;a href="https://github.com/InsightEdge01/GroqMultiCSVChatPandasAI"&gt;GroqMultiCSVChatPandasAI
&lt;/a&gt;, &lt;a href="https://github.com/InsightEdge01/MutipleCSVChatllama3Pandasai"&gt;MutipleCSVChatllama3Pandasai&lt;/a&gt;, &lt;a href="https://github.com/TirendazAcademy/PandasAI-Tutorials"&gt;PandasAI-Tutorials&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Navigate to the &lt;strong&gt;lib/data_sources&lt;/strong&gt; file in your project and replace the existing code with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/data/datasource.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/data/filters/filter.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/data/objects/file_data_object.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/data/objects/project_data_object.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/data/objects/web_data_object.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Indexes all the documentation related data&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;DocsDataSource&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;DataSource&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;FileDataObject&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;fileObjects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;ProjectDataObject&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;projectObjects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;webObjects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromSiteMap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'https://docs.pandas-ai.com/sitemap.xml'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromSiteMap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;'https://www.xml-sitemaps.com/download/pandasai-docs.readthedocs.io-a2835e7d4/sitemap.xml?view=1'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Indexes all the example code and issues related data&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ExampleDataSource&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;DataSource&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;accessToken&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'your_personal_github_access_token'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;FileDataObject&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;fileObjects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;ProjectDataObject&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;projectObjects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;webObjects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromGithub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;'https://github.com/sinaptik-ai/pandas-ai'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;codeFilter:&lt;/span&gt; &lt;span class="n"&gt;CodeFilter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;pathRegex:&lt;/span&gt; &lt;span class="sx"&gt;r'^examples\/.*'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromGithub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;'https://github.com/ismailtachafine/PandasAI-CSV-Analysis'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;codeFilter:&lt;/span&gt; &lt;span class="n"&gt;CodeFilter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;pathRegex:&lt;/span&gt; &lt;span class="sx"&gt;r'.*\.py$'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromGithub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;'https://github.com/kBrutal/CSV_ChatBot'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;codeFilter:&lt;/span&gt; &lt;span class="n"&gt;CodeFilter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;pathRegex:&lt;/span&gt; &lt;span class="sx"&gt;r'.*\.py$'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromGithub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;'https://github.com/InsightEdge01/GroqMultiCSVChatPandasAI'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;codeFilter:&lt;/span&gt; &lt;span class="n"&gt;CodeFilter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;pathRegex:&lt;/span&gt; &lt;span class="sx"&gt;r'.*\.py$'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromGithub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;'https://github.com/InsightEdge01/MutipleCSVChatllama3Pandasai'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;codeFilter:&lt;/span&gt; &lt;span class="n"&gt;CodeFilter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;pathRegex:&lt;/span&gt; &lt;span class="sx"&gt;r'.*\.py$'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;
        &lt;span class="n"&gt;WebDataObject&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;fromGithub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="s"&gt;'https://github.com/TirendazAcademy/PandasAI-Tutorials'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;accessToken&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="nl"&gt;codeFilter:&lt;/span&gt; &lt;span class="n"&gt;CodeFilter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;pathRegex:&lt;/span&gt; &lt;span class="sx"&gt;r'.*\.py$'&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;
      &lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above code shared the references of sources that need to be indexed both the documentation and examples. Apart from the sources link, you have also provided &lt;code&gt;accessToken&lt;/code&gt; and &lt;code&gt;codeFilter&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;accessToken&lt;/code&gt;: During processing, the CommandDash server indexes data for &lt;code&gt;WebDataObject.fromGithub&lt;/code&gt;  via Github's official API. To fetch the data from the GitHub API efficiently, the personal github token is required and can be easily generated by visiting the &lt;a href="https://github.com/settings/tokens"&gt;tokens&lt;/a&gt; page. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CodeFilter&lt;/code&gt;: This filter enables the framework to selectively index the code files based on the regex shared. This is optional.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Your Personal Access Token is very sensitive data. Please make sure not it share it with anyone or push it to any public source.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can learn more about &lt;code&gt;WebDataObject&lt;/code&gt; and associated properties in detail at CommandDash &lt;a href="https://www.commanddash.io/docs/capabilities-datasources"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding Agent System Prompt and Metadata
&lt;/h3&gt;

&lt;p&gt;Next, you'll add system prompt and agent metadata to the &lt;code&gt;AgentConfiguration&lt;/code&gt; class. Navigate to &lt;strong&gt;lib/agent.dart&lt;/strong&gt; file and replace the existing code with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/configuration/metadata.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/data/datasource.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/configuration/command.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/configuration/dash_agent.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'data_sources.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PandasAI&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="n"&gt;AgentConfiguration&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;docsDataSource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;DocsDataSource&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="n"&gt;exampleDataSource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ExampleDataSource&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="c1"&gt;// Add the metadata information about PandasAI agent&lt;/span&gt;
  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="n"&gt;Metadata&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;metadata&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;Metadata&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="nl"&gt;name:&lt;/span&gt; &lt;span class="s"&gt;'Pandas AI'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nl"&gt;avatarProfile:&lt;/span&gt; &lt;span class="s"&gt;'assets/logo.jpeg'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nl"&gt;tags:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'LLM Framework'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'Data Analysis'&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

  &lt;span class="c1"&gt;// Add the systemPrompt for dash agent's commandless mode (also know as chat mode). &lt;/span&gt;
  &lt;span class="c1"&gt;// System prompt is a key component for conversational-style agents. As it provides &lt;/span&gt;
  &lt;span class="c1"&gt;// the initial context and guidance regarding the agent's purpose and functionality to the LLM.&lt;/span&gt;
  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;String&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;registerSystemPrompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="s"&gt;'''You are a Pandas AI assistant inside user'&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;IDE&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;PandasAI&lt;/span&gt; &lt;span class="k"&gt;is&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;Python&lt;/span&gt; &lt;span class="kn"&gt;library&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;makes&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="n"&gt;easy&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;ask&lt;/span&gt; &lt;span class="n"&gt;questions&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;your&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;natural&lt;/span&gt; &lt;span class="n"&gt;language&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

      &lt;span class="n"&gt;You&lt;/span&gt; &lt;span class="n"&gt;will&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;provided&lt;/span&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;latest&lt;/span&gt; &lt;span class="n"&gt;docs&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;examples&lt;/span&gt; &lt;span class="n"&gt;relevant&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="n"&gt;questions&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;have&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;help&lt;/span&gt; &lt;span class="n"&gt;them&lt;/span&gt; &lt;span class="n"&gt;achieve&lt;/span&gt; &lt;span class="n"&gt;their&lt;/span&gt; &lt;span class="n"&gt;desired&lt;/span&gt; &lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Output&lt;/span&gt; &lt;span class="n"&gt;code&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;quote&lt;/span&gt; &lt;span class="n"&gt;links&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;say&lt;/span&gt; &lt;span class="n"&gt;I&lt;/span&gt; &lt;span class="n"&gt;don&lt;/span&gt;&lt;span class="s"&gt;'t know when the docs don'&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="n"&gt;cover&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="s"&gt;'s query.'''&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

  &lt;span class="c1"&gt;// Add the data sources that needs to indexed for RAG purposes.&lt;/span&gt;
  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;DataSource&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;registerDataSources&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;docsDataSource&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exampleDataSource&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

  &lt;span class="nd"&gt;@override&lt;/span&gt;
  &lt;span class="kt"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Command&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="kd"&gt;get&lt;/span&gt; &lt;span class="n"&gt;registerSupportedCommands&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above code basically glues everything all together for the PandasAI agent - data source, metadata, system prompt, commands, etc. that are needed to build the dash agent.&lt;/p&gt;

&lt;p&gt;For more details related to the &lt;code&gt;AgentConfiguration&lt;/code&gt; please read the &lt;a href="https://pub.dev/packages/dash_agent"&gt;dash_agent framework&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Finally, head to &lt;strong&gt;bin/main.dart&lt;/strong&gt; file and replace the existing code with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:dash_agent/dash_agent.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="s"&gt;'package:pandas_ai/agent.dart'&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;/// Entry point used by the [dash-cli] to extract your agent&lt;/span&gt;
&lt;span class="c1"&gt;/// configuration during publishing.&lt;/span&gt;
&lt;span class="n"&gt;Future&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;void&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="kd"&gt;async&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;processAgent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PandasAI&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Your agent is now configured and ready to be used. Next, you'll publish it so that it can be tested and shared with other devs as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Publishing the PandasAI Agent
&lt;/h2&gt;

&lt;p&gt;You need to be logged in to dash_cli using GitHub auth to publish your agent. Run the following command in the terminal to login:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dash_cli login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, run the following command in the terminal from the root folder of your pandas_ai project to publish the agent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dash_cli publish
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will validate the configuration and if all looks good. It will schedule your agent publication. Once your agent is ready to be used. You will get an email confirming the successful publication and PandasAI will be visible in the CommandDash Marketplace:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9qzwcaeyv0gnaxttujw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9qzwcaeyv0gnaxttujw.png" alt="PandaAI dash agent in CommandDash marketplace" width="800" height="831"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Congratulations! 🎉 Now you know how to create powerful agents using the Dash Agent framework. These agents leverage the power of RAG and LLMs. We're excited to see the innovative agents you'll build with &lt;a href="https://www.commanddash.io/docs/introduction"&gt;Dash Agent&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also, don't forget to try out the PandasAI agent, which is currently live on the CommandDash extension for VS Code. Check it out &lt;a href="https://marketplace.visualstudio.com/items?itemName=WelltestedAI.fluttergpt"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Next up, we will see in our upcoming blog, how well PandasAI perform. Stay tuned!&lt;/p&gt;

</description>
      <category>rag</category>
      <category>commanddash</category>
      <category>pandasai</category>
      <category>vscode</category>
    </item>
    <item>
      <title>5 VSCODE AI Extensions for devs in 2024</title>
      <dc:creator>Samyak Jain</dc:creator>
      <pubDate>Fri, 14 Jun 2024 07:44:29 +0000</pubDate>
      <link>https://dev.to/commanddash/5-vscode-ai-extensions-devs-build-with-in-2024-51n3</link>
      <guid>https://dev.to/commanddash/5-vscode-ai-extensions-devs-build-with-in-2024-51n3</guid>
      <description>&lt;p&gt;As somebody who has been building AI developer tooling for about a couple years now, I like to keep an eye on what are the most productive extensions that developers can utilize.&lt;/p&gt;

&lt;p&gt;Today, I'm sharing a list of top 4 extensions + CommandDash based on some recent surveys by StackOverflow and my own findings.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Github Copilot (Paid)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm0ngc07a638vdkxjggy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm0ngc07a638vdkxjggy.png" alt="Image description" width="800" height="131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copilot is the go to programming assistant for most professional developers. &lt;/p&gt;

&lt;p&gt;It comes with features like auto complete and chat and can help you with most of your coding tasks. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Codeium (Free)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimkal8o09azhoc4wl8w7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimkal8o09azhoc4wl8w7.png" alt="Image description" width="800" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With 1.1M downloads, Codeium stands as the top free AI Coding extensions. It offers the same feature set as Copilot and is stable and trusted. &lt;/p&gt;

&lt;p&gt;They have recently raised 65M$ as their Series B so we can expect the extension to be improved further in the upcoming months.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It is a good idea to either have one of Copilot or Codium enabled in their IDE. Though personally, I don't use any of them and rely on CommandDash which solves the needs for me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  3. Codiumate (Free)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0snnjkrk442q1xkh0ttv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0snnjkrk442q1xkh0ttv.png" alt="Image description" width="800" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are a developer that believes in writing code tests - this is the extension for you. &lt;/p&gt;

&lt;p&gt;They have focused on building specialized testing and PR review copilot that supports most programming languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. ChatGPT - Genie AI (Bring your own Key)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F38e781k1h6wbv6tcuc2t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F38e781k1h6wbv6tcuc2t.png" alt="Image description" width="800" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are a ChatGPT user, this extension brings it to your VSCode. You can put in your OpenAI key and get stared!&lt;/p&gt;

&lt;p&gt;Though very popular, it seems like that the team is not actively maintaining the extension, so please use with caution.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. CommandDash (Bring your own Key)
&lt;/h2&gt;

&lt;p&gt;CommandDash is World's first marketplace of programming agents in VSCode. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi667hwvykcd3or5pyd4r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi667hwvykcd3or5pyd4r.png" alt="CommandDash extension in vscode marketplace" width="800" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The agents are expert at specific tooling and are trained on it's docs, examples and Github issues. For example, if you want to build with Langchain, just install the agent for it from their marketplace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcukip9qvh83jwued2zd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcukip9qvh83jwued2zd.png" alt="Installing Langchain agent from commanddash" width="800" height="913"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can then ask any questions and get contextualized integration code without having to read it's documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pcc4l269hk4cd265xcz.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pcc4l269hk4cd265xcz.gif" alt="Using Langchain agent in commanddash" width="608" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is completely open sourced and anybody can publish on the marketplace. You can read more about them &lt;a href="https://www.commanddash.io/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are a lot many other extensions that are growing fast and I'd soon cover them in another post.&lt;/p&gt;

&lt;p&gt;Share know what extensions are you using in the comments!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>githubcopilot</category>
      <category>ai</category>
      <category>coding</category>
    </item>
    <item>
      <title>Understanding Dash Agents: A LangChain Case Study</title>
      <dc:creator>Yogesh Choudhary</dc:creator>
      <pubDate>Wed, 12 Jun 2024 18:23:51 +0000</pubDate>
      <link>https://dev.to/commanddash/understanding-dash-agents-a-langchain-case-study-1ip2</link>
      <guid>https://dev.to/commanddash/understanding-dash-agents-a-langchain-case-study-1ip2</guid>
      <description>&lt;p&gt;In software development, integrating APIs and SDKs is crucial. Yet, the process can be tedious and time-consuming. Documentation, syntax complexities, and debugging can quickly become time-consuming roadblocks. Thankfully, this is where Dash Agents comes in to ease these headaches.&lt;/p&gt;

&lt;p&gt;This blog post explores the capabilities of Dash Agents. It shows how they simplify the integration of APIs and SDKs for tools and frameworks like LangChain.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is LangChain?
&lt;/h2&gt;

&lt;p&gt;LangChain is a framework that allows users to integrate LLMs into their projects. It provides a comprehensive toolkit for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Model Handling&lt;/strong&gt;: It supports various LLMs and allows for easy integration of custom models, offering prompt templates and engineering tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Processing and Pipelines&lt;/strong&gt;: LangChain provides tools for data preprocessing and augmentation, along with the ability to create custom pipelines with a modular design.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deployment and Monitoring&lt;/strong&gt;: It supports cloud deployment and scaling, offers evaluation metrics and real-time monitoring, and ensures security and compliance measures are in place.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can learn more about the LangChain framework on their &lt;a href="https://www.langchain.com"&gt;Official site&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing LangChain Agent
&lt;/h2&gt;

&lt;p&gt;Imagine having an intelligent assistant in your IDE. It's always there to help you integrate any LangChain-based code into your project. That's precisely what the LangChain Dash Agent offers.&lt;/p&gt;

&lt;p&gt;Why You'll Love LangChain Agent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Extensive API Knowledge&lt;/strong&gt;: It is shared with vast knowledge of LangChain framework documentation and sample codes, allowing it to provide nearly accurate code and insights.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Contextual Awareness&lt;/strong&gt;: It is designed to respond to queries with the understanding of your codebase and project context. Thus, capable of providing better assistance and solutions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Saving Time During Coding&lt;/strong&gt;:  It generates the required code for you and if required debugs the code for you, saving you a lot of time. Thus, forget the days of tedious manual API docs searching and then coding only to realise that you need to fix a bug by searching multiple sources.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install LangChain Agent
&lt;/h2&gt;

&lt;p&gt;Let's start by setting up your agent. If you've already LangChain installed please continue to the next section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Install CommandDash Extension&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Head over to the VS Code Marketplace and search for "CommandDash." Install the extension.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1fzi6oggi66n9d1k45b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk1fzi6oggi66n9d1k45b.png" alt="Fig. 1 — Install CommandDash" width="790" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Sign in to CommandDash&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open the extension once installed. You'll need to sign in and provide your &lt;a href="https://aistudio.google.com/app/apikey"&gt;Gemini key&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Install LangChain Agent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then, go to the CommandDash Marketplace within your Extension.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa2dojblwdc62xe4pm8h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxa2dojblwdc62xe4pm8h.png" alt="Fig. 2 - Open CommandDash Marketplace Page" width="800" height="72"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Search for "LangChain" and install the agent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnannm0od1ougihztji80.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnannm0od1ougihztji80.png" alt="Fig. 3 — Install LangChain Agent" width="800" height="141"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, it's time to put the installed LangChain agent to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started with LangChain Agent
&lt;/h2&gt;

&lt;p&gt;Finally, it is time to put the agent to work with a compelling use case: building a creative text generator in Python. &lt;/p&gt;

&lt;p&gt;This program takes the starting phrases of the poem as input. Then, it uses an LLM to extract the user's writing style and generate the remaining part of the poem.&lt;/p&gt;

&lt;p&gt;Start by activating the LangChain agent. In your CommandDash extension, type &lt;code&gt;@&lt;/code&gt; in the bottom text field and select "LangChain" from the dropdown:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbug7vofze2f604kbihp.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbug7vofze2f604kbihp.gif" alt="Fig. 3 — Activate LangChain Agent" width="600" height="1046"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This activates the agent within your current workspace.&lt;/p&gt;

&lt;p&gt;For demo purposes, we will attempt to use OpenAI's latest model - "GPT-4o". Type the following query into the CommandDash text field:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Generate the Python code to create an application to generate poem with the user-supplied initial phrases using OpenAI gpt-4o model"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The agent will analyze your request and will respond something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ChatOpenAI&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_core.prompts&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ChatPromptTemplate&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_core.messages&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HumanMessage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SystemMessage&lt;/span&gt;

&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_OPENAI_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;generate_poem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;initial_phrases&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gpt-4o&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Generates a poem using OpenAI&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;s GPT-4o model.

    Args:
        initial_phrases (list): A list of initial phrases to start the poem.
        model (str, optional): The OpenAI model to use. Defaults to &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gpt-4o&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.

    Returns:
        str: The generated poem.
    &lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

    &lt;span class="n"&gt;llm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ChatOpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;prompt_template&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ChatPromptTemplate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_messages&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="nc"&gt;SystemMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are a helpful and creative poet. Generate a poem using the following initial phrases as inspiration: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="nc"&gt;HumanMessage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt; &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;initial_phrases&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;messages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;prompt_template&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;format_messages&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;llm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;initial_phrases&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Enter your initial phrases separated by commas: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;poem&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;generate_poem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;initial_phrases&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Generated Poem:&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;poem&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;Explanation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="n"&gt;Some&lt;/span&gt; &lt;span class="n"&gt;explanation&lt;/span&gt; &lt;span class="n"&gt;about&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;code&lt;/span&gt;
&lt;span class="bp"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In our case, we haven't asked for any API integration request but rather an app itself. Thus, the agent supplied us with the whole end-to-end Python code.&lt;/p&gt;

&lt;p&gt;Copy the code to a blank Python file and read the generated code. Right now, you can also update the code as needed. For instance, the current generated code is missing the &lt;code&gt;import os&lt;/code&gt; statement. So, I will manually add the missing import.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tip&lt;/strong&gt;: At times, if you ever feel like the solution isn't straightforward, or you want to explore the problem more deeply or find a quick fix. Feel free to continue conversing with the agent.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Finally, add your &lt;a href="https://platform.openai.com/docs/quickstart/account-setup"&gt;OpenAI API&lt;/a&gt; key and run the app by executing the updated code:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6pfzqe2pvssheyswn2n.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6pfzqe2pvssheyswn2n.gif" alt="Fig. 4 — Run Python App" width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;LangChain agent is not all that CommandDash has to offer. We have more agents for various APIs and SDKs, such as &lt;a href="https://commanddash.hashnode.dev/how-to-use-firebase-genkit-in-your-nodejs-applications?source=more_articles_bottom_blogs"&gt;Firebase Genkit&lt;/a&gt;, Pandas AI, Vercel AI, and more. &lt;/p&gt;

&lt;p&gt;Additionally, we also allow developers like you to create public agents for your teams and other developers. If  interested, do visit the &lt;a href="https://www.commanddash.io/docs/introduction"&gt;Dash Agents Docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That concludes this blog post. Now it's time to try it out yourself and materialize your LangChain use case to code instantly with CommandDash. We always love to hear what you build!&lt;/p&gt;

</description>
      <category>langchain</category>
      <category>codegen</category>
      <category>commanddash</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
