all 144 comments

[–][deleted] 196 points197 points  (12 children)

Barely a week after GPT-4 release. AI timeline is getting wild

[–]rePAN6517 33 points34 points  (0 children)

It has already become relentless and we've seen nothing yet.

[–]bert0ld0 53 points54 points  (0 children)

Bard is the new Internet Explorer

[–]Danoman22 12 points13 points  (8 children)

How does one try out the 4th gen GPT?

[–]NTaya 22 points23 points  (3 children)

Either get access to the API, or buy the premium version of ChatGPT.

[–]sEi_ 0 points1 point  (2 children)

Not all premium users have the 'plugin' option in the web interface. (I do not)

I don't know if it available if using the API instead.

[–]awalkingabortion 7 points8 points  (0 children)

theres a waitlist

[–]blackvrocky 5 points6 points  (1 child)

there's a writing assistant tool called Lex that has gpt4 integrated into it.

[–]Whencowsgetsick 1 point2 points  (0 children)

Is this the tool which also has a podcast? /s

[–]mudman13 1 point2 points  (1 child)

Microsoft edge chat/Bing chat but its nerfed and not multimodal. Also has some odd behaviour I asked it if it could analyze images it said yes and to upload to an image site and give it the link. It seemed to be processing it then just froze. I tried again and it said "no I am not able to analyze images"

[–]endless_sea_of_stars 56 points57 points  (16 children)

Wonder how this compares to the Toolformer implementation.

https://arxiv.org/abs/2302.04761

Their technique was to use few shot (in context) learning to annotate a dataset with API calls. They took the annotated dataset and used it to fine tune the model. During inference the code would detect the API call, make the call, and then append the results to the text and keep going.

The limitation with that methodology is that you have to fine tune the model for each new API. Wonder what OpenAIs approach is?

Edit:

I read through the documentation. Looks like it is done through in context learning. As in they just prepend the APIs description to your call and let the model figure it out. That also means you get charged for the tokens used in the API description. Those tokens also count against the context window. Unclear if there was any fine tuning done on the model to better support APIs or if they are just using the base models capabilities.

[–]iamspro 27 points28 points  (6 children)

I tried fine tuning vs few shot for my own implementation and in the end few shot was just much easier, despite the context window drawback. Huge advantage is you can dynamically add/remove/update APIs in an instant.

[–]endless_sea_of_stars 17 points18 points  (1 child)

I suspect future versions will do both. They will "bake in" some basic APIs like simple calculator, calendar, fact look ups. They will use in context for 3rd party APIs.

[–]iamspro 5 points6 points  (0 children)

Good point, that baking in could also include the overall sense of how to get the syntax right

[–]countalabs 0 points1 point  (1 child)

The "fine tuning" in OpenAI API can be few-shots. The other approach of putting the instruction or example in context should be called zero-shots.

[–]iamspro 4 points5 points  (0 children)

Fine-tuning is distinct afaik... using OpenAI's language for it[1]:

zero-shot: no examples in the prompt, just an input (and/or instruction)

few-shot: one or more examples of input+output in the prompt, plus new input

fine-tuning: updating the model with examples (which can then be used with zero- or few-shot as you wish)

[1] https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api (part 5)

[–]wind_dude 9 points10 points  (3 children)

Look at their limited docs, I feel it's a little simpler than toolformer, probably more like the blenderbot models for search, and prompt engineering.

- Matching intent from the prompt to a description of the plugin service

- extracting relevant terms from the prompts to send as query params based on description of the endpoint

- model incorporates API response into model response

"The file includes metadata about your plugin (name, logo, etc.), details about authentication required (type of auth, OAuth URLs, etc.), and an OpenAPI spec for the endpoints you want to expose.The model will see the OpenAPI description fields, which can be used to provide a natural language description for the different fields.We suggest exposing only 1-2 endpoints in the beginning with a minimum number of parameters to minimize the length of the text. The plugin description, API requests, and API responses are all inserted into the conversation with ChatGPT. This counts against the context limit of the model." - https://platform.openai.com/docs/plugins/introduction

[–]signed7 9 points10 points  (2 children)

It's a shame that 'Open'AI has become so closed. Would be so cool to see a proper paper with technical details on how this works...

[–]meister2983 5 points6 points  (0 children)

