正在为人工智能或全栈开发而苦恼?我们的专家将为您提供指导:量身定制的建议、技术整合等。联系我们 [email protected].

有效地使用ChatDolphin,ChatGPT的替代品,有简单的说明

NLP Cloud开发了一个强大的OpenAI ChatGPT的替代品,叫做ChatDolphin。 这些人工智能模型很有趣,因为它们能很好地理解用自然语言发出的简单指令,而不需要使用少量学习和复杂的提示工程。让我们看看如何制作这样的指令,以便充分利用ChatDolphin和ChatGPT。

ChatGPT和ChatDolphin

ChatGPT于2022年12月由OpenAI发布,是一个小型的生成模型,非常善于理解人类的指令,针对对话和大型的详细答案进行了优化。看起来ChatGPT非常善于处理许多用例,而不仅仅是对话。像GPT-3一样,你可以用ChatGPT来进行总结、转述、实体提取等。由于其体积小,ChatGPT也比GPT-3便宜。

2023年4月,NLP Cloud发布了ChatDolphin,这是ChatGPT的一个强大的替代品。ChatDolphin是NLP Cloud内部的一个模型,它非常善于理解人类的指令,处理对话,而且行为与ChatGPT完全一样。ChatDolphin也很便宜。

下面,我们将向你展示一些例子 使用 在NLP Cloud上用Python客户端生成文本的例子。如果你想复制粘贴这些例子、 请 不要忘记添加你自己的API令牌。为了安装Python客户端,首先运行以下程序: pip install nlpcloud.

少数人的学习 VS 简单的指示

当第一批大型语言模型发布时,如GPT-J、OPT、Bloom等,很快就发现--尽管非常强大--这些模型并不能理解人类用自然语言发出的简单指令。

例如,如果你想从一段文字中提取一个名字、一个职位和一个公司,你需要在NLP云上使用GPT-J做这样的事情:

import nlpcloud
client = nlpcloud.Client("gpt-j", "your_token", gpu=True)
generation = client.generation("""[Text]: Fred is a serial entrepreneur. Co-founder and CEO of Platform.sh, he previously co-founded Commerce Guys, a leading Drupal ecommerce provider. His mission is to guarantee that as we continue on an ambitious journey to profoundly transform how cloud computing is used and perceived, we keep our feet well on the ground continuing the rapid growth we have enjoyed up until now. 
[Name]: Fred
[Position]: Co-founder and CEO
[Company]: Platform.sh
###
[Text]: Microsoft (the word being a portmanteau of "microcomputer software") was founded by Bill Gates on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800. Steve Ballmer replaced Gates as CEO in 2000, and later envisioned a "devices and services" strategy.
[Name]:  Steve Ballmer
[Position]: CEO
[Company]: Microsoft
###
[Text]: Franck Riboud was born on 7 November 1955 in Lyon. He is the son of Antoine Riboud, the previous CEO, who transformed the former European glassmaker BSN Group into a leading player in the food industry. He is the CEO at Danone.
[Name]:  Franck Riboud
[Position]: CEO
[Company]: Danone
###
[Text]: David Melvin is working for CITIC CLSA with over 30 years’ experience in investment banking and private equity. He is currently a Senior Adviser of CITIC CLSA.
""",
    top_p=0,
    length_no_input=True,
    end_sequence="###",
    remove_end_sequence=True,
    remove_input=True)
print(generation["generated_text"])

这种技术被称为 "少量学习",或 "及时工程",将在一篇专门的文章中进行解释: 在这里阅读这篇文章。

少量学习在ChatGPT和ChatDolphin上效果很好,可以让你得到非常高级的结果。但在大多数情况下,少数几个镜头的学习是不需要的,而且是不必要的复杂。此外,由于生成式人工智能模型只允许有限的输入长度,少数照片的例子有时根本不符合要求。

好消息是,在适当的微调下,大型语言模型可以学习如何理解人类的指令,而不使用几次学习。这就是ChatGPT和ChatDolphin的情况。

