NLP Cloud는 ChatDolphin이라는 OpenAI ChatGPT의 강력한 대안을 개발했습니다. 이 AI 모델은 단발성 학습과 복잡한 프롬프트 엔지니어링을 사용하지 않고도 자연어로 된 간단한 명령을 매우 잘 이해한다는 점에서 흥미롭습니다. ChatDolphin과 ChatGPT를 최대한 활용하기 위해 이러한 명령어를 작성하는 방법을 살펴 보겠습니다.
ChatGPT는 사람의 지시를 매우 잘 이해하고 대화와 대량의 상세한 답변에 최적화된 소규모 생성 모델로 OpenAI에 의해 2022년 12월에 출시되었습니다. ChatGPT는 대화뿐만 아니라 다양한 사용 사례를 처리하는 데 매우 능숙한 것으로 보입니다. GPT-3와 마찬가지로 ChatGPT를 사용하여 요약, 의역, 엔티티 추출 등을 수행할 수 있습니다. 작은 크기 덕분에 ChatGPT는 GPT-3보다 저렴하기도 합니다.
2023년 4월, NLP Cloud는 ChatGPT의 강력한 대안인 ChatDolphin을 출시했습니다. Chat돌핀은 사람의 지시를 이해하고 대화를 처리하는 데 매우 능숙하며 ChatGPT와 똑같이 작동하는 사내 NLP 클라우드 모델입니다. ChatDolphin은 가격도 저렴합니다.
아래에서, 아래에서 얻은 예시를 보여드리겠습니다.
텍스트 생성 엔드포인트를 사용하여
텍스트 생성 엔드포인트를 사용하여 얻은 예제를 Python 클라이언트와 함께 보여줍니다. 예제를 복사하여 붙여넣으려면,
제발
고유한 API 토큰을 추가하는 것을 잊지 마세요. Python 클라이언트를 설치하려면 먼저 다음을 실행하세요: pip install nlpcloud.
GPT-J, OPT, Bloom 등과 같은 최초의 대규모 언어 모델이 출시되었을 때, 이 모델들은 매우 강력함에도 불구하고 자연어로 된 간단한 인간의 지시를 이해하지 못한다는 사실이 금방 드러났습니다.
예를 들어, 텍스트에서 이름, 직위, 회사를 추출하려면 NLP Cloud의 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에서 매우 잘 작동하며 매우 고급 결과를 얻을 수 있습니다. 하지만 대부분의 경우 소수 샷 학습은 필요하지 않으며 불필요하게 복잡합니다. 게다가 생성형 AI 모델은 제한된 입력 길이만 허용하기 때문에 몇 샷 예시가 요청에 맞지 않는 경우도 있습니다.
좋은 소식은 적절하게 미세 조정하면 대규모 언어 모델이 소수의 학습을 사용하지 않고도 사람의 지시를 이해하는 방법을 학습할 수 있다는 것입니다. 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 클라우드 플레이그라운드에서 자연어 안내를 쉽게 테스트할 수 있습니다. 여기를 클릭하여 플레이그라운드에서 텍스트 생성을 사용해 보세요. 그런 다음 이 글의 아래 예시 중 하나를 사용하여 직접 확인해 보세요.
NLP 클라우드 플레이그라운드에서 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
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>
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 요금제입니다.
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.
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"])
출력:
가고 싶지 않습니다.
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.
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
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.
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.
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.
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
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.
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.
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와 Chat돌핀은 소수의 학습을 사용하지 않고도 많은 사용 사례에 쉽게 사용할 수 있습니다!
가능성은 무궁무진합니다! 아이디어는 모델이 원하는 것을 정확하게 이해할 수 있도록 지침을 매우 명확하고 명시적으로 작성하는 것입니다.
도움이 되셨기를 바랍니다! 이 모델을 최대한 활용하는 방법에 대해 궁금한 점이 있으면 언제든지 주저하지 마시고 문의해 주세요.
François
NLP 클라우드의 풀스택 엔지니어