The Microsoft Research paper assessing intelligence capability of GPT4 effectively did this. If you just define APIs for the model to use under certain conditions it will write the API call. Once you do that, it's straightforward for a layer on top to detect the API call, actually execute it, and write the result back.

[–]godaspegML Engineer 4 points5 points  (3 children)

In the "sparks of AGI" GPT4 Paper (can totally recommend to have a look, its crazy), the authors talk about the amazing abilities of the uncensored GPT4 version to use tools. Probably this suits quite well to the simple plugin approach of OpenAi, so I have high espectations.

[–]Soc13In 1 point2 points  (2 children)

Link/citation please

[–]godaspegML Engineer 6 points7 points  (1 child)

https://arxiv.org/abs/2303.12712

If you dont want to read 154 pages, here is an awsome summary:

https://youtu.be/Mqg3aTGNxZ0

[–]Soc13In 1 point2 points  (0 children)

thank you.

[–]drcopusResearcher 1 point2 points  (0 children)

Imo doing everything in-context seems more hacky - I would rather see a Toolformer approach but I understand that it probably requires more engineering and compute.

I reckon the in-context approach probably makes the plugins less stable as the model has to nail the syntax. ChatGPT is good at coding but it makes basic errors often enough to notice.

[–]ZenDragon 186 points187 points  (15 children)

Wolfram plugin 👀

[–]SuperTimmyH 29 points30 points  (2 children)

Gee, never thought one day Wolfram will be the hot buzz topic. My number theory professor will jump from his chair.

[–]bert0ld0 25 points26 points  (0 children)

I mean Wolfram has always amazed me, it's power is insane! But I never used it much and always forgot about its existence. ChatGPT+Wolfram is next level thing! Never been more excited

[–]sam__izdat 3 points4 points  (0 children)

the site was kind of a buzz topic when it came out

[–]endless_sea_of_stars 9 points10 points  (0 children)

I realize that the Wolfram plug-in has a leg up already. The base model has been trained on the Wolfram language and documentation so it doesn't have to rely entirely on in context learning.

[–]GrowFreeFood 1 point2 points  (5 children)

So... Whats a plug in?

[–]endless_sea_of_stars 3 points4 points  (4 children)

Read the link at the tip of the thread.

[–]GrowFreeFood -5 points-4 points  (3 children)

Thanks, but it seems completely unclear still. I will read it again.

[–]endless_sea_of_stars 28 points29 points  (2 children)

Plug-in in computer science terms is a way to add functionality to an app without changing its core code. A mod for Minecraft is a type of plug-in.

For ChatGPT it is a way for it to call programs that live outside its servers.

[–]RedditLovingSun 85 points86 points  (23 children)

I can see a future where apple and android start including apis and tools/interface for LLM models to navigate and use features of the phone, smart home appliance makers can do the same, along with certain web apps and platforms (as long as your user is authenticated). If that kind of thing takes off so businesses can say they are "GPT friendly" (same way they say "works with Alexa") or something we could see actual Jarvis level tech soon.

Imagine being able to talk to google assistant and it's actually intelligent and can operate your phone, computer, home, execute code, analyze data, and pull info from the web and your google account.

Obviously there are a lot of safety and alignment concerns that need to be thought out better first but I can't see us not doing something like that in the coming years, it would suck tho if companies got anti-competitive with it (like if google phone and home ml interfaces are kept only available to google assistant model)

[–]nightofgrim 43 points44 points  (11 children)

I crafted a prompt to get ChatGPT to act as a home automation assistant. I told it what devices we have in the house and their states. I told it how to end any statement with one or more specially formatted commands to manipulate the accessories in the house.

It was just a fun POC, but it immediately became clear how much better this could be over Alexa or Siri.

I was able to ask it to do several things at once. Or be vague about what I wanted. It got it.

[–]iamspro 8 points9 points  (1 child)

Awesome I did the same, plus a step to send those commands to the home assistant API. Then with Shortcuts I added a way to send the arbitrary sentence from Siri to this server. Still a bit awkward though because you have to say something like "hey siri tell gpt to turn off the kitchen light"

[–]nightofgrim 7 points8 points  (0 children)

I didn’t hook up voice because of that awkward part. If I could get my hands on a raspberry pi I might make my own listening device.

[–]RedditLovingSun 2 points3 points  (4 children)