有了这些模型,你的查询会是这样的:

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Extract name, position, and company, from the following text.

David Melvin working for CITIC CLSA with over 30 years’ experience in investment banking and private equity. He is currently a Senior Adviser of CITIC CLSA.""")
print(generation["generated_text"])

输出:

Name: David Melvin
Position: Senior Adviser
Company: CITIC CLSA

简单多了,不是吗?现在,如果我们想把结果格式化为JSON,该怎么办?这里有一个简单的指令:

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Extract name, position, and company, from the following text. Format the result as JSON.

David Melvin working for CITIC CLSA with over 30 years’ experience in investment banking and private equity. He is currently a Senior Adviser of CITIC CLSA.""")
print(generation["generated_text"])

输出:

{
"name": "David Melvin",
"position": "Senior Adviser",
"company": "CITIC CLSA"
}

我想你已经明白了,不是吗?

你可以在NLP Cloud Playground上,在文本生成部分轻松地测试自然指令。 点击这里,在 "操场 "上尝试文本生成。 然后简单地使用本文下面显示的一个例子,自己看一下。

{% 在NLP云计算平台上用ChatDolphin提取实体的例子 tr%}
在NLP Cloud Playground上用ChatDolphin提取实体的例子

用ChatDolphin进行情感分析

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""What is the sentiment in the following text? Positive, negative, or neutral? Answer with one word only.

The reactivity of your team has been amazing, thanks!""")
print(generation["generated_text"])

输出:

Positive

用ChatDolphin生成HTML代码

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Generate the HTML code for a a Headline saying "Welcome to AI"""")
print(generation["generated_text"])

输出:

<h1>Welcome to AI</h1>

使用ChatDolphin回答问题

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Answer this question using the below context: Which plan is recommended for GPT-J? Make a short response.

Context: The main challenge with GPT-J is memory consumption. Using a GPU plan is recommended.""")
print(generation["generated_text"])

输出:

由于GPT-J的主要挑战是内存消耗,建议使用GPU计划来解决这个问题。因此,为GPT-J推荐的计划是GPU计划。

用ChatDolphin制作教程

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Create a tutorial about how to make a cake.""")
print(generation["generated_text"])

输出:

Here's a step-by-step guide to making a cake:

Ingredients:

* 2 cups all-purpose flour
* 2 teaspoons baking powder
* 1 teaspoon salt
* 1 cup unsalted butter, at room temperature
* 1 cup granulated sugar
* 2 large eggs
* 2 teaspoons vanilla extract
* 1 cup whole milk, at room temperature

Equipment:

* 9-inch round cake pan
* Rubber spatula
* Whisk
* Measuring cups and spoons
* Mixing bowls

Instructions:

1. Preheat your oven to 350°F (180°C). Grease and flour your 9-inch round cake pan.
2. In a mixing bowl, whisk together flour, baking powder, and salt. Set aside.
3. In another mixing bowl, using an electric mixer, beat together the butter and sugar until light and fluffy. Add the eggs, one at a time, beating well after each addition. Stir in the vanilla extract.
4. Gradually add the dry ingredients to the butter mixture, alternating with the milk and mixing until just combined.
5. Pour the batter into the prepared cake pan.
6. Bake the cake for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
7. Remove the cake from the oven and let it cool in the pan for 5-10 minutes. Then, remove the cake from the pan and let it cool completely on a wire rack.
8. Once the cake is completely cool, you can ice and decorate it if you like. Enjoy!

Note: You can also use other types of flour, such as almond or coconut flour, and substitute other sweetener for the sugar, like honey or maple syrup. You can also add other ingredients like chocolate chips, nuts, or dried fruits to the batter for added flavor and texture.

用ChatDolphin进行语法和拼写纠正

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Correct spelling and grammar mistakes from the following text.

