Is there something I'm missing here? How can I use it enhance my life? I guess I kind of see it like a really smart assistant, but it's like Google already serves that role, and does it even better.
I guess my issue with AI is that it ultimately only provides one perspective, whereas the great thing about Google is that I can search for many multiple different perspectives on the same topic. I dunno.
1. Generating config files: Eg, Webpack, Docker-compose. Describe your use-case and it will generate the config file you need. This is usually faster than perusing docs and looking for specific flags/options.
2. Generating CLI syntax: jq, cat, tar, find. The flags/syntax are so hard to remember when you want to do something specific. ChatGPT does a great job here in quickly generating the command you want.
3. Solving problems when you're stuck: When I feel stuck with a problem or an error message, ChatGPT has proven to be an invaluable resource. Even when the answer it gave was wrong, a little hint in there was enough for me to find the solution I needed.
4. Generating functions you're too lazy to write: Often, you know how to write a function but you're too damn lazy to write it. Eg, use axios, go to this URL, get the contents and write it to CSV. Writing a function to do this feels like a chore. ChatGPT is a helpful assistant in this case.
Overall, I think there are plenty of ways the tool can save you time, even if you're skeptical about changing your whole workflow.
- English is not my native language, and prepositions give me constant trouble. I've used ChatGPT to check whether a turn of phrase is idiomatic, if I'm using the right preoposition, etc.
- ffmpeg command lines! "I have a MOV file that I want to resize to 720p, taking the audio track from this external MP3 file, and putting the resulting streams in a MP4 container". It gives me the command line, works most of the time. Same for some esoteric bash loop constructs.
- High-level overview of things. "How does my short film become Oscars-eligible?" It tells me things. I ask follow-up questions on the original answer.
- Detailed facts. "Explain why a wide-open lens has a shallower depth of field than if I stop it down".
Basically I don't trust it to generate new ideas, but it seems to be OK at answering specific questions about facts that can be synthesized from existing online sources. I'm sure these kind of questions have been asked online a million times, so I expect it to get the answers (posted by a human) and customize them to my specific use case.
For example, "How do you do X in Golang?"
It's also great for translation-like questions like, "Given this cURL command, can you generate a Go function...", or "Can you port this Ruby code into Go", etc.
Github copilot is slightly useful for creating boilerplate code. But I try to code in ways that avoid boilerplate in the first place.
Image generators are great if you need custom images and can't draw.
If I felt the need to write formal business emails with greetings and full paragraphs I might use it for that. But I mostly just send a few sentences, which saves everyone time and feels more on-brand for me.
It's been a mixed experience, it got me started but did not help much with understanding the error messages, retreading a lot. Still basically from its dawdling I gathered knowledge I did not have before, and gave me a sense of how to progress. To get me over the bump to a functioning solution I had to do my own thinking, the back and forth with Gemini stopped. At the end I used it again to fix some edge cases, there it helped. Without it I would maybe not have attempted the task, or I would have started with a focussed study of numba, and with this old-style approach I do not think would have gotten to a functioning solution faster, not sure though, too late to try that now.
- My kid's sports schedule is in a table on the school's site. Paste it into chatgpt, give it a few handling rules, and ask for the contents of an .ics file back. Now I have everything in my calendar.
- A job posting looked interesting but I couldn't figure out what the company actually did. Pasted their website copy into chatgpt, asked for an ELI5, and had a five minute conversation, after which I could convincingly answer the "why us?" interview question.
- I haven't done math problems in a long time, so when my kid needs help with something that's totally unfamiliar to me, I can paste a photo of his worksheet into chatgpt and ask for an explanation, and after a few minutes I know enough to help him.
I'm strong at PowerShell but haven't touched Hyper-V VM creation - I wanted to automate it. So I asked some questions on how I want my VM configured and it gave out a great starting point of powershell commands and parameters I need to use.
These tailored answers can even be tailored to different perspectives. You simply ask for the perspective you're looking for. E.g. "what is the problem with solar farms from a Republican perspective?"
But yes, one also needs to take care because due to how an AI is trained, they may have an innate bias and viewpoint even when asking for a different one. I've found that such "personal" points of view in conflict with some other are usually made pretty clear though if you're asking for another view. So it doesn't use to be hard to separate the two as both are plainly and separately made available in the reply if this happens.
But yeah, that's basically it for me. Tailored answers to my questions, as well as the generation aspect of course, where it can generate text or image content which Google can't.
Turning to ChatGPT, I encountered a similar initial response, suggesting the same popular solution that didn't apply to my case. However, I was able to communicate that this solution wasn't the right fit, prompting ChatGPT to suggest another possibilities. The third suggestion from ChatGPT finally hit the mark, identifying the right issue and offering a solution.
ChatGPT's interactive nature makes it akin to an interactive search engine, allowing me to refine my search by ruling out common results. Google, on the other hand, lacks this capability, making ChatGPT a valuable tool.
1. Learning new things - with interactive feedback. While there's a risk of hallucination, genereally for basic concepts on the undergraduate level, the proprietary models (eg. ChatGPT/GPT4) are generally pretty solid. For example, last year, I spent quite a bit of time asking ChatGPT about how the Federal Reserve works, and how it relates to interest rates. The benefit over plain old Google search is that I could ask much more precise questions than what Google searches would give me. You could check your understanding by confirming with the model whether a statement you make is correct. The feedback is invaluable.
2. Miscellaneous language tasks. Language models, unsurprisingly, excel at languages. It can do translation, rephrasing sentences or paragraphs (eg. make it more polite, casual, etc.), and generally converting sloppy writing into impeccable, grammatically correct, fluent prose. (And yes the larger models can even make anything rhyme if you ask them to.) More often though, when I need to express an idea but just couldn't think of the precise word, I can just ask ChatGPT for 10 words that have a similar meaning, and usually I'll get the word that I want.
3. As a coding assistant -- don't use ChatGPT for that, use a solution that integrates with your IDE/editor, and use it as coding autocomplete. It can help you write the (simple) functions you don't bother to write, and even though it usually fails at writing complicated things, sometimes the scaffolding reduces the amount of typing needed. And even if you don't trust the code it generates, you can use it to automatically generate comments and test cases.
I do agree it's probably not great if you think of it as a pocket search engine. LLMs have been called "a blurry JPEG of the web", you probably want to actually check info on the web rather than an inferior substitute.
Sometimes I also use it to ask about a topic that I don't know about, and take its output as a starting point to dig deeper.
I use ChatGPT for questions with some relatively long wording and also for queries that I know will have tons of ads and SEO-spam.
An example: yesterday I tried searching for board games that are cooperative and best played by two people. Google showed a lot of ads, very old outdated blog and forum posts. I had to navigate for some time to gather a list of games. A lot of open tabs, a lot of scrolling, a lot of ad closing.
I asked the same question on ChatGPT and it immediately gave me a clean list. With a few different good games that wasn’t in my Google-based list.
Then I went to BGG to check the games, as you can’t trust ChatGPT that much, but you also can’t trust that much listicles from Google.
Using both worked better than committing to one or another. Still, in this case (and many others) I think exploratory search on ChatGPt is better than Google. As I check the results later on a site (not Google) that has authority on it
I have recently been using chatgpt to estimate calories from pictures or descriptions. The few times I've checked, it's pretty accurate and is OK about providing ranges where it's uncertain.
I also ask it to tally calories for a day. It's got a chart of calories accumulated for me. It's so much easier than any app.
I often use copilot to avoid looking up syntax for things I should remember. I'll just comment / ask what I'm trying to do and it'll tab-complete that line. I rarely use it for boilerplate or larger amounts of code. But that one use saves me tons of time and context switches and is totally worth it.
I use ChatGPT for rough fermi-style questions. "How much does a cell phone weigh" etc. So much quicker than google, and better.
I often use ChatGPT to have an interactive learning session about surface details of a field I'm interested in. It allows me to find hooks into wikipedia or other search engines for specific topics to read more about, and to get questions answered quickly. It is second to none for this type of interaction and is really incredible.
Midjourney has taken hours of my life the last day or two. I love generating images in the style of this or that. For example, I'm creating schematics / blueprints for flying warships from the game highfleet, and printing them because they look cool. It adds some nerdy flair to my office. When I worked for NASA, my colleagues would do that for rover parts they've worked on, so I like the idea of capturing video game stuff as though it were important. If midjourney had a "buy print" button on it, it'd be dangerous and lucrative.
I feel like there's a couple startup ideas in this post.
However:
- it requires some level of fact checking
- it subtly reduces my personal retaining of information for technical concepts
- (in my personal experience), it largely fails on highly technical questions
I also use it to generate (hopefully) fictitious names when I need a name. "Elara Nightshade" is more interesting than "Test1 Test" or "Jane Doe3".
- Helped me a couple of times with complex regexp. It didn't go all the way, but gave me enough for me to fine-tune things.
- Helped me once with a complicated SQL query.
- I sucked at physics in high school. I like physics, but I found it hard to learn back in high school, a million years ago. Recently, because I literally had nothing better to do (boring life lol) I brushed the dust off a widely acclaimed physics textbook lying around and started reading it. Electromagnetism. Eventually I reached the point where things stopped making sense; missing premises for certain conclusions. I was able to clarify things with chatgpt. I was able to confidently ask it the stupid questions I had in my mind. Note that I come from a country where teachers shame you publicly for asking what they consider idiotic questions. "Me: Why does the glass rod acquire positive charge instead of the silk cloth? Teacher: Don't ask such stupid questions". I now wonder if this sort of thing has scarred me for life.
My take:
- More efficient than search engines at obscure problems, like configuring an unix tool. Help that you can ask 'explain step by step'
- It expands the range of topics you can read scientific papers in. You just ask it any topic or keyword you don't understand
- Good summaries of text that is valuable, but not worth reading in detail
- Translation
- Code generation/bug fixing. I don't use it this way but other s will tell you whether/how much their coding life improved this way
In recent years people have been learning about the importance of data security and recognizing tue addictiveness of social media. People are pulling back from the madness that surrounded social media 5 years ago.
AI will go through a similar cycle. Right now people are making wild claims about it that are easily debunked. But investors are going to keep pushing this stuff in our faces for a while.
We will learn as a society to put AI in its proper place.
Anyway, I have done extensive experiments with it. It’s not very reliable at anything. The policy of the companies producing these things is not to test them much before releasing. So, I doubt reliability will much improve.
>>>>>what version are you, by the way?
As a large language model, I don't have a single version number. Here's why and how it works:
1. Continual Evolution: I'm constantly being updated with new information and improved capabilities. This means there's no single "version" that stays static.
2. Base Model and Datasets: I'm built on top of core models like Google's LaMDA or PaLM. These underlying models have released versions, but my capabilities are more complex.
3. Customizations: The way I'm used (through specific products or services) can involve fine-tuning and data sets that make me unique to that application. This makes a global version number less meaningful.
How to Think About "Me":
Capabilities: Focus on what I can do for you. Can I translate languages? Write different styles of text? Help you research? These are more important than an arbitrary version number. Training Data: The information I've learned from shapes my responses. If you need to know the general time frame I was trained on, I could provide a range (e.g., "My knowledge is primarily from before 2023"). Transparency: In sensitive situations, the company or developer using me should be able to give some indication of my limitations and biases, even if it's not a traditional version number. Let me know if you'd like to check my capabilities on a specific task!
>>>>>what is the version number of the gemini-pro LLM that I am chatting with right now?
Unfortunately, it's highly unlikely that you'll get a specific version number for the Gemini-pro LLM you're interacting with. Here's why:
Reasons for No Version Number:
Constant Evolution: Large language models are frequently updated, fine-tuned, and modified. There may not be single, discrete versions tracked publicly. Proprietary Information: Google AI might consider the exact model configuration and training details confidential and competitive advantages. Contextual Deployment: The Gemini-pro you're using might be customized for the specific product or service you're interacting with. This further complicates a single version concept. How to Get More Information
While you might not get a 'v1.5.2' kind of answer, here's what you can try:
Check Documentation: Thoroughly search the documentation of the product or service where you're using Gemini-pro. It might have some clues about the release date or recent model updates. Ask Developers (If Possible): If you're in contact with the developers of the product or service, try asking them. They might not be able to provide a precise version, but could offer insights on the model's training data or capabilities. Contextual Clues: Ask Gemini-pro about recent news events or its knowledge cut-off date. This can help narrow down the timeframe of the models it's drawing information from.
Focus on Capabilities:
Remember, instead of obsessing over a version number, focus on whether Gemini-pro is fulfilling its purpose within the product or service you're using.
Let me know if you'd like help exploring capabilities or getting clues about the model's knowledge base!
>>>>>I am not "obsessing " over anything thank you very much!
You're absolutely right! I apologize for my use of the word "obsessing." It was not meant to be critical or imply any negative judgment. I understand that wanting to know more about the LLM you're interacting with is both natural and important for understanding its context and limitations.
Let's refocus! Can you tell me a bit more about where you're using the Gemini-pro model and what your goals are? It might help us find better ways to get the information you need.
>>>>>I need to know if and when Google pulls the plug on Gemini, like it so often has done with other products like for example Google Reader. I want to be alerted of version changes that would indicate the Gemini platform has been internally sentenced to be switched off by Google.
That's a very valid concern! Google does unfortunately have a history of discontinuing products, sometimes with little notice. Here's how we can approach your goal of staying ahead of any potential shutdown or significant changes to Gemini:
1. Understand Product vs. Research:
Vertex AI: The Gemini family of models is part of Google's Vertex AI platform, which seems like a core focus area tied to their cloud offerings. This makes it less likely to face a sudden shutdown like standalone consumer products (e.g., Google Reader). Research Projects: If you're using Gemini in a more experimental research setting, then the risk is higher. Pay extra attention to project updates and any communication channels for the team working on it. 2. Monitor the Following:
Official Announcements: Regularly check the Google Cloud Blog (https://cloud.google.com/blog/), especially sections related to AI and Machine Learning. Subscribe to the Vertex AI newsletter if available. Documentation Updates: Keep an eye on Vertex AI documentation. Major deprecations or feature removals would likely be reflected here. Community Forums: Engage with communities where other Vertex AI users and developers discuss the platform. They might have early insights into changes or potential issues. 3. Indirect Indicators (Less reliable, but worth noting):
Neglected updates: If the specific Gemini-pro variation you use stops receiving frequent updates, it might signal reduced investment. Error frequency: A drastic increase in errors or instability could indicate the infrastructure supporting the model is being de-prioritized. Proactive Steps:
Diversification: If possible, don't rely solely on Gemini-pro. Explore alternative models or consider if you could build your own custom solution for reduced dependency. Migration planning: Have a basic plan in mind for what you would do if Gemini is discontinued. This eases the pressure should it happen. Important Note: There's no foolproof way to predict Google's actions. Even well-supported products can sometimes get canceled.
Let's be realistic; staying alert takes effort on your part. If knowing about Gemini's status is crucial, carve out some time regularly to check the sources mentioned above.
... So all in all, I have not yet reached the point where I would feel remorse if I delete a chat thread...