8 ms·
Add an AI Code Copilot to your product using GPT-4
- deleted 3y ago[deleted]
- abidlabs 3y agoPlease add support for open-source LLMs from Hugging Face :)
- rubenfiszel 3y agoYes, we will do this next and address this in the post. We wanted to validate the approach first using the best model available but using another model is just one endpoint change away in the codebase https://github.com/windmill-labs/windmill/blob/8d550a7ea5708ccae1136f4c0445fd9e4573341c/backend/windmill-api/src/openai.rs#L108 https://github.com/windmill-labs/windmill/blob/8d550a7ea5708... As an open-source project ourselves, it is pretty obvious next step!
- slig 3y agoLove Windmill so much. It's blazing fast, super easier to try it out locally with docker-compose, and Ruben and his team are shipping new features / fixing bugs every day, and the product only gets better.
- bluecoconut 3y agoWe've been using windmill for our internal tooling and dashboards and its been great! Genuinely excited to see GPT-4 integration, we'll definitely give it a go. Some things we've done with windmill so far: * Slack bots / alerts from scheduled jobs -> All sourced in one location * One source of truth for connectors (google drive / sheets, slack, postgres database aggs) * Complex ATS flows (We load our applicants through a windmill task that runs LLMs to parse against a rubric we made, scores then get pushed back into the ATS system as an AI review, then that job reports to slack which helps us prioritize) * Dashboards (Though I'll admit a bit of sharp-edges here on the UI builder) running complex python + pandas tasks that pull from postgres and run dashboards for us with pretty VEGAlite plots * Job orchestration -- (though this is partially on hold) we have prototyped orchestrating some of our large workloads, data pipelines, etc. in a few different ways. (we run spark jobs and ray jobs on distributed clusters, and have been trying to use windmill to orchestrate and schedule these, with alerts) Additionally, windmill made running and tracking these things (like the ATS system) accessible to my "low"-technical co-founder, who regularly will hop in and run the job or browse through error logs of previous runs. Last, I found some bugs, reported in their discord and I heard back from rubenf very quickly and fixes went in rapidly too! Huge shoutout to the great work the windmill team is doing.
- amelius 3y agoCan I configure this to only return code based on my current codebase, or any codebase I choose?
- rubenfiszel 3y agoCurrently the context is limited to your database schemas, your resources, and the current script code. But we will soon augment it the rest of your code. The techniques applied here would remain relevant but you would need to find the most relevant context of your codebase first since you can't (or shouldn't) cram all the codebase in your prompt.
- SparkyMcUnicorn 3y agoIf Windmill had Langchain and/or LlamaIndex integration, that would be incredibly awesome. That's the AI integration I'd love to see in a low-code product. Langflow/Flowise (especially the former) has almost everything I need within the AI world, and Windmill has everything else. Bridging the gap between them would be pretty great.
- thawab 3y agoI think windmill can go a step further if you add the vectordb to the same database https://github.com/neondatabase/pg_embedding https://github.com/neondatabase/pg_embedding
- Difwif 3y agoI've started to build this exact kind of setup for everything I do into Emacs. It has dramatically improved my productivity and made development a joy. Rather than just having the completion style AI of Github copilot I freely move around my work, highlight functions and ask for completions. Or I provide an entire package/directory as context and ask for new files. I can iterate with followups. I can ask for inplace responses or commentary in a sidebar. I've setup predesignated prompts/questions and tied them to keybindings. I've discovered that I can provide stacktraces to GPT4 with my code context and it can pretty quickly debug my code. It feels like pair programming with a very fast junior engineer. I do this with code, design documents, and task planning.
- infruset 3y agoCare to share your scripts and setup? I would love to explore something like that!
- whompyjaw 3y agoWow. Ya this is great. Any dotfiles to skim through? I am a Doom Emacser myself, slowly learning the elisp flow to make my own config, and this seems like something I could chew on. :)
- avbanks 3y agoseems like you can accomplish that w/ https://github.com/emacs-openai/chatgpt https://github.com/emacs-openai/chatgpt
- steve_adams_86 3y ago> I've discovered that I can provide stacktraces to GPT4 with my code context and it can pretty quickly debug my code. I was blown away by how effective it is when I tried it. Unfortunately there are cases where it doesn't work well, and it can still hallucinate solutions when it has no idea what the problem is, but generally speaking it's excellent. My goal was to tie this into VS Code and attach it to processes that would expose an error stack to the AI agent when things went wrong, and it would then iteratively attempt to find and test solutions for you. I couldn't get the success rate high enough to bother publishing it, but it was really fun and I learned a lot. I also saw that GitHub is essentially doing this and much more with Copilot X, so my solution would never compare anyways. I think this will become a huge time saver in the near future, though. When it worked well, I could have a solution to the error and tests to validate the solution within 30 seconds or so.
- mercurialsolo 3y ago- Did you use any fine-tuning with this or is this standard GPT4? - Does quality of response improve with any additional examples? - Does this perform well for specific languages?
- rubenfiszel 3y agoNo need to fine-tune since windmill uses normal code without custom syntax so gpt4 corpus works very well. That's one of the benefit of not using DSL, most tooling work well out-of-the-box including vscode copilot if you were to use windmill using the GitHub/vscode integration.
- joshma 3y agoIt's interesting because we came to a different conclusion with Autopilot[0] - context and learning is incredibly important for result quality, and gpt4 doesn't (yet) support fine-tuning but will soon, and we'll definitely be taking advantage of that. Not just for quality, but also for speed (less time spent gathering context and processing input tokens). My view is, everyone has access to chatgpt and github copilot, and so the idea is to provide value in excess of what chatgpt/copilot can do. Part of that is embedding it in the UI, but (especially for internal tools, which tend to be shorter) the improvement isn't huge over copy/paste or using copilot in vs code. However, beyond UI integration, we can intelligently pull context on related files, connected DBs/resources, SDKs you're using, and so on. And that's something chatgpt can't do (for now). The quality of response, from what we saw, dramatically improved with the right docs and examples pulled in. And yes, gpt4 does much better on JS (React specifically) and Python. It's just whatever it's trained on, and there's a ton more JS/Python code out there. [0] https://www.airplane.dev/autopilot https://www.airplane.dev/autopilot
- sisve 3y agoTo be able to click a button and send in script, Context and error message. I belive is a huge changes not a small change. Speeding ut the turnaround time a lot. I will fins out the next 2 weeks at least. I hopw this will change how i program
- lancebeet 3y agoThere seems to be a bug in the regex in the video as well as the text below. [a-zA-z] is going to include the characters between Z and a as well as the upper and lower case letters. The claim by GPT that it matches "any letter (upper or lower case)" doesn't seem to catch it either for some reason.
- HugoCasa 3y agoNice catch, thanks! Fixed it (https://github.com/windmill-labs/windmill/pull/1992 https://github.com/windmill-labs/windmill/pull/1992)
- js4ever 3y agoWindmill is amazing, incredibly powerful and easy to run anywhere. Thank you so much for making it open source and building in public. I wish you a LOT of success!
- ZephyrBlu 3y agoAfter reading this Twitter thread and watching the talk it was referencing I can't help thinking that a chat/text interface to AI is lazy product design. https://twitter.com/transitive_bs/status/1646778220052897792 https://twitter.com/transitive_bs/status/1646778220052897792 https://www.youtube.com/watch?v=rd-J3hmycQs https://www.youtube.com/watch?v=rd-J3hmycQs Features like their "AI Fix" feel much more like the direction things should go. Providing context-based actions without requiring user input. E.g. use the database schema, existing code, etc as context to suggest actions without a user having to type it out.
- moonchrome 3y agoProblem is generative AI sucks at this. I've had multiple instances where it would say something like "you did this part of the code wrong fix it like this" and it would go "sorry for the confusion here's the code with your suggestion " then repeat the initial code or do something else entirely. GPT4, Copilot X, JetBrains AI - I've seen an instance of this problem in all of them. Personally copilot is a magical typing speedup and that got me enthusiastic about next step - but it looks like next step is going to require another breakthrough considering GPT4 HW requirements and actual performance. Chat interface as a search bot is the only use case I've found it useful outside of copilot - regurgitating relevant part of internal documentation as search on steroids, even 3.5 is relatively decent at this.
- ZephyrBlu 3y agoI completely disagree. I've found that GPT-4 and Copilot Chat generate good suggestions most of the time. What kind of things are you try to use codegen for? You also need to provide adequate context. I don't think source code alone is good enough context most of the time (E.g. need an error message as well), unless you're pulling in multiple chunks of code.
- deleted 3y ago[deleted]
- gertlex 3y ago
- 634636346 3y agoDoesn't this give OpenAI access to your source code?
- capableweb 3y agoI don't think it'd give them access at any time but related data/code for gets sent to OpenAI when you use it, all LLM models who work with code work that way, otherwise it'd be unfeasible. However, OpenAI pinky promises they don't use API data for anything, like training. Maybe that makes you feel a bit safer, although probably it shouldn't.
- Gijs4g 3y agoOpenAI said they where non-profit, until they suddenly were for-profit. So I think we shouldn't trust them that much.
- 634636346 3y ago> However, OpenAI pinky promises they don't use API data for anything, like training. Maybe that makes you feel a bit safer, although probably it shouldn't. It doesn't. I don't trust OpenAI or Sama. Frankly, I'm even hesitant to use VSCode now, even with its customizable privacy/telemetry settings (though I can at least limit its network access).
- sisve 3y agoSource code as in current script yes. But not your entire codebase. Depending on your company thay may or may not be a showstopper.
- sisve 3y agoWindmill is such a great product and having the code editor and the execution layer in the same product gives a lot of power. The only similar product i know that has this approche is darklang. Do we as a industry have a good name for this yet? (Im not talking about other low code platforms where code is secondary. Both darklang and windmill is code first. Giving them a huge advantage when doing thinks like AI since they can test on real data really fast. Making the turnaround speed and time to production potentially really low)
- dr_dshiv 3y agoCursor.so?
- sisve 3y agoSeems like only a editor. Do that host and run your code also? Windmills "Fix error", looks so nice. But you need a tight Integration between the editor / code and the execution platform.
- emzg 3y agoWe do support these type of workflows in our spin on Python notebooks: https://einblick.ai https://einblick.ai Since we control the code and the execution we can do a lot of interesting things with sending specific context to the LLMs like this "Fix error" feature.
- visarga 3y agoThis is how I expected the latest Copilot to work: integrate more data from the disk, see runtime variables when in debugging mode, and receive the error messages when the program crashes. Unfortunately it didn't improve much.
- deleted 3y ago[deleted]
- ImageXav 3y agoThis looks really interesting and I hadn't really thought of this as a use case before. Does anyone here know if a similar product is available as an extension for VS Code? I know that I would love to be able to tell VS to just comment all of my functions for me and ensure that the typing is correct.
- tydunn 3y agoContinue (disclaimer: I am a creator) is a VS Code extension that enables you to highlight a section of code or file and tell it to comment all of your functions and ensure that the typing is correct. Here is the point in our demo video where we show this: https://youtu.be/3Ocrc-WX4iQ?t=31 https://youtu.be/3Ocrc-WX4iQ?t=31. You could even create a custom slash command to do this if you do it frequently and want it done in the same specific way: https://continue.dev/docs/customization#custom-commands https://continue.dev/docs/customization#custom-commands
- el_isma 3y agohttps://codeium.com/ https://codeium.com/ I find it very helpful, does code completion too and has a chat interface. You can select code and ask for refactorings, comments and whatever.
- jcims 3y agoOne of these days I would love to work at a company where all of you service providers didn't need SOC2 compliance and an 10 week risk assessment prior to even signing a contract.
- andy_ppp 3y agoAre startups built on ChatGPT about as useful as ChatGPT? I really do not see the value-add from anyone yet? An interesting question is, what are you providing above copying and pasting a load of my data into ChatGPT in a way that I’m not sure I gave you permission to?
- Solvency 3y agoStartups built on ChatGPT can be useful, but their value depends on the specific applications and services they offer. While ChatGPT can generate content, these startups need to showcase unique features and services that go beyond simply using ChatGPT. Regarding data usage, reputable startups should always prioritize user consent and comply with privacy regulations to ensure data is handled responsibly. Transparency and clear user consent are essential aspects of building trust in AI-powered applications. This response is powered by HackerGPT4.
- sincerely 3y agoGreat example of GPT outputting a lot of words that completely fails to answer the posed question.
- Aicy 3y agoI could tell this was chatGPT generated after the first sentence and a half. So wishy washing, and saying "it depends" which works as an answer regardless of the question it is answering.
- killingtime74 3y agoA lot of established companies are using it as well. https://www.atlassian.com/blog/announcements/unleashing-power-of-ai https://www.atlassian.com/blog/announcements/unleashing-powe... is your issue that there's not much value add in general or that startups are using it?
- thamer 3y agoThey are as useful as ChatGPT with a good prompt. For a given task, ChatGPT seems to do way better if it given a precise prompt with detailed instructions. This includes describing the context of the problem, maybe what kind of data it will be operating on, and especially the format in which to output its answer. Once the answer is produced in the expected format, the application can then integrate it into its own data and make it immediately available. An embedded AI assistant in a product can provide a lot of this context, whereas a simple user of ChatGPT on the web might not end up with an answer that they can use immediately. I have no doubt that many people spend more way time preparing data for and extracting data out of ChatGPT than how long it took to answer. You can see an example of this in this demo of a tool called Tana: https://youtu.be/FlqpK8ucf8s?t=310 https://youtu.be/FlqpK8ucf8s?t=310 – the user is asking for airline home bases, and has to add "do not mention the country" for the data to have the right format. Once the prompt is correct though, the app is able to ingest this generated data and merge it with the user's.