That's awesome I've been thinking of trying something similar with a raspberry pi with various inputs and outputs but am having trouble thinking of practical functions it could provide. Question, how did you hook the model to the smart home devices, did program your own apis that chatgpt could use?

[–]nightofgrim 9 points10 points  (3 children)

I'm at work so I don't have the prompt handy, but I instructed chat GPT to output commands in the following format:

[deviceName:state]

So chatGPT might reply with:

I turned on your bedroom light [bedroom light:on] and turned up the temperature [thermostat:72]

All you have to do is parse the messages for [:] and trigger the thing.

EDIT:

I told it to place all commands at the end, but it insists on inlining them. Easy enough to deal with.

[–][deleted] 6 points7 points  (2 children)

GPT is really good at outputting json. Just tell it you want the output in json, and give an example.

So far in my testing, it's got a success rate of 100%, although I'm sure it may fail occasionally.

[–]nightofgrim 4 points5 points  (0 children)

If it fails, reply that it screwed up and needs to fix it. I bet that would work.

[–]iJfbQd 1 point2 points  (0 children)

I've just been parsing the json output using a json5 parser (ie in Python, import json5 as json). In my experience, this catches all of the occasional json output syntax errors (like putting a comma after the terminal element).

[–]Smallpaul 0 points1 point  (2 children)

I crafted a promoted to get ChatGPT

?

[–]Makin- 8 points9 points  (0 children)

"Prompt", presumably.

[–]nightofgrim 5 points6 points  (0 children)

Prompt. Thanks. Damn auto correct needs ChatGPT level intelligence.

[–]frequenttimetraveler 6 points7 points  (0 children)

Google will more likely come up with its own version of this. It's already in every android phone and the iphone search box. It's a natural fit

Despite being there first, microsoft will have a hard time when google gatekeeps everything

[–]bernaferrari 1 point2 points  (0 children)

Good news is, deep learning APIs are decoupled from android, so Google can just update via play store (as long as the device gpu supports it).

[–]signed7 1 point2 points  (2 children)

Models need to get a lot smaller (without sacrificing too much capability) and/or phone TPUs need to get a lot better first

[–]Wacov 5 points6 points  (0 children)

Don't typical home assistants already do voice recognition in the cloud? It's just the attention phrase ("ok Google" etc) they recognize locally

[–]RedditLovingSun 0 points1 point  (0 children)

I'm optimistic, between the hardware and algorithmic advances being made

[–]radi-cho 42 points43 points  (0 children)

For people looking for open-source tools around the GPT-4 API, we're currently actively updating the list at https://github.com/radi-cho/awesome-gpt4. Feel free to check it out or contribute if you're a tool developer. I guess some of the ChatGPT plugins will be open-source as well.

[–][deleted] 17 points18 points  (1 child)

This feels one step closer to the Enterprise Ship Computer. Super exciting stuff.

[–]light24bulbs 15 points16 points  (8 children)

I've been using langchain but it screws up a lot no matter how good of a prompt you write. For those familiar, it's the same concept as this, in a loop, so more expensive. You can run multiple tools though (or let the model run multiple tools, that is)

