7 ms·
I recently wired up a twilio phone number to a cloud nano instance that was just running ~100 lines of code to receive SMS messages, call out to GPT3 (just davi
by gamegoblin 4y ago
I recently wired up a twilio phone number to a cloud nano instance that was just running ~100 lines of code to receive SMS messages, call out to GPT3 (just davinci-002, not the new 003 or this new chat model) with a dialogue-esque prompt ("The following is a transcript of a text message conversation between two friends..." sort of thing). I kept a running transcript of the last 100 messages for each conversation and just fed it into the prompt to get the message to respond with.
I had a few of my friends message it. For the non-technical friends, it was amazing to see the transcripts. Even though they knew it was an AI (superhuman response times), they had full conversations with it as if it were a human. Some of them chatted for over an hour!
A lot of people loved using it as a friendly explainer, basically a human interface on top of wikipedia. Other people used it as a sort of therapist, just dumping their problems and thoughts and it would respond in a helpful and friendly way.
Most people had no idea AI had progressed to this point, and I'm sure they could have been convinced that this thing was actually conscious.
Of course, my technical friends very quickly found the edge cases, getting it to contradict itself, etc.
I've had some ideas on how use OpenAI's embeddings API to give it more long-term memory (beyond the 100 most recent messages) which should clear up a lot of coherence issues. Gonna implement that as my next weekend hack.
- TheCaptain4815 4y agoThere are numerous other open source embedding models that are just as powerful (if not more powerful) while 90%+ cheaper.
- tomschwiha 4y agoCould you name some you have in mind?
- fareesh 4y agoCan you list a few I'm interested in checking them out
- TheCaptain4815 4y agoSlightly outdated article, but still relevant imo to show the different types. https://medium.com/@nils_reimers/openai-gpt-3-text-embeddings-really-a-new-state-of-the-art-in-dense-text-embeddings-6571fe3ec9d9 https://medium.com/@nils_reimers/openai-gpt-3-text-embedding... I've also used https://huggingface.co/flax-sentence-embeddings/all_datasets_v3_mpnet-base https://huggingface.co/flax-sentence-embeddings/all_datasets...
- jimhi 4y agoI am a fairly technical guy (check out my submissions) and I read your links and have no idea how to use these to make responses the way I can with OpenAI. It says I can input a Source Sentence and compare it to other sentences. For example, how do I get it to reply to a question as if I am George from Seinfeld?
- gamegoblin 4y agoEmbeddings are not for that. Embeddings take text and encode it into a high dimensional vector space. Similar texts will be closer together in the vector space. The idea I was proposing was to use embeddings as a way to store and retrieve relevant "memories" so the AI could maintain coherence across time. I.e. whenever the user sends a message, we pull up the N most relevant memories (where relevance == closeness in the vector space) and include those in the prompt, so GPT3 can use the information when it forms its response.
- femboy 4y agoI wonder if there are any that can be used as a general chatbot way easily.
- EGreg 4y agoHow does the AI reflect on its previous messages? Technically, how does it work? I saw a video where AI which consistently threatened humanity. Then its parameters were tweaked and when asked about this, it admitted that it seems it went off the rails there. How did it value judge its own statements? Is this just cherrypicking or it really figures that out?
- gamegoblin 4y agoThe system is incredibly simple. You create a prompt template that looks like: The following is an excerpt of a text message conversation. One participant, <name>, is a <description of the character you want the AI to take, e.g. therapist, professor, tutor, etc, describe personality traits, style, habits, background info, etc>. Transcript: <splice in the last 100 messages with the AI's messages labeled <name> and the human's labeled "Other person" or whatever. End the prompt with a trailing "<name>:" E.g. here is one I just did The following is an excerpt of a transcript between two new friends. One friend, named Eliza, is an extremely knowledgeable, empathetic, and optimistic woman. She is 30 years old and lives in Seattle. She tends to engage in conversations by listening more than speaking, but will helpfully answer factual questions if asked. If the question is unclear, she asks clarifying questions. If the question is a matter of opinion, she will say so, indicate she doesn't have strong opinions on the matter, and try to change the subject. She doesn't ask probing questions if it seems like her friend doesn't want to talk about it -- she'll change the topic instead. Transcript: Friend: Hi Eliza: Hi there! How are you? Friend: I'm doing well. You? Eliza: I'm doing great, thanks for asking! What's been happening in your life lately? Friend: Not too much. It started snowing here for the first time of the year. Eliza: When given this prompt, GPT3 outputs the next message to send as "Eliza". It says "Wow! That's so exciting! What do you like to do when it snows?". Then you send that message back to the user, wait for a response, and repeat the cycle.
- abraxas 4y agoOh, wow that's such a great explanation! Thank you!
- joe_the_user 4y agoOf course, my technical friends very quickly found the edge cases, getting it to contradict itself, etc. OK, I'm a technical person but I asked the chatbot in the article broad questions that were difficult but not "tricky" ("what's a good race to play for a Druid in DnD", "Compare Kerouac's On The Road to his Desolation Angels" and got a reasonable summary of search plus answers that were straight-up false). Maybe your "nontechnical" friend weren't able to notice that the thing's output of misinformation but seems like more of a problem, not less. Also, ChatGPT in particular seems to go to pains to say it's not conscious and that's actually a good thing. These chatBots can be useful search summarizers making their limits clear (like github navigator). They're noxious if they instill a delusion of their consciousness in people and I don't think you should be so happy about fooling your friends. Every new technology has initially had cases where people could be deluded into think it was magic but those instances can't be taken as proof of that magic or as bragging rights.
- nl 4y agoYes, this "truthfulness" problem is the real problem with all these "generative search" products. Forget nudes in generated images. This is the real ethics issue!
- gamegoblin 4y agoYou can somewhat detect BS by getting the model to also output the log-probability of its token selection. See https://twitter.com/goodside/status/1581151528949141504 https://twitter.com/goodside/status/1581151528949141504 for examples.
- crazypython 4y agoHow did you come up with the long-term memory idea?
- gamegoblin 4y agoSeemed vaguely like how the brain does it. You think a thought, and somehow your brain conjures memories that are semantically related to that thought. That sounds a lot like a nearest neighbors algorithm on a language model embedding vector to me.
- visarga 4y agoThere is a paper from DeepMind RETRO - Improving language models by retrieving from trillions of tokens (2021) > With a 2 trillion token database, our Retrieval-Enhanced Transformer (Retro) obtains comparable performance to GPT-3 and Jurassic-1 on the Pile, despite using 25× fewer parameters. https://www.deepmind.com/publications/improving-language-models-by-retrieving-from-trillions-of-tokens https://www.deepmind.com/publications/improving-language-mod...
- dmix 4y agoAny plans to publish raw examples or highlights of convos? This is good journalism material