I do not wan to go""")
print(generation["generated_text"])

输出:

我不想去

使用ChatDolphin的机器翻译

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Translate the following content to English.

NLP Cloud permet de deployer le NLP en production facilement.""")
print(generation["generated_text"])

输出:

NLP Cloud makes it easy to deploy NLP in production.

用ChatDolphin生成推文

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Generate a Tweet about NLP.""")
print(generation["generated_text"])

输出:

NLP is revolutionizing the way we communicate with computers. From voice assistants to chatbots, natural language processing is making interactions with technology more human-like than ever before. Exciting times ahead for this field! #NLP #AI #Technology

使用ChatDolphin的意图分类

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""What is the main intent in the following text?

Hello

I spent some time on your documentation but I could not figure how to add a new credit card.
It is a problem because my current card is going to expire soon and I'm affraid that it will cause a service disruption.
How can I update my credit card?

Thanks in advance,

Looking forward to hearing from you,

John Doe""")
print(generation["generated_text"])

输出:

The main intent behind the text is to inquire about the process for updating a credit card in a service.

用ChatDolphin进行转述

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Paraphrase the following text.

After a war lasting 20 years, following the decision taken first by President Trump and then by President Biden to withdraw American troops, Kabul, the capital of Afghanistan, fell within a few hours to the Taliban, without resistance.""")
print(generation["generated_text"])

输出:

Following a 20-year war that was initially approved by President Trump and then continued under President Biden's leadership, American soldiers were withdrawn from Afghanistan. As a result, the Taliban was able to easily seize control of Kabul, the capital of Afghanistan, without encountering any resistance.

用ChatDolphin进行总结

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Summarize the following text.

For all its whizz-bang caper-gone-wrong energy, and for all its subsequent emotional troughs, this week’s Succession finale might have been the most important in its entire run. Because, unless I am very much wrong, Succession – a show about people trying to forcefully mount a succession – just had its succession. And now everything has to change.
The episode ended with Logan Roy defying his children by selling Waystar Royco to idiosyncratic Swedish tech bro Lukas Matsson. It’s an unexpected twist, like if King Lear contained a weird new beat where Lear hands the British crown to Jack Dorsey for a laugh, but it sets up a bold new future for the show. What will happen in season four? Here are some theories.
Season three of Succession picked up seconds after season two ended. It was a smart move, showing the immediate swirl of confusion that followed Kendall Roy’s decision to undo his father, and something similar could happen here. This week’s episode ended with three of the Roy siblings heartbroken and angry at their father’s grand betrayal. Perhaps season four could pick up at that precise moment, and show their efforts to reorganise their rebellion against him. This is something that Succession undoubtedly does very well – for the most part, its greatest moments have been those heart-thumping scenes where Kendall scraps for support to unseat his dad – and Jesse Armstrong has more than enough dramatic clout to centre the entire season around the battle to stop the Matsson deal dead in its tracks.""")
print(generation["generated_text"])

输出:

The Succession finale had a succession, with Logan Roy selling Waystar Royco to Lukas Matsson, which sets up a bold new future for the show. The third season picked up seconds after the second season ended, and the next season could pick up at the moment where the Roy siblings are heartbroken and angry at their father's betrayal, centering the season around their rebellion against him.

用ChatDolphin进行零散的文本分类

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""In one word, what is the main topic in the following text?

After a war lasting 20 years, following the decision taken first by President Trump and then by President Biden to withdraw American troops, Kabul, the capital of Afghanistan, fell within a few hours to the Taliban, without resistance.""")
print(generation["generated_text"])

输出:

war

用ChatDolphin提取关键词和关键短语

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Extract the main keywords from the following text.

Since transformer models have a token limit, you might run into some errors when inputting large documents. In that case, you could consider splitting up your document into paragraphs and mean pooling (taking the average of) the resulting vectors.""")
print(generation["generated_text"])

输出:

Token limit, large documents, transformer models, splitting, paragraphs, mean pooling, tokenizing, vectorization.