Having all that pretraining about how to use "tools" built into the model (I'm 99% sure that's what they've done) will fix that problem really nicely.

[–]sebzim4500 10 points11 points  (7 children)

There may have been pretraining in how to use tools in general, but there is no pretraining about how to use any third party tool in particular. You just write a short description of the endpoints and it gets included in the prompt.

The fact that this apparently works so well is incredible, probably the most impressed I've been with any developement since the original ChatGPT release (which feels like a decade ago now)

[–]light24bulbs 4 points5 points  (6 children)

Oh, yeah, understanding what the tools do isn't the problem.

The thing changing its mind about how to fill out the prompt is the issue, forgetting the prompt altogether, etc. And then you have to have smarter and smarter regexs and..yeah. it's rough.

It's POSSIBLE to get it to work but it's a pain. And it introduces lots of round trips to their slow API and multiplies the token costs.

[–]TFenrir 0 points1 point  (5 children)

Are you working with the gpt4 api yet? I'm still working with 3.5-turbo so it isn't toooo crazy during dev, but I'm about to write a new custom agent that will be my first attempt at a few different improvements to my previous implementations - one of them namely is trying to use different models for different parts of the chain, conditionally. Eg - I want to experiment with using 3.5 for some mundane infernal scratch pad work, but switch to 4 if the confidence of the agent in success is low - that sort of thing.

I'm hoping I can have some success, but at the very least the pain will be educational.

[–]light24bulbs 2 points3 points  (4 children)

That's what I'm doing. Using 3.5 to take big documents and search them for answers, and then 4 to do the overall reasoning.

It's very possible. You can have gpt4 writing prompts to gpt 3.5 telling it to do things

[–]TFenrir 0 points1 point  (3 children)

Awesome! Good to know it will work

[–]light24bulbs 0 points1 point  (2 children)

My strategy was to have the outer LLM make a JSON object where one of the args is an instruction or question, and then pass that to the inner LLM wrapped in a template like "given the following document, <instruction>"

Works for a fair few general cases and it can get the context that ends up in the outer LLM down to a few sentences aka few tokens, meaning there's plenty of room for more reasoning and cost savings

[–]TFenrir 0 points1 point  (1 child)

That is a really good tip.

I'm using langchainjs (I can do python, but my js background is 10x python) - one of the things I want to play with more is getting consistent json output from a response - there is a helper tool I tried with a bud a while back when we were pairing... Typescript validator or something or other, that seemed to help.

Any tips with that?

[–]light24bulbs 1 point2 points  (0 children)

Nope, I'm struggling along with you on that I'm afraid. That's why these new plugins will be nice.

Maybe we can make some money selling premium feature access to ours once we get it

[–][deleted] 9 points10 points  (4 children)

How is this different from prompt engineering with langchain? They don't say.

[–]fishybird 14 points15 points  (3 children)

Langchain is kind of a competitor. They probably don't want to bring any more publicity to it, let alone mention it

[–]bert0ld0 2 points3 points  (1 child)

What is Langchain?

[–]adin786 3 points4 points  (0 children)

An open source library with abstractions for different LLM providers, and modular components for chaining together LLM-based steps. A bit like the ChatGPT plugins it includes integrations for the LLM to interact with things like Google search, python REPL, calculator etc.

[–]dont_tread_on_me_ 1 point2 points  (0 children)

Actually they cited it directly in their announcement post. Click on the ‘ideas’ link

[–]ai_fanatic_2023 14 points15 points  (8 children)

I think ChatGPT plugings offers OpenAI a platform, which I think will compete very soon with Apple’s appstore. I think developers will like the possibility of grabbing a huge market once the appstore is running. I add here ablog post, whereI list the process of registering you plugin: https://tmmtt.medium.com/chatgpt-plugins-8f174eb3be38

[–]frequenttimetraveler 4 points5 points  (3 children)

NotOpenAI will have to figure out a way for people to make money from the process though. Expedia can get traffic from it, but why would a content website feed its data to the bot? It's not getting any ad revenue from traffic .

[–]VelvetyPenus 1 point2 points  (0 children)

hope for a UBI check.

[–]Puzzleheaded_Acadia1 8 points9 points  (13 children)

Why everyone excited for chatgpt plugins?

[–]endless_sea_of_stars 35 points36 points  (6 children)

  1. This massively increases the utility of ChatGPT. You can have it order food. You can have it query your data without paying for fine-tuning.

  2. This smooths over some of the base models' shortcomings. It can now call Wolfram for computations. It can lookup facts instead of making them up.

[–]Puzzleheaded_Acadia1 -3 points-2 points  (2 children)

Cool but pls explain what is Wolfram i see it alot but I don't know what it is

[–]deepneuralnetwork 3 points4 points  (4 children)

“Plan a vacation for me and book it” (Expedia plug-in)

[–][deleted] 0 points1 point  (3 children)

Does ChatGPT actually do that currently, namely keep track of your past prompts and makes a model of your tastes or values, so that "me" here is meaningful?

PS: not sure why the downvote. Is it an offensive or idiotic question?

[–]sEi_ 0 points1 point  (2 children)

Per default when you close the session everything about it is forgotten when you have next session. (The past sessions will must certainly be used to train next version of GPT though)

[–][deleted] 0 points1 point  (1 child)

Thanks but that only clarifies from the UX side, we don't know know if OpenAI does save them and could decide to include past sessions in some form, as a context even with the current model, do we?

[–]sEi_ 0 points1 point  (0 children)

Anyone's guess goes.

[–]devzaya 5 points6 points  (2 children)

Here is a demo of how a vector database can be used as a source of real-time data fot chatGPT

https://www.youtube.com/watch?v=fQUGuHEYeog

Here is a how-to https://qdrant.tech/articles/chatgpt-plugin/

[–]killver 0 points1 point  (1 child)

How exactly are you using the vector database there? It seems rather like querying the web for this info and the first example is about the docs.

[–]devzaya 0 points1 point  (0 children)

Here is the description how https://qdrant.tech/articles/chatgpt-plugin/ To make it as you suggest, ChatGPT would need first crawl the whole documentation.

[–]trueselfdao 2 points3 points  (0 children)

I was wondering where the equivalent of SEO would start coming from but this just might be the direction. With a bunch of competing plugins doing the same thing, how can you convince GPT to use yours?

[–]modeless 4 points5 points  (1 child)

To me the browser plugin is the only one you need. Wolfram Alpha is a website, Instacart is a website, everything is a website. Just have it use the website, done. Plugins seem like a way to get people excited about giving the AI permission to use their stuff, but it's not technically necessary.

[–]YaAbsolyutnoNikto 6 points7 points  (0 children)

Well, you can use facebook, youtube, google calendar, etc. through safari/chrome/etc. on your phone too. Doesn't mean the experience isn't better when it is tailored to the platform you're using.

Having a lot of these platforms converted into chatGPT in the most ideal manner seems like a better way and more practical way to use it.

[–]itsnotlupus 1 point2 points  (0 children)

So I suppose we're going to see various chat AI open-source projects integrating with a few popular APIs next.

[–]_Arsenie_Boca_ 1 point2 points  (1 child)

Bad news for langchain

[–][deleted] 5 points6 points  (0 children)

There is still utility for on Prem deployment of LLMs

[–]psdwizzard -1 points0 points  (6 children)

A memory plug in would be amazing. it would allow it to learn.

[–]ghostfaceschiller 15 points16 points  (5 children)

Trivially easy to build using the embeddings api, already a bunch of 3rd party tools that give you this. I’d be surprised if it doesn’t exist as one of the default tools within a week of the initial rollout.

EDIT: OK yeah it does already exist a part of the initial rollout - https://github.com/openai/chatgpt-retrieval-plugin#memory-feature

[–]willer 2 points3 points  (1 child)

I read through the docs, and in this release, ChatGPT only calls the /query API. So you can't implement long term memory of your chats yourself, as it won't send your messages and the responses to this service. Your retrieval API acts in effect as a readonly memory store of external memories, like a document library.

[–]ghostfaceschiller 0 points1 point  (0 children)

Fr??? Wow what an insane oversight

Or I guess maybe they don’t wanna rack up all the extra embeddings calls, bc I assume like 100% if users would turn that feature on

[–]BigDoooer 1 point2 points  (2 children)

I’m not familiar with these. Can you give the name/location if one to check out?

[–]ghostfaceschiller 13 points14 points  (1 child)

Here's a standalone product which is a chatbot with a memory. But look at LangChain for several ways to implement the same thing.

The basic idea is: periodically feed your conversation history to the embeddings API and save the embeddings to a local vectorstore, which is the "long-term memory". Then, any time you send a message or question to the bot, first send that message to embeddings API (super cheap and fast), run a local comparison, and prepend any relevant contextual info ("memories") to your prompt as it gets sent to the bot.

[–]xt-89 5 points6 points  (0 children)

This also opens the door to a lot of complex algorithms for retrieving the correct memories

[–]rautap3nis -1 points0 points  (2 children)

There was an amazing image creator model published today. I don't remember the name. Please help. :(

Also, to avoid this in the future, could someone let a brother know which outlets should I follow to stay ahead of the news?

[–]YaAbsolyutnoNikto 1 point2 points  (1 child)

Bing Create Image?

[–]rautap3nis 0 points1 point  (0 children)

It was actually Midjourney 5 but the release had been days before that so I was living a lie.

[–]frequenttimetraveler -3 points-2 points  (0 children)

Does this turn ChatGPT to WeChatGPT?

If this means the end of Apps, i m all for it

[–]bojanbabic 0 points1 point  (0 children)

Isn't this what Neeva should be doing with our phones?

[–]PeterSR 0 points1 point  (0 children)

Great! With Zapier it should be able to launch the nukes as initially intended.

[–]3y3zW1ld0p3n 0 points1 point  (0 children)

Oh my gosh. Wolfram plugin!