使用ChatDolphin的产品描述和广告生成

import nlpcloud
client = nlpcloud.Client("chatdolphin", "your_token", gpu=True)
generation = client.generation("""Generate a product description out of the following keywords: t-shirt, men, $39""")
print(generation["generated_text"])

输出:

Introducing our premium t-shirt for men, made with high-quality materials and craftsmanship. This $39 t-shirt is designed to provide comfort and style, making it the perfect addition to any man's wardrobe. With a range of colors and sizes to choose from, you're sure to find the perfect t-shirt to suit your style. Whether you're running errands or hanging out with friends, our t-shirt is the perfect choice for any occasion.

Blog Post Generation With GPT-J

import nlpcloud
client = nlpcloud.Client("gpt-j", "your_token", gpu=True)
generation = client.generation("""Generate a whole blog article in HTML format about the following topic: 4 Best Tips to Find a Girlfriend
The article should contain the following keywords: Paris, romance, love""")
print(generation["generated_text"])

输出:

<html>
<head>
<title>4 Best Tips to Find a Girlfriend</title>
<meta charset="UTF-8">
<meta name="description" content="Looking for love in Paris? Follow these four tips to find your perfect girlfriend.">
</head>
<body>
<h1>4 Best Tips to Find a Girlfriend in Paris</h1>
<p>Are you tired of the dating scene in Paris and ready to find a serious relationship? Finding a girlfriend in the City of Love can seem like a daunting task, but with these four tips, you can increase your chances of finding lasting love.</p>
<h2>1. Be Open-Minded</h2>
<p>One of the biggest mistakes people make when looking for a girlfriend is being too picky. Instead of focusing on the little things that might be deal breakers, be open to different types of people and personalities. You never know who you might hit it off with if you keep an open mind.</p>
<h2>2. Join a Social Club or Group</h2>
<p>Joining a social club or group that aligns with your interests can be a great way to meet new people and potentially find a girlfriend. Whether it's a book club, a sports team, or a Language exchange group, there are plenty of options to choose from in Paris. You can also sign up for online dating apps, but the chances of finding a meaningful connection are higher when you have something in common.</p>
<h2>3. Take Romantic Strolls</h2>
<p>Paris is known for its romantic atmosphere, and taking a stroll along the Seine or through the Luxembourg Gardens can be a great way to impress a potential girlfriend. Pack a picnic basket and enjoy a romantic lunch in the park, or take a boat ride down the Seine for a unique date. These memorable experiences can help you build a strong bond with someone special.</p>
<h2>4. Be Patient</h2>
<p>Finding a girlfriend in Paris takes time, just like finding love anywhere else. Don't get discouraged if things don't happen right away. Instead, focus on building genuine connections and getting to know people. The right person will come along when you least expect it, so be patient and keep an open mind.</p>
<p>By following these four tips, you can increase your chances of finding a girlfriend in Paris and experiencing the joys of lasting love. Remember to be open-minded, join social clubs or groups, take romantic strolls, and be patient. Good luck!</p>
<p>If you are looking for a girlfriend, here are some more tips to consider:<br><br>- Have a clear idea of what you want in a partner.<br>- Be confident and approachable.<br>- Show genuine interest in the person you're dating.<br>- Be respectful and treat your date with kindness and attention.</p>
<p>If you enjoyed this article, please like it on social media and share it with your friends. Your support helps us continue to provide valuable content.</p>
<p>For more tips and advice on dating and relationships, check out our blog.</p>
</body>
</html>

总结

正如你所看到的,ChatGPT和ChatDolphin可以很容易地用于许多用例,而不需要使用少许的学习!

可能性是数不胜数的!我们的想法是在你的指令中要非常清楚和明确,以便模型正确地理解你想要什么。

希望你能发现它的有用性!如果你对如何充分利用这些模型有一些问题,请 不要犹豫,向我们提问。

François
NLP云的全栈工程师