1680257617
Various Model Feature of GPT-4 OpenAI. XChatBot is Flutter App, fully integrated with GPT OpenAI model. GPT-4 available soon.. Link: https://bit.ly/xchatbot_env #chatgpt #chatgpt4 #openAI #chatai #ChatGPTPlus #xchatbot #chatbot #chatAI #flutter #flutterdev #flutterdevid #flutterapp
1680253980
在本 ChatGPT 教程中,我们将了解 ChatGPT 的跨行业应用。OpenAI 的 ChatGPT 是一种大型语言模型,能够生成类似于人类的文字。它在大量互联网文本数据集上进行训练,能够执行各种自然语言处理任务,例如语言翻译、文本摘要、文本生成和对话系统。
这篇博文旨在深入探索 ChatGPT 的功能。我们将研究该模型的工作原理、它所基于的训练数据及其局限性。我们还将研究 ChatGPT 的各种应用,包括实际模型的示例。
这篇博文将全面概述 ChatGPT 及其功能,并深入探讨它如何解决现实世界的问题。
ChatGPT 是一种称为转换器模型的语言模型。它通过接收一段文本(例如句子或提示)并生成响应来工作。该模型被训练为预测句子中的下一个单词,给定它之前出现的单词的上下文。
ChatGPT 是根据 GPT-3.5 进行微调的,GPT-3.5 是一种经过训练可生成文本的语言模型。ChatGPT 通过使用人类反馈强化学习(RLHF) 针对对话进行了优化——一种使用人类演示来引导模型朝着期望的行为发展的方法。(来源:OpenAI.com)
用于创建 ChatGPT 的训练数据是一个庞大的互联网文本数据集,称为 WebText 数据集。该数据集包括范围广泛的文本类型和样式,例如文章、论坛和社交媒体帖子。通过在如此多样化的数据集上进行训练,ChatGPT 能够生成类似于人类书写方式的文本。
在本节中,我们将探讨如何应用 ChatGPT 来帮助企业利用人工智能和自然语言处理的力量。
ChatGPT 可以自动执行重复性操作,例如提供产品信息和常见问题解答。通过将某些活动分配给人工智能而不是人,企业可以花费更少的时间和金钱。此外,ChatGPT 在理解疑难问题方面优于目前可用的其他人工智能系统,使其成为处理更棘手的消费者问题的最佳选择。
要详细了解客户对产品或服务的看法,请使用 ChatGPT。企业可以使用这些数据来增强他们的报价并保证他们满足客户的需求。ChatGPT 也是这个职位的不错选择,因为它具有自然语言处理 (NLP) 功能,可以确定客户对产品的看法。
通过与潜在客户互动并了解他们的需求,ChatGPT 可以创造潜在客户。您可以使用此数据根据每个客户的兴趣和偏好定制营销活动。
可以根据消费者偏好使用 ChatGPT 进行个性化推荐。如果为客户提供正确的选择,企业可以完成更多交易。ChatGPT 擅长此类活动,因为它比当前使用的其他人工智能系统更能理解复杂的查询。
ChatGPT 在自然语言理解和生成方面的能力使其非常适合聊天机器人和对话式AI 应用程序。通过在对话文本数据集上微调模型,它可以学习以类似人类的方式理解和响应用户输入。
在数字革命中,非结构化数据是一种不便。它们很难管理、组织和分类,这就是问题所在。因为它可以将非结构化数据转换为结构化数据,所以 ChatGPT 很有用。
ChatGPT 最有前途的应用之一是语言翻译。该模型能够理解和生成多种语言的文本,使其成为机器翻译的强大工具。通过在大型双语文本数据集上微调模型,它可以学习将文本从一种语言高度准确地翻译成另一种语言。这可以应用于一系列任务,包括文档翻译、聊天机器人翻译和网站翻译。
ChatGPT 可用于文本摘要,从大文本中提炼出最重要的信息。这可用于各种应用程序,例如新闻摘要、产品评论摘要和研究论文摘要。此外,它还可以用于文本分析,例如情感分析、主题建模和命名实体识别。
ChatGPT 可以通过提供解释、建议和示例来帮助识别和解决代码中的错误。
从文本来看,ChatGPT 可能会创建SQL 查询。还有更多工具可以简化您的生活。每个数据科学家的工具包都应该包括 SQL。当然,精通是必要的,但是掌握 SQL 可以在你职业生涯的各个方面帮助你。
此外,ChatGPT 可用于针对特定个人提供材料。通过在用户数据集上训练模型,企业可以使用它来创建定制内容,如电子邮件、社交媒体帖子和产品建议。
以下是麦肯锡对目前ChatGPT等人工智能工具在各个领域的应用情况的准确概述;
这些只是 ChatGPT 众多应用程序中的一小部分。随着技术的进步和改进,我们希望看到更多地使用它来改善业务和加快运营。如果您正在寻找一个强大的解决方案来帮助内容制作、客户服务改进或数据分析,那么 ChatGPT 无疑值得一试。
文章原文出处:https: //www.mygreatlearning.com
Воробьёва Валерия Владимировна
1680253140
В этой статье мы узнаем 6 способов, которыми SEO Pro использует ChatGPT для улучшения вашей стратегии SEO. Поисковая оптимизация (SEO) является важнейшим аспектом цифрового маркетинга, а использование технологий искусственного интеллекта (AI), таких как ChatGPT, может помочь поисковым маркетологам улучшить свои усилия в области SEO. ChatGPT, большая языковая модель, разработанная OpenAI, может использоваться поисковыми маркетологами различными способами для улучшения своих стратегий SEO.
6 способов, которыми поисковые маркетологи могут использовать ChatGPT-AI для SEO сегодня
Поисковая оптимизация (SEO) является важнейшим аспектом цифрового маркетинга, а использование технологий искусственного интеллекта (AI), таких как ChatGPT, может помочь поисковым маркетологам улучшить свои усилия в области SEO. ChatGPT, большая языковая модель, разработанная OpenAI, может использоваться поисковыми маркетологами различными способами для улучшения своих стратегий SEO.
Создание контента: ChatGPT можно использовать для создания высококачественного, уникального и актуального контента для веб-сайта или блога. Предоставляя ChatGPT тему или ключевое слово, он может создать статью или сообщение в блоге, оптимизированное для SEO. Это может значительно сэкономить время и усилия поисковых маркетологов при создании и оптимизации контента.
ChatGPT может быть ценным инструментом для поисковых маркетологов в процессе создания контента для своего веб-сайта или блога. Это может помочь создать высококачественный, уникальный и релевантный контент, оптимизированный для SEO. Вот несколько способов, которыми ChatGPT может помочь в создании контента:
Запишитесь на курсы по цифровому маркетингу , чтобы получить знания и навыки, необходимые для разработки и реализации эффективных маркетинговых стратегий в эпоху цифровых технологий.
Исследование ключевых слов: ChatGPT может помочь поисковым маркетологам определить релевантные ключевые слова и фразы для их SEO-кампаний. Предоставляя ChatGPT тему или отрасль, он может создать список ключевых слов и фраз, которые имеют отношение к теме и имеют большой объем поиска. Это может помочь поисковым маркетологам определить лучшие ключевые слова, на которые они будут ориентироваться в своих усилиях по SEO, и повысить шансы их контента на высокий рейтинг на страницах результатов поисковых систем (SERP).
ChatGPT может помочь поисковым маркетологам определить релевантные ключевые слова и фразы для их SEO-кампаний. Исследование ключевых слов является важным аспектом SEO, поскольку оно помогает определить термины и фразы, которые ищут потенциальные клиенты, и соответствующим образом оптимизировать контент.
Вот несколько способов, которыми ChatGPT может помочь в исследовании ключевых слов:
Генерация обратных ссылок: ChatGPT также можно использовать для создания высококачественных обратных ссылок для веб-сайта. Предоставляя Chat GPT тему или ключевое слово, он может создать список веб-сайтов и блогов, которые имеют отношение к теме и готовы принимать гостевые сообщения или обратные ссылки. Это может помочь поисковым маркетологам получать высококачественные обратные ссылки на веб-сайты, улучшая их видимость и рейтинг в поисковой выдаче.
Вот несколько способов, которыми ChatGPT может помочь в создании обратных ссылок:
Оптимизация метатегов: ChatGPT можно использовать для создания оптимизированных метатегов для веб-сайта. Предоставляя ChatGPT тему или ключевое слово, он может генерировать оптимизированные метатеги, такие как теги заголовков, метаописания и теги заголовков, которые имеют отношение к теме и оптимизированы для SEO.
Это может помочь поисковым маркетологам улучшить видимость и рейтинг своих веб-сайтов в поисковой выдаче.
ChatGPT можно использовать для создания оптимизированных метатегов для веб-сайта. Метатеги — это теги HTML, которые предоставляют информацию о веб-странице поисковым системам и пользователям.
Вот несколько способов, которыми ChatGPT может помочь в оптимизации метатегов:
Аудит сайта : ChatGPT также можно использовать для проведения аудита сайта. Предоставляя ChatGPT URL-адрес веб-сайта, он может создать отчет, который включает информацию о технических проблемах SEO веб-сайта, неработающих ссылках, отсутствующих метатегах и других проблемах, которые могут повлиять на его рейтинг в поисковой выдаче. Это может помочь специалистам по поисковому маркетингу выявить и исправить любые проблемы, которые могут негативно повлиять на рейтинг их веб-сайтов.
Вот несколько способов, которыми ChatGPT может помочь в аудите сайта:
Овладейте новейшими инструментами и методами цифрового маркетинга , чтобы оставаться впереди конкурентов и эффективно привлекать целевую аудиторию в Интернете.
Оптимизируйте сайт для голосового поиска: ChatGPT можно использовать для оптимизации сайта для голосового поиска, поскольку все больше и больше людей используют голосовой поиск для поиска информации в Интернете. Предоставление ChatGPT темы или ключевого слова может создать список ключевых слов и фраз, относящихся к теме и оптимизированных для голосового поиска. Это может помочь поисковым маркетологам улучшить видимость и рейтинг своего веб-сайта в поисковой выдаче для запросов голосового поиска.
Вот несколько способов, которыми ChatGPT может помочь в оптимизации веб-сайта для голосового поиска:
В заключение, ChatGPT может быть ценным инструментом для поисковых маркетологов, стремящихся улучшить свои усилия по SEO. Используя его способность генерировать высококачественный, уникальный и релевантный контент, определять релевантные ключевые слова, генерировать обратные ссылки, оптимизировать метатеги, управлять сайтом.
Оригинальный источник статьи: https://www.mygreatlearning.com
1680252526
In this ChatGPT tutorial, we will learn about ChatGPT NFT Tutorial: How to Use ChatGPT to Mint an NFT. ChatGPT is a groundbreaking AI tool. However, can we use this tool in Web3 for, let’s say, NFT purposes? Absolutely! We can actually mint ChatGPT responses as NFTs, for example.
If that sounds interesting and you’d like to know how to use ChatGPT to mint an NFT, read on! As we move forward, you’ll see how we built an example dapp that uses OpenAI’s API to incorporate the power of ChatGPT. Now, as far as implementing the ChatGPT functionality goes, the following code snippet does the trick:
app.get("/", async (req, res) => { const { query } = req; try { const response = await openai.createCompletion({ model: "text-davinci-003", prompt: query.message, max_tokens: 30, temperature: 0, }); return res.status(200).json(response.data); } catch (e) { console.log(`Something went wrong ${e}`); return res.status(400).json(); }});
To mint a ChatGPT NFT, you need to use a smart contract with a proper “mintNFT” function:
function mintNFT(address recipient, string memory tokenURI)
For the smart contract to handle the chat in question, we need to store the chat in a decentralized manner. Fortunately, we can do this easily when using the power of IPFS and the Moralis IPFS API. Essentially, the following lines of code get the job done:
app.get("/uploadtoipfs", async (req, res) => { const { query } = req; try { const response = await Moralis.EvmApi.ipfs.uploadFolder({ abi: [ { path: "conversation.json", content: { chat: query.pair }, }, ], }); console.log(response.result); return res.status(200).json(response.result); } catch (e) { console.log(`Something went wrong ${e}`); return res.status(400).json(); }});
If you want to learn how to properly incorporate all of the above-outlined components to use ChatGPT to mint an NFT, create your free Moralis account and follow our lead!
In today’s article, we’ll show you how to use ChatGPT to mint an NFT by taking you through our Web3 ChatGPT tutorial. This means you’ll have a chance to follow our instructions and create your own instance of our ChatGPT NFT minter Web3 app. As such, we’ll show you how to implement the above-presented code snippets. Also, you don’t have to start from scratch; instead, you’ll be able to use our repo to clone our scripts. That way, you’ll be able to get to the finish line in a matter of minutes.
Below the tutorial, you can find the section where we demonstrate our dapp in its final form. Plus, this is where we answer the “what is a ChatGPT NFT?” question. Last but not least, we also discuss ChatGPT’s place in evolving Web3.
Building a dapp that enables you to mint ChatGPT NFTs from scratch is a multi-step process. When you decide to use JavaScript and the Moralis JS SDK, the following steps outline this process:
Instead of diving into the above steps, you can take a shortcut by accessing our “moralis-chatgpt” GitHub repo. The latter contains all the frontend and backend scripts, as well as the smart contract template. Hence, make sure to clone our code. Then, you’ll be able to see the “backend”, “hardhat”, and “nextjs_moralis_auth” folders in Visual Studio Code (VSC):
With the above three folders and their contents in place, it’s time you deploy your own instance of our ChatGPT NFT minting smart contract.
As the “hardhat” folder suggests, we used Hardhat to create and deploy our smart contract. However, there are other Ethereum development tools you can use. If you are familiar with Remix IDE, simply copy the content of the “MessageNFT.sol” script and paste it into Remix. You can find our contract template in the “hardhat/contracts” directory:
In case this is your first rodeo with Solidity smart contracts, let’s quickly go through the lines of “MessageNFT.sol”. The latter starts with an MIT license and a pragma line:
// SPDX-License-Identifier: MITpragma solidity ^0.8.17;
Below the pragma line, we have three OpenZeppelin imports that enable our smart contract to inherit features from existing verified contracts. So, our Web3 contract inherits the ERC-721 standard, the ability to count NFTs and assign NFT IDs, and the “owner-minting” restriction:
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";import "@openzeppelin/contracts/utils/Counters.sol";import "@openzeppelin/contracts/access/Ownable.sol";
Next, we defined the contract name and type (ERC-721), the “constructor” and the “mintNFT” function. The latter will mint ChatGPT NFTs whenever you (the owner of the contract) call it. So, to do this, the “mintNFT” function needs to take in an NFT recipient’s address and token URI:
contract messageNFT is ERC721URIStorage, Ownable { using Counters for Counters.Counter; Counters.Counter private _tokenIds; constructor() ERC721("Chapt GPT Conversation", "CGPTC") {} function mintNFT(address recipient, string memory tokenURI) public onlyOwner returns (uint256) { _tokenIds.increment(); uint256 newItemId = _tokenIds.current(); _mint(recipient, newItemId); _setTokenURI(newItemId, tokenURI); return newItemId; }}
As far as the “address recipient” parameter goes, the contract will get it from the connected wallet’s address. To be able to mint, the recipient’s address needs to match the contract owner’s address. On the other hand, the token URI will come from your backend once the IPFS API uploads a particular ChatGPT conversation.
Note: You can deploy the above smart contract to Ethereum or any other EVM-compatible chain. However, to avoid any confusion, we urge you to focus on the Goerli testnet. This is the network this tutorial use.
After successfully deploying your instance of our “MessageNFT.sol” smart contract, focus on the “backend” folder. There, you’ll find the “index.js”, “package-lock.json”, and “package.json” files. The latter tells you which dependencies this project utilizes. Moreover, you can install them with the “npm i” command. To make your backend function properly, create a “.env” file and store your Moralis Web3 API key in the “MORALIS_API_KEY” variable.
In case you haven’t created your Moralis account yet, do so now. Then, log in to your account to access your admin area. From there, you’ll be able to copy your Web3 API key with the following two clicks:
Now that you’ve successfully installed all the required dependencies and set your API key in place, you can run the backend’s “index.js” script. However, since this is the script that does all the heavy backend lifting, let’s walk you through its code.
The top lines of the script import all dependencies and define the local port to run on:
const express = require("express");const app = express();const port = 5001;const Moralis = require("moralis").default;const cors = require("cors");require("dotenv").config();
Then it uses CORS and Express and imports the API key from your “.env” file:
app.use(cors());app.use(express.json());const MORALIS_API_KEY = process.env.MORALIS_API_KEY;
At the bottom, the script initializes the above key via the “Moralis.start” method:
Moralis.start({ apiKey: MORALIS_API_KEY,}).then(() => { app.listen(port, () => { console.log(`Listening for API Calls`); });});
In addition, this also imports the OpenAI API configuration lines, which we obtained from the OpenAI docs:
const { Configuration, OpenAIApi } = require("openai");const configuration = new Configuration({ apiKey: process.env.OPENAI_API_KEY,});const openai = new OpenAIApi(configuration);
The above-covered lines of code surround the implementation of the root and “uploadtoipfs” endpoints that you saw in the introduction. Moving on, we’ll go over those two Express server endpoints.
As you probably remember, the main goal of today’s tutorial is to build a dapp that allows you to use ChatGPT to mint an NFT. You’ve already deployed the smart contract that will do the minting, but you haven’t incorporated ChatGPT into your backend. For that purpose, let’s create a root endpoint incorporating the OpenAI API to fetch the entry message from the frontend, pass that message to ChatGPT, and return ChatGPT’s reply. Here are the lines of code that take care of that:
app.get("/", async (req, res) => { const { query } = req; try { const response = await openai.createCompletion({ model: "text-davinci-003", prompt: query.message, max_tokens: 30, temperature: 0, }); return res.status(200).json(response.data); } catch (e) { console.log(`Something went wrong ${e}`); return res.status(400).json(); }});
The last piece of the backend puzzle revolves around uploading a ChatGPT conversation to IPFS. By doing so, you get your token URI that your smart contract uses to mint a ChatGPT NFT. To do this with minimum effort, we used the Moralis IPFS API and created the “uploadtoipfs” endpoint:
app.get("/uploadtoipfs", async (req, res) => { const { query } = req; try { const response = await Moralis.EvmApi.ipfs.uploadFolder({ abi: [ { path: "conversation.json", content: { chat: query.pair }, }, ], }); console.log(response.result); return res.status(200).json(response.result); } catch (e) { console.log(`Something went wrong ${e}`); return res.status(400).json(); }});
Looking at the lines of code above, you can see the “Moralis.EvmApi.ipfs.uploadFolder“ method. The latter uses “conversation.json” as an IPFS path and the current ChatGPT conversation as the corresponding content.
You can explore all frontend-related scripts inside the “nextjs_moralis_auth” folder. Presuming that you are JavaScript proficient and have some frontend mileage under the hood, we won’t spend much time on the frontend. After all, you just need to install all the required frontend dependencies. However, let’s look at some mention-worthy aspects. For instance, we wrap our app with “WagmiConfig” and “SessionProvider” to use authentication across the entire app:
function MyApp({ Component, pageProps }) { return ( <WagmiConfig client={client}> <SessionProvider session={pageProps.session} refetchInterval={0}> <Component {...pageProps} /> </SessionProvider> </WagmiConfig> );}
Another important aspect is the code that renders the header of our frontend, including the “Connect” button. For that purpose, the “signin.jsx” script uses “handleAuth“, which allows you to connect or disconnect MetaMask. Once you successfully connect MetaMask, the “user.jsx” page takes over. The latter has a different header than “signin.jsx”. The “user.js” script also utilizes the “loggedIn.js” component for frontend and backend communication. So, it is the “loggedIn.js” script that renders your frontend:
return ( <section> <section className={styles.chat_box}> <section className={styles.chat_history} id="chatHistory"></section> <section className={styles.message_input}> <input type="text" id="inputField" placeholder="Type your message..." onChange={getMessage} /> <button onClick={sendMessage}>Send</button> </section> </section> {showMintBtn && ( <button className={styles.mint_btn} onClick={mint}> MINT NFT </button> )} </section> );}
Note: If you want a more detailed code walkthrough of the “loggedIn.js” script, use the video at the top (5:53).
If you’ve used our code and ran both the backend and frontend dapps, you can now use your local host to take your instance of our ChatGPT NFT minter for a spin:
To access the app functionality, you need to hit the “Authenticate via MetaMask” button. The latter will prompt your MetaMask extension, asking you to sign the signature request:
Once you click on “Sign”, the Web3 app (dapp) utilizes the “user.jsx” script that displays a ChatGPT box and a different header:
You can use the entry field to type your question/command and hit “Send” to get ChatGPT’s reply. As soon as ChatGPT replies, our dapp presents you with the “Mint NFT” button:
So, if you decide to convert your ChatGPT conversation into an NFT, you need to use that button. Also, make sure to use the same wallet address as you have to deploy your smart contract. If you click on “Mint NFT”, MetaMask will pop up asking you to confirm an NFT-minting transaction:
Once the Goerli chain confirms the transaction, you can view your new ChatGPT NFT on Etherscan. However, if you were to upgrade your Web3 app with the ability to fetch the NFT’s details, you’d want to use the “Get NFTs by contract” API endpoint. You can use that endpoint’s API reference page to test its power:
To see the response after hitting the above “Try it” button, you’ll need to scroll down the “Get NFTs by contract” API reference page:
A ChatGPT NFT is a non-fungible token (NFT) that is in some way associated with ChatGPT – an advanced chatbot developed by OpenAI. For instance, it could be an NFT that uses the ChatGPT logo as its NFT-representing file or an NFT that was minted by a smart contract generated using ChatGPT.
Users around the globe are already using ChatGPT for many different purposes. Some of the most common ChatGPT use cases include generating programming code or code templates and finding/fixing code errors, creating content, generating marketing and sales pitches, performing accounting and data analysis, and more.
ChatGPT can be used via its web dashboard or via OpenAI’s API (as in the above tutorial). The latter enables devs to implement the power of AI into all sorts of dapps. Now, keep in mind that to make the most out of ChatGPT, you may need to train it on specific datasets that are relevant to your application.
Web3 devs and communities are already using ChatGPT to generate text (creating chatbots or virtual assistants), translate text, perform sentiment analysis, generate smart contracts and scripts for dapps, etc.
All in all, ChatGPT is an extremely powerful tool. With the right input and properly utilized output, it can be a great addition to various dapps and can enrich the Web3 experience.
In today’s article, we showed you how to create a ChatGPT NFT minter Web3 app (dapp). You now know that by deploying a proper smart contract and creating a suitable backend and frontend, you can use ChatGPT to mint an NFT. Also, by using our code, you were able to cover all those aspects with minimum effort. You can now play around with your instance of our dapp and create as many ChatGPT NFTs as you wish.
https://www.youtube.com/watch?v=Yl-ByONpYZI
Original article source at: https://moralis.io
1680245583
Пришло время улучшить процесс кодирования с помощью улучшения кода на основе ИИ. Семейство моделей GPT от OpenAI предлагает разработчикам множество возможностей для улучшения, проверки, исправления и даже аутсорсинга написания кода. Знание того, как использовать эти большие языковые модели в процессе разработки, скоро станет важным инструментом в наборе инструментов разработчика.
Вы когда-нибудь задумывались, как ИИ может изменить ваш процесс кодирования? В этом руководстве мы продемонстрируем методы использования ChatGPT или GPT-4 для проверки и рефакторинга кода, а также обсудим некоторые ограничения и предоставим полезные ресурсы для использования этих LLM в рабочем процессе программирования.
Мы начнем с способов проверки и рефакторинга, и для каждого из них вы можете поэкспериментировать с различными подсказками и предоставленными методами, чтобы раскрыть весь потенциал улучшения кода с помощью ИИ.
Примечание. Я буду использовать термин GPT4 во время содержания, так как это текущая модель, запрашиваемая для содержащихся примеров. ChatGPT (GPT3.5) работает аналогичным образом и может использоваться взаимозаменяемо.
Рефакторинг кода имеет решающее значение по нескольким причинам: он повышает удобочитаемость и удобство сопровождения, облегчая разработчикам понимание и изменение кода. Это также помогает предотвратить возможные ошибки и гарантирует, что ваш код соответствует установленным рекомендациям. В конечном итоге рефакторинг может привести к созданию более эффективного, надежного и надежного программного обеспечения.
ГПТ-4 может внести существенный вклад в этот процесс. Используя GPT-4 для просмотра и оценки вашего кода, вы можете быстро определить области для улучшения и создать более чистый и эффективный код. Использование возможностей GPT-4 может сэкономить время и уменьшить количество человеческих ошибок в процессе, что приведет к более последовательному соблюдению стандартов кодирования.
Вы можете быстро модернизировать свой код, предоставив свою старую функцию GPT-4 и попросив ее реорганизовать ее в соответствии с современными методами кодирования.
Быстрый:Refactor the following code to modern es6 programming standards
До:
function tempConvert(temp, scale) { // Vague function name
var result = 0; // 'var' is so es2015
if (scale == "C") { // Is this the correct way to compare strings?
result = (temp - 32) * (5 / 9); // Magic numbers
} else {
result = (temp * (9 / 5)) + 32;
}
return result.toFixed(1) + "°" + (scale == "C" ? "F" : "C"); // This line feels a bit cluttered...
}
После:
/**
* Converts a temperature between Celsius and Fahrenheit.
* @param {number} temp - The temperature value to convert.
* @param {string} scale - The temperature scale ('C' or 'F') to convert from.
* @return {string} The converted temperature value, formatted with one decimal place and the appropriate unit.
*/
const tempConvert = (temp, scale) => {
const isValidScale = scale === "C" || scale === "F";
if (!isValidScale) {
throw new Error("Invalid scale: must be 'C' or 'F'.");
}
const conversionFactor = 5 / 9;
const result = scale === "C"
? (temp - 32) * conversionFactor
: (temp * conversionFactor) + 32;
const resultUnit = scale === "C" ? "F" : "C";
return `${result.toFixed(1)}°${resultUnit}`;
}
В этой рефакторинговой версии GPT4 быстро были внесены следующие улучшения:
Ваша организация или кодовая база могут использовать определенные приемы и стили кодирования, которые вы хотите сохранить. В подобных ситуациях предоставьте GPT4 инструкции о том, на какой конкретной практике кодирования или стиле вы хотите сосредоточиться.
Быстрый: Review the following code and refactor it to make it more DRY and adopt the SOLID programming principles.
Обратите внимание, что с тем же вводом он принял принцип SOLID программирования с единой ответственностью и разделил функцию на 3. В отличие от шага «Модернизация» ранее, он не преобразовал функцию в функцию стрелки.
«Выделив логику преобразования в отдельные функции, мы улучшили соответствие кода принципу единой ответственности (часть SOLID), поскольку теперь у каждой функции есть четкая, целенаправленная цель».
function tempConvert(temp, scale) {
const isValidScale = scale === "C" || scale === "F";
if (!isValidScale) {
throw new Error("Invalid scale: must be 'C' or 'F'.");
}
const result = scale === "C" ? celsiusToFahrenheit(temp) : fahrenheitToCelsius(temp);
const resultUnit = scale === "C" ? "F" : "C";
return `${result.toFixed(1)}°${resultUnit}`;
}
function celsiusToFahrenheit(temp) {
const conversionFactor = 9 / 5;
return (temp * conversionFactor) + 32;
}
function fahrenheitToCelsius(temp) {
const conversionFactor = 5 / 9;
return (temp - 32) * conversionFactor;
}
Иногда мы не замечаем уязвимостей или потенциальных проблем, которые может создать наш код. Получение GPT-4 для просмотра и устранения проблем с кодом может сэкономить вам больше, чем просто время.
Быстрый: Review this code for errors and refactor to fix any issues...
Входная (дефектная) функция:
function updateTotalPrice(items, discountPercentage) {
let totalPrice = 0;
for (let i = 0; i < items.length; i++) {
const item = items[i];
totalPrice += item.price * item.quantity;
}
// Potential error: discountPercentage is not validated or checked for boundary conditions
const discount = totalPrice * (discountPercentage / 100);
totalPrice -= discount;
return totalPrice;
}
Выход:
function updateTotalPrice(items, discountPercentage) {
// Fix 1: Validate input parameters
if (!Array.isArray(items) || typeof discountPercentage !== 'number') {
throw new Error('Invalid input parameters');
}
// Fix 2: Check for boundary conditions of discountPercentage
if (discountPercentage < 0 || discountPercentage > 100) {
throw new Error('Invalid discount percentage value. It should be between 0 and 100');
}
let totalPrice = 0;
for (let i = 0; i < items.length; i++) {
const item = items[i];
// Fix 3: Validate item properties and types
if (!item.hasOwnProperty('price') || !item.hasOwnProperty('quantity') ||
typeof item.price !== 'number' || typeof item.quantity !== 'number') {
throw new Error('Invalid item properties');
}
totalPrice += item.price * item.quantity;
}
const discount = totalPrice * (discountPercentage / 100);
totalPrice -= discount;
return totalPrice;
}
Изменения, внесенные GPT-4:
Начало новых проектов может быть болезненным. GPT-4 не знает вашей бизнес-логики, но с его помощью можно запустить скучный шаблонный код в первый же день. Технически это не рефакторинг, но он потрясающий и может быть частью процесса в жизненном цикле программирования.
Быстрый: Write me a boilerplate Node.js function that will take a variable of type User, validate that the user has the right permissions, fetch an array of item type Posts from a postgres database and return them. Leave comments for business logic.
Есть много причин, по которым вам может понадобиться преобразовать код с одного языка на другой. Вы нашли репозиторий с кодом для одного языка, который вам нужен на другом, вы перемещаете базы кода, или, может быть, ваш начальник прочитал статью о последнем фреймворке внешнего интерфейса, и теперь вы переходите на {разделяющую новую библиотеку}.
В любом случае GPT-4 может оказать помощь простой подсказкой.
Быстрый: Rewrite the following code in Rust: ...
Если ваш код говорит сам за себя, но требует комментариев, это может значительно сэкономить время.
Быстрый: Add comments to the following code ...
Как и многие другие вещи в жизни, с GPT-4 вы получаете то, что вкладываете. В этом случае предоставление большего количества контекста, инструкций и рекомендаций обычно дает лучшие результаты.
Вот краткий список советов и приемов по улучшению рефакторинга кода:
Эта статья посвящена искусственному интеллекту, однако эти модели не идеальны и не могут (пока) точно воспроизвести бизнес-логику, среди прочего. Вот список того, на что следует обратить внимание и чего следует избегать при использовании GPT-4 для проверки или рефакторинга кода:
Программирование на базе искусственного интеллекта — это всего лишь новинка, но она никуда не денется. При правильном использовании это может сэкономить время и помочь нам писать лучший код. Надеюсь, вам понравилась эта статья, и вы усвоили некоторые новые навыки, которые помогут вам повысить производительность программирования или обработку ошибок.
Оригинальный источник статьи: https://www.sitepoint.com/
1680241813
是时候通过 AI 驱动的代码改进来增强您的编码过程了。OpenAI 的 GPT 模型系列为开发人员提供了大量改进、审查、修复甚至外包代码编写的机会。了解如何在开发过程中使用这些大型语言模型将很快成为开发人员工具包中必不可少的工具。
有没有想过人工智能如何改变你的编码过程?在本指南中,我们将演示使用 ChatGPT 或 GPT-4 审查和重构代码的技术,并讨论一些限制并提供在编程工作流程中使用这些 LLM 的便利资源。
我们将从我们可以审查和重构的方式开始,对于每一种方式,您可能想要尝试不同的提示和提供的技术来释放 AI 驱动的代码改进的全部潜力。
注意:我将在内容中使用术语 GPT4,因为这是提示包含示例的当前模型。ChatGPT (GPT3.5) 的工作方式类似,可以互换使用。
重构代码之所以至关重要,有几个原因:它增强了可读性和可维护性,使开发人员更容易理解和修改代码。它还有助于防止潜在的错误并确保您的代码符合既定的最佳实践。最终,重构可以带来更高效、可靠和健壮的软件。
GPT-4 可以为这一过程做出重大贡献。通过使用 GPT-4 审查和评估您的代码,您可以快速确定需要改进的地方并创建更简洁、更高效的代码。利用 GPT-4 的功能可以节省时间并减少流程中的人为错误,从而更加一致地遵守编码标准。
您可以通过向 GPT-4 提供旧功能并要求其重构为现代编码实践来快速实现代码现代化。
迅速的:Refactor the following code to modern es6 programming standards
前:
function tempConvert(temp, scale) { // Vague function name
var result = 0; // 'var' is so es2015
if (scale == "C") { // Is this the correct way to compare strings?
result = (temp - 32) * (5 / 9); // Magic numbers
} else {
result = (temp * (9 / 5)) + 32;
}
return result.toFixed(1) + "°" + (scale == "C" ? "F" : "C"); // This line feels a bit cluttered...
}
后:
/**
* Converts a temperature between Celsius and Fahrenheit.
* @param {number} temp - The temperature value to convert.
* @param {string} scale - The temperature scale ('C' or 'F') to convert from.
* @return {string} The converted temperature value, formatted with one decimal place and the appropriate unit.
*/
const tempConvert = (temp, scale) => {
const isValidScale = scale === "C" || scale === "F";
if (!isValidScale) {
throw new Error("Invalid scale: must be 'C' or 'F'.");
}
const conversionFactor = 5 / 9;
const result = scale === "C"
? (temp - 32) * conversionFactor
: (temp * conversionFactor) + 32;
const resultUnit = scale === "C" ? "F" : "C";
return `${result.toFixed(1)}°${resultUnit}`;
}
在这次重构的版本中,GPT4 很快做出了以下改进:
您的组织或代码库可能使用您希望保留的某些编码实践和风格。对于这种情况,请向 GPT4 提供有关您希望其关注的特定编码实践或风格的说明。
迅速的: Review the following code and refactor it to make it more DRY and adopt the SOLID programming principles.
请注意,对于相同的输入,它采用了单一职责的 SOLID 编程原则,并将函数拆分为 3 个。与前面的“现代化”步骤不同,它没有将函数转换为箭头函数。
“通过将转换逻辑提取到单独的函数中,我们改进了代码对单一职责原则(SOLID 的一部分)的遵守,因为每个函数现在都有一个明确、集中的目的。”
function tempConvert(temp, scale) {
const isValidScale = scale === "C" || scale === "F";
if (!isValidScale) {
throw new Error("Invalid scale: must be 'C' or 'F'.");
}
const result = scale === "C" ? celsiusToFahrenheit(temp) : fahrenheitToCelsius(temp);
const resultUnit = scale === "C" ? "F" : "C";
return `${result.toFixed(1)}°${resultUnit}`;
}
function celsiusToFahrenheit(temp) {
const conversionFactor = 9 / 5;
return (temp * conversionFactor) + 32;
}
function fahrenheitToCelsius(temp) {
const conversionFactor = 5 / 9;
return (temp - 32) * conversionFactor;
}
有时我们对我们的代码可能造成的漏洞或潜在问题视而不见。让 GPT-4 审查和解决代码问题可以为您节省的不仅仅是时间。
迅速的: Review this code for errors and refactor to fix any issues...
输入(有缺陷的)功能:
function updateTotalPrice(items, discountPercentage) {
let totalPrice = 0;
for (let i = 0; i < items.length; i++) {
const item = items[i];
totalPrice += item.price * item.quantity;
}
// Potential error: discountPercentage is not validated or checked for boundary conditions
const discount = totalPrice * (discountPercentage / 100);
totalPrice -= discount;
return totalPrice;
}
输出:
function updateTotalPrice(items, discountPercentage) {
// Fix 1: Validate input parameters
if (!Array.isArray(items) || typeof discountPercentage !== 'number') {
throw new Error('Invalid input parameters');
}
// Fix 2: Check for boundary conditions of discountPercentage
if (discountPercentage < 0 || discountPercentage > 100) {
throw new Error('Invalid discount percentage value. It should be between 0 and 100');
}
let totalPrice = 0;
for (let i = 0; i < items.length; i++) {
const item = items[i];
// Fix 3: Validate item properties and types
if (!item.hasOwnProperty('price') || !item.hasOwnProperty('quantity') ||
typeof item.price !== 'number' || typeof item.quantity !== 'number') {
throw new Error('Invalid item properties');
}
totalPrice += item.price * item.quantity;
}
const discount = totalPrice * (discountPercentage / 100);
totalPrice -= discount;
return totalPrice;
}
GPT-4 所做的更改:
开始新项目可能会很痛苦。GPT-4 不知道您的业务逻辑,但它可用于在第一天启动无聊的样板代码。这不是技术上的重构,但它很了不起,并且可以成为编程生命周期中流程的一部分。
迅速的: Write me a boilerplate Node.js function that will take a variable of type User, validate that the user has the right permissions, fetch an array of item type Posts from a postgres database and return them. Leave comments for business logic.
您可能需要将代码从一种语言转换为另一种语言的原因有很多。您找到了一个存储库,其中包含您需要的另一种语言的代码,您正在移动代码库,或者您的老板可能阅读了一篇关于最新前端框架的文章,现在您正在转向{分裂的新库}。
在任何情况下,GPT-4 都可以通过简单的提示提供帮助。
迅速的: Rewrite the following code in Rust: ...
如果您的代码不言自明但需要注释,这可以节省大量时间。
迅速的: Add comments to the following code ...
就像生活中的许多事情一样,使用 GPT-4,你会得到你投入的东西。在这种情况下,提供更多的背景、说明和指导通常会产生更好的结果。
以下是改进代码重构的技巧和技巧的简短列表:
这篇文章非常支持 AI,但是这些模型并不完美,并且不能(还)准确地复制业务逻辑等。以下是使用 GPT-4 审查或重构代码时需要注意和避免的事项列表:
人工智能驱动的编程只是一个新事物,但它会一直存在。如果使用得当,它可以节省时间并帮助我们编写更好的代码。我希望您喜欢这篇文章并掌握了一些新技能来提高您的编程效率或错误处理能力。
文章原文出处:https: //www.sitepoint.com/
1680234447
It’s time to enhance your coding process with AI-driven code improvement. The GPT family of models from OpenAI offers developers a wealth of opportunities to improve, review, fix, and even outsource code writing. Knowing how to use these large language models during the development process will soon become an essential tool in the developer toolkit.
Ever wondered how AI could transform your coding process? In this guide, we’ll demonstrate techniques for using ChatGPT or GPT-4 to review and refactor code, as well as discuss some limitations and provide handy resources for using these LLMs in your programming workflow.
We’ll start with ways we can review and refactor, and for each of these, you may want to experiment with different prompts and the provided techniques to unlock the full potential of AI-driven code improvement.
Note: I will use the term GPT4 during the content as this is the current model prompted for the containted examples. ChatGPT (GPT3.5) works in a similar way and can be used interchangeably.
Refactoring code is crucial for several reasons: it enhances readability and maintainability, making it easier for developers to understand and modify the code. It also helps prevent potential bugs and ensures that your code adheres to established best practices. Ultimately, refactoring can lead to more efficient, reliable, and robust software.
GPT-4 can significantly contribute to this process. By using GPT-4 to review and assess your code, you can quickly identify areas for improvement and create cleaner, more efficient code. Leveraging GPT-4’s capabilities can save time and reduce human errors in the process, resulting in more consistent adherence to coding standards.
You can quickly modernize your code by providing your old function to GPT-4 and ask it to refactor it to modern coding practices.
Prompt: Refactor the following code to modern es6 programming standards
Before:
function tempConvert(temp, scale) { // Vague function name
var result = 0; // 'var' is so es2015
if (scale == "C") { // Is this the correct way to compare strings?
result = (temp - 32) * (5 / 9); // Magic numbers
} else {
result = (temp * (9 / 5)) + 32;
}
return result.toFixed(1) + "°" + (scale == "C" ? "F" : "C"); // This line feels a bit cluttered...
}
After:
/**
* Converts a temperature between Celsius and Fahrenheit.
* @param {number} temp - The temperature value to convert.
* @param {string} scale - The temperature scale ('C' or 'F') to convert from.
* @return {string} The converted temperature value, formatted with one decimal place and the appropriate unit.
*/
const tempConvert = (temp, scale) => {
const isValidScale = scale === "C" || scale === "F";
if (!isValidScale) {
throw new Error("Invalid scale: must be 'C' or 'F'.");
}
const conversionFactor = 5 / 9;
const result = scale === "C"
? (temp - 32) * conversionFactor
: (temp * conversionFactor) + 32;
const resultUnit = scale === "C" ? "F" : "C";
return `${result.toFixed(1)}°${resultUnit}`;
}
In this refactored version, GPT4 quickly made the following improvements:
tempConvert
function to an arrow function.var
with const
for immutable variables.===
) for string comparisons.Your organisation or code base might use certain coding practices and styles that you want to keep. For situations like this, provide instructions to GPT4 on what particular coding practice, or style you’d like it to focus on.
Prompt: Review the following code and refactor it to make it more DRY and adopt the SOLID programming principles.
Note with the same input it has adopted the SOLID programming principle of Single Responsibility and split the function into 3. Unlike the ‘Modernize’ step earlier, it did not convert the function to an arrow function.
“By extracting the conversion logic into separate functions, we’ve improved the code’s adherence to the Single Responsibility Principle (part of SOLID), as each function now has a clear, focused purpose.”
function tempConvert(temp, scale) {
const isValidScale = scale === "C" || scale === "F";
if (!isValidScale) {
throw new Error("Invalid scale: must be 'C' or 'F'.");
}
const result = scale === "C" ? celsiusToFahrenheit(temp) : fahrenheitToCelsius(temp);
const resultUnit = scale === "C" ? "F" : "C";
return `${result.toFixed(1)}°${resultUnit}`;
}
function celsiusToFahrenheit(temp) {
const conversionFactor = 9 / 5;
return (temp * conversionFactor) + 32;
}
function fahrenheitToCelsius(temp) {
const conversionFactor = 5 / 9;
return (temp - 32) * conversionFactor;
}
Sometimes we are blind to the vulnerabilities or potential issues our code can create. Getting GPT-4 to review and address code issues can save you more than just time.
Prompt: Review this code for errors and refactor to fix any issues...
Input (Flawed) Function:
function updateTotalPrice(items, discountPercentage) {
let totalPrice = 0;
for (let i = 0; i < items.length; i++) {
const item = items[i];
totalPrice += item.price * item.quantity;
}
// Potential error: discountPercentage is not validated or checked for boundary conditions
const discount = totalPrice * (discountPercentage / 100);
totalPrice -= discount;
return totalPrice;
}
Output:
function updateTotalPrice(items, discountPercentage) {
// Fix 1: Validate input parameters
if (!Array.isArray(items) || typeof discountPercentage !== 'number') {
throw new Error('Invalid input parameters');
}
// Fix 2: Check for boundary conditions of discountPercentage
if (discountPercentage < 0 || discountPercentage > 100) {
throw new Error('Invalid discount percentage value. It should be between 0 and 100');
}
let totalPrice = 0;
for (let i = 0; i < items.length; i++) {
const item = items[i];
// Fix 3: Validate item properties and types
if (!item.hasOwnProperty('price') || !item.hasOwnProperty('quantity') ||
typeof item.price !== 'number' || typeof item.quantity !== 'number') {
throw new Error('Invalid item properties');
}
totalPrice += item.price * item.quantity;
}
const discount = totalPrice * (discountPercentage / 100);
totalPrice -= discount;
return totalPrice;
}
Changes that GPT-4 made:
Starting new projects can be a painful. GPT-4 doesn’t know your business logic but it can be used to kick off the boring boilerplate code on day 1. This isn’t technically refactoring but it’s amazing and can be part of an process in the programming lifecycle.
Prompt: Write me a boilerplate Node.js function that will take a variable of type User, validate that the user has the right permissions, fetch an array of item type Posts from a postgres database and return them. Leave comments for business logic.
There are many reasons you may need to convert code from one language to another. You’ve found a repo with code for one language that you need in another, you’re moving code bases, or maybe your boss read an article on the latest front end framework and now you’re moving to {divisive new library}.
In any case, GPT-4 can provide assistance with a simple prompt.
Prompt: Rewrite the following code in Rust: ...
If your code is self-explanatory but requires commenting, this can be a huge time-saver.
Prompt: Add comments to the following code ...
Like many things in life, with GPT-4, you get out what you put in. In this case, providing more context, instructions, and guidance will usually produce better results.
Here’s a short list of tips and techniques to improve your code refactoring:
This article is very pro-AI, however these models are not perfect and cannot (yet) accurately replicate business logic, among other things. Here’s a list of things to look out for and avoid when using GPT-4 to review or refactor your code:
AI-powered programming is only new but it is here to stay. When used correctly it can save time and help us write better code. I hope you’ve enjoyed this article and have taken away some new skills to boost your programming productivity or error handling.
Original article source at: https://www.sitepoint.com/
Воробьёва Валерия Владимировна
1680223440
В этом руководстве по ChatGPT мы узнаем о приложениях ChatGPT в разных отраслях. ChatGPT от OpenAI — это большая языковая модель, способная создавать письма, похожие на человеческие. Он был обучен на огромном наборе данных интернет-текста и способен выполнять широкий спектр задач обработки естественного языка, таких как языковой перевод, суммирование текста, генерация текста и диалоговые системы.
Этот пост в блоге направлен на подробное изучение возможностей ChatGPT. Мы рассмотрим, как работает модель, на каких обучающих данных она построена и какие у нее ограничения. Мы также рассмотрим различные приложения ChatGPT, в том числе примеры модели в действии.
В этом сообщении в блоге будет представлен всесторонний обзор ChatGPT и его возможностей, а также подробно рассмотрено, как он может решать реальные проблемы.
ChatGPT — это тип языковой модели, известный как модель преобразователя. Он работает, беря фрагмент текста, например предложение или подсказку, и генерируя ответ. Модель обучена предсказывать следующее слово в предложении, учитывая контекст предшествующих слов.
ChatGPT создан на основе GPT-3.5, языковой модели, обученной для создания текста. ChatGPT был оптимизирован для диалога с использованием Reinforcement Learning with Human Feedback (RLHF) — метода, который использует человеческие демонстрации, чтобы направить модель к желаемому поведению. (Источник: OpenAI.com )
Обучающие данные, используемые для создания ChatGPT, представляют собой массивный набор данных интернет-текста, известный как набор данных WebText. Этот набор данных включает в себя широкий спектр типов и стилей текста, таких как статьи, форумы и сообщения в социальных сетях. Обучаясь на таком разнообразном наборе данных, ChatGPT может генерировать текст, похожий на то, как пишут люди.
В этом разделе мы рассмотрим, как можно применить ChatGPT, чтобы помочь предприятиям использовать возможности искусственного интеллекта и обработки естественного языка .
ChatGPT может автоматизировать повторяющиеся операции, такие как предоставление информации о продукте и ответов на часто задаваемые вопросы. Компании могли бы тратить меньше времени и денег, поручая определенные действия ИИ, а не людям. Кроме того, ChatGPT превосходит другие доступные в настоящее время системы искусственного интеллекта в своем понимании сложных вопросов, что делает его лучшим вариантом для решения более сложных проблем потребителей.
Чтобы узнать больше о том, что клиенты думают о продукте или услуге, используйте ChatGPT. Компании могут использовать эти данные для улучшения своих предложений и гарантии того, что они удовлетворяют потребности клиентов. ChatGPT также является хорошим вариантом для этой должности из-за его функций обработки естественного языка (NLP), которые позволяют ему определять, что клиенты думают о продукте.
Взаимодействуя с потенциальными клиентами и узнавая их потребности, ChatGPT может создавать потенциальных клиентов. Вы можете использовать эти данные для настройки маркетинговых кампаний на основе интересов и предпочтений каждого клиента.
Персональные рекомендации могут быть сделаны с помощью ChatGPT в зависимости от потребительских предпочтений. Если бы клиентам были предоставлены правильные варианты, предприятия могли бы заключать больше сделок. ChatGPT отлично справляется с такими задачами, потому что понимает сложные запросы намного лучше, чем другие системы искусственного интеллекта, используемые в настоящее время.
Возможности ChatGPT в понимании и генерации естественного языка делают его хорошо подходящим для чат-ботов и приложений для разговорного ИИ . Путем точной настройки модели на наборе данных разговорного текста он может научиться понимать и реагировать на вводимые пользователем данные, как человек.
В разгар цифровой революции неструктурированные данные доставляют неудобства. Ими сложно управлять, организовывать и сортировать, что является проблемой. Поскольку ChatGPT может преобразовывать неструктурированные данные в структурированные, он полезен.
Одним из самых многообещающих применений ChatGPT является языковой перевод. Модель способна понимать и генерировать текст на нескольких языках, что делает ее мощным инструментом для машинного перевода. Путем точной настройки модели на большом наборе данных двуязычного текста она может научиться переводить текст с одного языка на другой с высокой степенью точности. Это может быть применено к целому ряду задач, включая перевод документов, перевод чат-ботов и перевод веб-сайтов.
ChatGPT можно использовать для суммирования текста, что позволяет извлечь наиболее важную информацию из большого текста. Это может быть полезно для различных приложений, таких как обобщение новостей, обобщение обзоров продуктов и обобщение научных статей. Кроме того, его можно использовать для анализа текста, такого как анализ настроений, моделирование тем и распознавание именованных сущностей.
ChatGPT может помочь в выявлении и устранении ошибок в коде, предоставляя объяснения, предложения и примеры.
Из текста ChatGPT может создавать SQL-запросы . Еще один инструмент для упрощения вашей жизни. Инструментарий каждого специалиста по данным должен включать SQL. Конечно, мастерство необходимо, но хорошее владение SQL может помочь вам во всех аспектах вашей профессиональной жизни.
Кроме того, ChatGPT можно использовать для передачи материалов конкретным лицам. Обучив модель на наборе пользовательских данных, компании могут использовать ее для создания специализированного контента, такого как электронные письма, публикации в социальных сетях и предложения продуктов.
Ниже приводится точный обзор Mckinsey о текущих приложениях инструментов искусственного интеллекта, таких как ChatGPT, в различных областях;
Это лишь некоторые из множества приложений ChatGPT. По мере развития и совершенствования технологий мы ожидаем увидеть больше способов их использования для улучшения бизнеса и ускорения операций. ChatGPT, несомненно, стоит попробовать, если вы ищете мощное решение для создания контента, улучшения обслуживания клиентов или анализа данных.
Оригинальный источник статьи: https://www.mygreatlearning.com
1680218880
Speed up your daily workflows by getting AI to write Python code in seconds.
On March 14, 2023, OpenAI launched GPT-4, the newest and most powerful version of their language model.
Within just hours of its launch, GPT-4 stunned people by turning a hand-drawn sketch into a functional website, passing the bar exam, and generating accurate summaries of Wikipedia articles.
It also outperforms its predecessor, GPT-3.5, in solving math problems and answering questions based on logic and reasoning.
ChatGPT, the chatbot which was built on top of GPT-3.5 and released to the public, was notorious for “hallucinating.” It would generate responses that were seemingly correct and would defend its answers with “facts”, although they were laden with errors.
One user took to Twitter after the model insisted that elephant eggs were the largest of all land animals:
Image from FioraAeterna
And it didn’t stop there. The algorithm went on to corroborate its response with made-up facts that almost had me convinced for a moment.
GPT-4, on the other hand, was trained to “hallucinate” less often. OpenAI’s latest model is harder to trick and does not confidently generate falsehoods as frequently.
Why Automate Workflows with GPT-4?
As a data scientist, my job requires me to find relevant data sources, preprocess large datasets, and build highly accurate machine learning models that drive business value.
I spend a huge portion of my day extracting data from different file formats and consolidating it in one place.
After ChatGPT was first launched in November 2022, I looked to the chatbot for some guidance with my daily workflows. I used the tool to save the amount of time spent on menial work - so that I could focus on coming up with new ideas and creating better models instead.
Once GPT-4 was released, I was curious about whether it would make a difference in the work I was doing. Were there any significant benefits to using GPT-4 over its predecessors? Would it help me save more time than I already was with GPT-3.5?
In this article, I will show you how I use ChatGPT to automate data science workflows.
I will create the same prompts and feed them into both GPT-4 and GPT-3.5, to see if the former indeed does perform better and result in more time savings.
How to Access ChatGPT?
If you’d like to follow along with everything I do in this article, you need to have access to GPT-4 and GPT-3.5.
GPT-3.5 is publicly available on OpenAI’s website. Simply navigate to https://chat.openai.com/auth/login, fill out the required details, and you will have access to the language model:
Image from ChatGPT
GPT-4, on the other hand, is currently hidden behind a paywall. To access the model, you need to upgrade to ChatGPTPlus by clicking on “Upgrade to Plus.”
There is a monthly subscription fee of $20/month that can be canceled anytime:
Image from ChatGPT
If you don’t want to pay the monthly subscription fee, you can also join the API waitlist for GPT-4. Once you get access to the API, you can follow this guide to use it in Python.
It’s okay if you don’t currently have access to GPT-4.
You can still follow this tutorial with the free version of ChatGPT that uses GPT-3.5 in the backend.
3 Ways to Automate Data Science Workflows with GPT-4 and Python
When performing exploratory data analysis, generating a quick visualization in Python often helps me better understand the dataset.
Unfortunately, this task can become incredibly time-consuming - especially when you don’t know the right syntax to use to get the desired result.
I often find myself searching through Seaborn’s extensive documentation and using StackOverflow to generate a single Python plot.
Let’s see if ChatGPT can help solve this problem.
We will be using the Pima Indians Diabetes dataset in this section. You can download the dataset if you’d like to follow along with the results generated by ChatGPT.
After downloading the dataset, let’s load it into Python using the Pandas library and print the head of the dataframe:
import pandas as pd
df = pd.read_csv('diabetes.csv')
df.head()
There are nine variables in this dataset. One of them, “Outcome”, is the target variable that tells us whether a person will develop diabetes. The remaining are independent variables used to predict the outcome.
Okay! So I want to see which of these variables have an impact on whether a person will develop diabetes.
To achieve this, we can create a clustered bar chart to visualize the variable “Diabetes” across all the dependent variables in the dataset.
This is actually pretty easy to code out, but let’s start simple. We will move on to more complicated prompts as we progress through the article.
Since I have a paid subscription to ChatGPT, the tool allows me to select the underlying model I’d like to use every time I access it.
I am going to select GPT-3.5:
Image from ChatGPT Plus
If you don’t have a subscription, you can use the free version of ChatGPT since the chatbot uses GPT-3.5 by default.
Now, let’s type the following prompt to generate a visualization using the diabetes dataset:
I have a dataset with 8 independent variables and 1 dependent variable. The dependent variable, "Outcome", tells us whether a person will develop diabetes.
The independent variables, "Pregnancies", "Glucose", "BloodPressure", "SkinThickness", "Insulin", "BMI", "DiabetesPedigreeFunction", and "Age" are used to predict this outcome.
Can you generate Python code to visualize all these independent variables by outcome? The output should be one clustered bar chart that is colored by the "Outcome" variable. There should be 16 bars in total, 2 for each independent variable.
Here is the model’s response to the above prompt:
One thing that stands out immediately is that the model assumed we wanted to import a dataset from Seaborn. It probably made this assumption since we asked it to use the Seaborn library.
This isn’t a huge issue, we just need to change one line before running the codes.
Here’s the complete code snippet generated by GPT-3.5:
import seaborn as sns
import matplotlib.pyplot as plt
# Load the dataset
dataset = pd.read_csv("diabetes.csv")
# Create the bar chart
sns.barplot(
x="variable",
y="value",
hue="Outcome",
data=pd.melt(dataset, id_vars=["Outcome"]),
ci=None,
)
# Set the title and labels
plt.title("Dependent Variables by Outcome")
plt.xlabel("Independent Variables")
plt.ylabel("Value")
# Show the chart
plt.show()
You can copy and paste this into your Python IDE.
Here is the outcome generated after running the above code:
This chart looks perfect! It’s exactly how I envisioned it when typing the prompt into ChatGPT.
One issue that stands out, however, is that the text on this chart is overlapping. I am going to ask the model if it can help us fix this, by typing the following prompt:
The algorithm explained that we could prevent this overlap by either rotating the chart labels or adjusting the figure size. It also generated new code to help us achieve this.
Let’s run this code to see if it gives us the desired results:
import seaborn as sns
import matplotlib.pyplot as plt
# Load the dataset
dataset = pd.read_csv("diabetes.csv")
# Create the bar chart
sns.barplot(
x="variable",
y="value",
hue="Outcome",
data=pd.melt(dataset, id_vars=["Outcome"]),
ci=None,
)
# Set the title and labels
plt.title("Dependent Variables by Outcome")
plt.xlabel("Independent Variables")
plt.ylabel("Value")
# Rotate the x-axis labels by 45 degrees and set horizontal alignment to right
plt.xticks(rotation=45, ha="right")
# Show the chart
plt.show()
The above lines of code should generate the following output:
This looks great!
I understand the dataset a lot better now by simply looking at this chart. It appears as though people with higher glucose and insulin levels are more likely to develop diabetes.
Also, notice that the “DiabetesPedigreeFunction” variable doesn’t give us any information in this chart. This is because the feature is on a smaller scale (between 0 and 2.4). If you’d like to further experiment with ChatGPT, you can prompt it to generate multiple subplots within a single chart to solve this problem.
Now, let’s feed the same prompts into GPT-4 to see if we get a different response. I am going to select the GPT-4 model within ChatGPT and type in the same prompt as before:
Notice how GPT-4 does not assume that we will be using a dataframe that is built into Seaborn.
It tells us that it will use a dataframe called “df” to build the visualization, which is an improvement from the response generated by GPT-3.5.
Here is the complete code generated by this algorithm:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Assuming your DataFrame is called df
# First, you need to melt the DataFrame to make
# it suitable for creating a clustered bar chart
melted_df = pd.melt(
df,
id_vars=["Outcome"],
var_name="Independent Variable",
value_name="Value",
)
# Create the clustered bar chart
plt.figure(figsize=(12, 6))
sns.barplot(
data=melted_df,
x="Independent Variable",
y="Value",
hue="Outcome",
ci=None,
)
# Customize the plot
plt.title("Independent Variables by Outcome")
plt.ylabel("Average Value")
plt.xlabel("Independent Variables")
plt.legend(title="Outcome", loc="upper right")
# Show the plot
plt.show()
The above code should generate the following plot:
This is perfect!
Even though we didn’t ask it to, GPT-4 has included a line of code to increase the plot size. The labels on this chart are all clearly visible, so we don’t have to go back and amend the code as we did earlier.
This is a step above the response generated by GPT-3.5.
Overall, however, it appears as though GPT-3.5 and GPT-4 are both effective at generating code to perform tasks like data visualization and analysis.
It is important to note that since you cannot upload data into ChatGPT’s interface, you should provide the model with an accurate description of your dataset for optimum results.
While this isn’t a common data science use-case, I have had to extract text data from hundreds of PDF files to build a sentiment analysis model once. The data was unstructured, and I spent a lot of time extracting and preprocessing it.
I also often work with researchers who read and create content about current events taking place in specific industries. They need to stay on top of the news, parse through company reports, and read about potential trends in the industry.
Instead of reading 100 pages of a company’s report, isn’t it easier to simply extract words you are interested in and only read through sentences that contain those keywords?
Or if you’re interested in trends, you can create an automated workflow that showcases keyword growth over time instead of going through each report manually.
In this section, we will be using ChatGPT to analyze PDF files in Python. We will ask the chatbot to extract the contents of a PDF file and write it into a text file.
Again, this will be done using both GPT-3.5 and GPT-4 to see if there is a significant difference in the code generated.
In this section, we will be analyzing a publicly available PDF document titled A Brief Introduction to Machine Learning for Engineers. Make sure to download this file if you’d like to code along to this section.
First, let’s ask the algorithm to generate Python code to extract data from this PDF document and save it to a text file:
Here is the complete code provided by the algorithm:
import PyPDF2
# Open the PDF file in read-binary mode
with open("Intro_to_ML.pdf", "rb") as pdf_file:
# Create a PDF reader object
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Get the total number of pages in the PDF file
num_pages = pdf_reader.getNumPages()
# Create a new text file
with open("output_file.txt", "w") as txt_file:
# Loop through each page in the PDF file
for page_num in range(num_pages):
# Get the text from the current page
page_text = pdf_reader.getPage(page_num).extractText()
# Write the text to the text file
txt_file.write(page_text)
(Note: Make sure to change the PDF file name to the one you saved before running this code.)
Unfortunately, after running the code generated by GPT-3.5, I encountered the following unicode error:
Let’s go back to GPT-3.5 and see if the model can fix this:
I pasted the error into ChatGPT, and the model responded that it could be fixed by changing the encoding used to “utf-8.” It also gave me some modified code that reflected this change:
import PyPDF2
# Open the PDF file in read-binary mode
with open("Intro_to_ML.pdf", "rb") as pdf_file:
# Create a PDF reader object
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Get the total number of pages in the PDF file
num_pages = pdf_reader.getNumPages()
# Create a new text file with utf-8 encoding
with open("output_file.txt", "w", encoding="utf-8") as txt_file:
# Loop through each page in the PDF file
for page_num in range(num_pages):
# Get the text from the current page
page_text = pdf_reader.getPage(page_num).extractText()
# Write the text to the text file
txt_file.write(page_text)
This code executed successfully and created a text file called “output_file.txt.” All the content in the PDF document have been written to the file:
Now, I am going to paste the same prompt into GPT-4 to see what the model comes up with:
Here is the complete code generated by GPT-4:
import PyPDF2
def pdf_to_text(input_pdf, output_txt):
with open(input_pdf, "rb") as pdf_file:
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
num_pages = pdf_reader.numPages
text = ""
for page_num in range(num_pages):
page = pdf_reader.getPage(page_num)
text += page.extractText()
with open(output_txt, "w", encoding="utf-8") as text_file:
text_file.write(text)
input_pdf = "Intro_to_ML.pdf"
output_txt = "output_gpt4.txt"
pdf_to_text(input_pdf, output_txt)
Look at that!
Unlike GPT-3.5, GPT-4 has already specified that “utf-8” encoding should be used to open the text file. We don’t need to go back and amend the code like we did previously.
The code provided by GPT-4 should execute successfully, and you should see the contents of the PDF document in the text file that was created.
There are many other techniques you can use to automate PDF documents with Python. If you’d like to explore this further, here are some other prompts you can type into ChatGPT:
I suggest trying some of these during your free time - you’d be surprised at how quickly GPT-4 can help you accomplish menial tasks that usually take hours to perform.
I spend hours of my workweek reading and responding to emails. Not only is this time-consuming, but it can also be incredibly stressful to stay on top of emails when you are chasing tight deadlines.
And although you can’t get ChatGPT to write all your emails for you (I wish), you can still use it to write programs that send scheduled emails at a specific time or modify a single email template that can be sent out to multiple people.
In this section, we will get GPT-3.5 and GPT-4 to help us write a Python script to send automated emails.
First, let’s type the following prompt to generate codes to send an automated email:
Here is the complete code generated by GPT-3.5 (Make sure to change the email addresses and password before running this code):
import smtplib
# Set up SMTP connection
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender_email = "your_email@gmail.com"
sender_password = "your_password"
receiver_email = "receiver_email@example.com"
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
# Start TLS encryption
smtp.starttls()
# Log in to your Gmail account
smtp.login(sender_email, sender_password)
# Compose your email message
subject = "Automated email"
body = "Hello,\n\nThis is an automated email sent from Python."
message = f"Subject: {subject}\n\n{body}"
# Send the email
smtp.sendmail(sender_email, receiver_email, message)
Unfortunately, this code did not execute successfully for me. It generated the following error:
Let’s paste this error into ChatGPT and see if the model can help us solve it:
Okay, so the algorithm pointed out a few reasons as to why we might be running into this error.
I know for a fact that my login credentials and email addresses were valid, and that there were no typos in the code. So these reasons can be ruled out.
GPT-3.5 also suggests that allowing less secure apps might solve this problem.
If you try this, however, you will not find an option in your Google account to allow access to less secure apps.
This is because Google no longer lets users allow less secure apps due to security concerns.
Finally, GPT-3.5 also mentions that an app password should be generated if two-factor authentication was enabled.
I don’t have two-factor authentication enabled, so I’m going to (temporarily) give up on this model and see if GPT-4 has a solution.
Okay, so if you type the same prompt into GPT-4, you will find that the algorithm generates code that is very similar to what GPT-3.5 gave us. This will cause the same error that we ran into previously.
Let’s see if GPT-4 can help us fix this error:
GPT-4’s suggestions are very similar to what we saw previously.
However, this time, it gives us a step-by-step breakdown of how to accomplish each step.
GPT-4 also suggests creating an app password, so let’s give it a try.
First, visit your Google Account, navigate to “Security”, and enable two-factor authentication. Then, in the same section, you should see an option that says “App Passwords.”
Click on it and the following screen will appear:
You can enter any name you like, and click on “Generate.”
A new app password will appear.
Replace your existing password in the Python code with this app password and run the code again:
import smtplib
# Set up SMTP connection
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender_email = "your_email@gmail.com"
sender_password = "YOUR_APP_PASSWORD"
receiver_email = "receiver_email@example.com"
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
# Start TLS encryption
smtp.starttls()
# Log in to your Gmail account
smtp.login(sender_email, sender_password)
# Compose your email message
subject = "Automated email"
body = "Hello,\n\nThis is an automated email sent from Python."
message = f"Subject: {subject}\n\n{body}"
# Send the email
smtp.sendmail(sender_email, receiver_email, message)
It should run successfully this time, and your recipient will receive an email that looks like this:
Perfect!
Thanks to ChatGPT, we have successfully sent out an automated email with Python.
If you’d like to take this a step further, I suggest generating prompts that allow you to:
Original article source at: https://www.kdnuggets.com/
1680208980
Trong bài viết này, chúng ta sẽ tìm hiểu 6 cách SEO Pro đang sử dụng ChatGPT để nâng cao chiến lược SEO của bạn. Tối ưu hóa công cụ tìm kiếm (SEO) là một khía cạnh quan trọng của tiếp thị kỹ thuật số và việc sử dụng các công nghệ Trí tuệ nhân tạo (AI) như ChatGPT có thể giúp các nhà tiếp thị tìm kiếm cải thiện nỗ lực SEO của họ. ChatGPT, một mô hình ngôn ngữ lớn do OpenAI phát triển, có thể được các nhà tiếp thị tìm kiếm tận dụng theo nhiều cách khác nhau để nâng cao chiến lược SEO của họ.
6 cách Các nhà tiếp thị tìm kiếm có thể tận dụng ChatGPT- AI cho SEO ngay hôm nay
Tối ưu hóa công cụ tìm kiếm (SEO) là một khía cạnh quan trọng của tiếp thị kỹ thuật số và việc sử dụng các công nghệ Trí tuệ nhân tạo (AI) như ChatGPT có thể giúp các nhà tiếp thị tìm kiếm cải thiện nỗ lực SEO của họ. ChatGPT, một mô hình ngôn ngữ lớn do OpenAI phát triển, có thể được các nhà tiếp thị tìm kiếm tận dụng theo nhiều cách khác nhau để nâng cao chiến lược SEO của họ.
Tạo nội dung: ChatGPT có thể được sử dụng để tạo nội dung chất lượng cao, độc đáo và có liên quan cho một trang web hoặc blog. Bằng cách cung cấp cho ChatGPT một chủ đề hoặc từ khóa, ChatGPT có thể tạo một bài báo hoặc bài đăng trên blog được tối ưu hóa cho SEO. Điều này có thể giúp các nhà tiếp thị tìm kiếm tiết kiệm thời gian và công sức đáng kể trong việc tạo và tối ưu hóa nội dung.
ChatGPT có thể là một công cụ có giá trị cho các nhà tiếp thị tìm kiếm trong quá trình tạo nội dung cho trang web hoặc blog của họ. Nó có thể giúp tạo nội dung chất lượng cao, độc đáo và có liên quan được tối ưu hóa cho SEO. Dưới đây là một số cách mà ChatGPT có thể hỗ trợ tạo nội dung:
Đăng ký các khóa học tiếp thị kỹ thuật số để có được kiến thức và kỹ năng cần thiết để phát triển và thực hiện các chiến lược tiếp thị hiệu quả trong thời đại kỹ thuật số.
Nghiên cứu từ khóa: ChatGPT có thể hỗ trợ các nhà tiếp thị tìm kiếm xác định các từ khóa và cụm từ có liên quan cho các chiến dịch SEO của họ. Bằng cách cung cấp cho ChatGPT một chủ đề hoặc ngành, ChatGPT có thể tạo danh sách các từ khóa và cụm từ có liên quan đến chủ đề và có lượng tìm kiếm cao. Điều này có thể giúp các nhà tiếp thị tìm kiếm xác định các từ khóa tốt nhất để nhắm mục tiêu trong các nỗ lực SEO của họ và cải thiện cơ hội xếp hạng nội dung của họ tốt trong các trang kết quả của công cụ tìm kiếm (SERPs).
ChatGPT có thể hỗ trợ các nhà tiếp thị tìm kiếm xác định các từ khóa và cụm từ có liên quan cho các chiến dịch SEO của họ. Nghiên cứu từ khóa là một khía cạnh quan trọng của SEO vì nó giúp xác định các thuật ngữ và cụm từ mà khách hàng tiềm năng đang tìm kiếm và tối ưu hóa nội dung phù hợp.
Dưới đây là một số cách mà ChatGPT có thể hỗ trợ trong nghiên cứu từ khóa:
Tạo liên kết ngược: ChatGPT cũng có thể được sử dụng để tạo liên kết ngược chất lượng cao cho trang web. Bằng cách cung cấp cho Chat GPT một chủ đề hoặc từ khóa, Chat GPT có thể tạo danh sách các trang web và blog có liên quan đến chủ đề đó và sẵn sàng chấp nhận các bài đăng hoặc liên kết ngược của khách. Điều này có thể giúp các nhà tiếp thị tìm kiếm có được các liên kết ngược trang web chất lượng cao, cải thiện khả năng hiển thị và xếp hạng của họ trong SERPs.
Dưới đây là một số cách mà ChatGPT có thể hỗ trợ trong việc tạo backlink:
Tối ưu hóa các thẻ Meta: ChatGPT có thể được sử dụng để tạo các thẻ meta được tối ưu hóa cho một trang web. Bằng cách cung cấp cho ChatGPT một chủ đề hoặc từ khóa, ChatGPT có thể tạo các thẻ meta được tối ưu hóa như thẻ tiêu đề, mô tả meta và thẻ tiêu đề có liên quan đến chủ đề và được tối ưu hóa cho SEO.
Điều này có thể giúp các nhà tiếp thị tìm kiếm cải thiện khả năng hiển thị và xếp hạng trang web của họ trong SERPs.
ChatGPT có thể được sử dụng để tạo các thẻ meta được tối ưu hóa cho trang web. Thẻ meta là các thẻ HTML cung cấp thông tin về một trang web cho các công cụ tìm kiếm và người dùng.
Dưới đây là một số cách mà ChatGPT có thể hỗ trợ trong việc tối ưu hóa thẻ meta:
Kiểm tra trang web : ChatGPT cũng có thể được sử dụng để tiến hành kiểm tra trang web trên một trang web. Bằng cách cung cấp cho ChatGPT một URL trang web, ChatGPT có thể tạo một báo cáo bao gồm thông tin về các vấn đề kỹ thuật SEO của trang web, các liên kết bị hỏng, thiếu thẻ meta và các vấn đề khác có thể ảnh hưởng đến xếp hạng của nó trong SERPs. Điều này có thể giúp các nhà tiếp thị tìm kiếm xác định và khắc phục mọi sự cố có thể ảnh hưởng tiêu cực đến xếp hạng trang web của họ.
Dưới đây là một số cách mà ChatGPT có thể hỗ trợ kiểm tra trang web:
Nắm vững các công cụ và kỹ thuật tiếp thị kỹ thuật số mới nhất để luôn dẫn đầu đối thủ, đồng thời tiếp cận và thu hút đối tượng mục tiêu trực tuyến một cách hiệu quả
Tối ưu hóa trang web cho tìm kiếm bằng giọng nói: ChatGPT có thể được sử dụng để tối ưu hóa trang web cho tìm kiếm bằng giọng nói vì ngày càng có nhiều người sử dụng tìm kiếm bằng giọng nói để tìm thông tin trên internet. Việc cung cấp cho ChatGPT chủ đề hoặc từ khóa có thể tạo danh sách từ khóa và cụm từ có liên quan đến chủ đề và được tối ưu hóa cho tìm kiếm bằng giọng nói. Điều này có thể giúp các nhà tiếp thị tìm kiếm cải thiện khả năng hiển thị và xếp hạng trang web của họ trong SERPs cho các truy vấn tìm kiếm bằng giọng nói.
Dưới đây là một số cách mà ChatGPT có thể hỗ trợ trong việc tối ưu hóa trang web cho tìm kiếm bằng giọng nói:
Tóm lại, ChatGPT có thể là một công cụ có giá trị cho các nhà tiếp thị tìm kiếm đang tìm cách cải thiện nỗ lực SEO của họ. Bằng cách tận dụng khả năng tạo nội dung chất lượng cao, độc đáo và có liên quan, xác định các từ khóa có liên quan, tạo liên kết ngược, tối ưu hóa thẻ meta, tiến hành trang web
Nguồn bài viết gốc tại: https://www.mygreatlearning.com
1680189483
Learn how to build a dashboard that generates RegEx using the OpenAI API and a low code tool called Retool. The dashboard allows users to input a string, write a description of the desired RegEx, and generate the code to transform the string accordingly.
⭐️ Contents ⭐️
(0:00) Introduction
(2:36) Writing our own regex code
(5:06) Creating the header element
(8:11) Creating the text area
(11:35) How to create a custom code editor
(16:32) Creating the new button
(19:08) Setting up the sidebar
(20:58) Configuring the open api api
(22:51) The body of the example example
(24:58) Setting up the code
💻 You can find the iframe code here: https://github.com/kubowania/regex-openai
🏗 Retool provided a grant to make this course possible. Learn more about Retool: https://retool.com
#regex #chatgpt #retool
1680186623
Ускорьте свои ежедневные рабочие процессы, заставив ИИ писать код Python за считанные секунды.
14 марта 2023 года OpenAI запустила GPT-4, новейшую и самую мощную версию своей языковой модели.
Всего через несколько часов после своего запуска GPT-4 ошеломил людей, превратив нарисованный от руки эскиз в функциональный веб-сайт , сдав экзамен на адвоката и создав точные резюме статей в Википедии .
Он также превосходит своего предшественника, GPT-3.5, в решении математических задач и ответах на вопросы, основанные на логике и рассуждениях.
ChatGPT, чат-бот, созданный на основе GPT-3.5 и выпущенный для широкой публики, был известен своими «галлюцинациями». Он генерировал ответы, которые казались правильными, и защищал свои ответы «фактами», хотя они были полны ошибок.
Один пользователь обратился в Twitter после того, как модель настояла на том, что слоновьи яйца были самыми большими из всех наземных животных:
Изображение из FioraAeterna
И это не остановилось на достигнутом. Алгоритм продолжал подтверждать свой ответ выдуманными фактами, которые на мгновение почти убедили меня.
GPT-4, с другой стороны, был обучен реже «галлюцинировать». Последнюю модель OpenAI сложнее обмануть, и она не так часто уверенно генерирует ложные сведения.
Зачем автоматизировать рабочие процессы с помощью GPT-4?
Моя работа как специалиста по данным требует от меня поиска релевантных источников данных, предварительной обработки больших наборов данных и создания высокоточных моделей машинного обучения, которые повышают ценность бизнеса.
Я провожу огромную часть своего дня, извлекая данные из файлов разных форматов и объединяя их в одном месте.
После того, как ChatGPT был впервые запущен в ноябре 2022 года, я обратился к чат-боту за некоторыми рекомендациями по моим повседневным рабочим процессам. Я использовал этот инструмент, чтобы сэкономить время, затрачиваемое на черную работу, чтобы вместо этого сосредоточиться на придумывании новых идей и создании лучших моделей.
Когда GPT-4 был выпущен, мне стало любопытно, изменит ли это мою работу. Были ли какие-либо существенные преимущества использования GPT-4 по сравнению с его предшественниками? Поможет ли это мне сэкономить больше времени, чем с GPT-3.5?
В этой статье я покажу вам, как я использую ChatGPT для автоматизации рабочих процессов обработки данных.
Я создам одинаковые подсказки и отправлю их как в GPT-4, так и в GPT-3.5, чтобы увидеть, действительно ли первый работает лучше и приводит к большей экономии времени.
Как получить доступ к ChatGPT?
Если вы хотите следовать всему, что я делаю в этой статье, вам необходим доступ к GPT-4 и GPT-3.5.
GPT-3.5 находится в открытом доступе на веб-сайте OpenAI. Просто перейдите на https://chat.openai.com/auth/login , заполните необходимые данные, и вы получите доступ к языковой модели:
Изображение из ChatGPT
С другой стороны, GPT-4 в настоящее время скрыт за платным доступом. Чтобы получить доступ к модели, вам необходимо перейти на ChatGPTPlus, нажав «Обновить до Plus».
Существует ежемесячная абонентская плата в размере 20 долларов США в месяц, которую можно отменить в любое время:
Изображение из ChatGPT
Если вы не хотите платить ежемесячную абонентскую плату, вы также можете присоединиться к списку ожидания API для GPT-4. Получив доступ к API, вы можете следовать этому руководству, чтобы использовать его в Python.
Ничего страшного, если у вас сейчас нет доступа к GPT-4.
Вы по-прежнему можете следовать этому руководству с бесплатной версией ChatGPT, которая использует GPT-3.5 в серверной части.
3 способа автоматизации рабочих процессов обработки данных с помощью GPT-4 и Python
При выполнении исследовательского анализа данных создание быстрой визуализации в Python часто помогает мне лучше понять набор данных.
К сожалению, эта задача может занять невероятно много времени, особенно если вы не знаете правильный синтаксис, который можно использовать для получения желаемого результата.
Я часто просматриваю обширную документацию Seaborn и использую StackOverflow для создания одного графика Python.
Посмотрим, поможет ли ChatGPT решить эту проблему.
В этом разделе мы будем использовать набор данных о диабете индейцев пима . Вы можете скачать набор данных, если хотите следить за результатами, созданными ChatGPT.
После загрузки набора данных давайте загрузим его в Python с помощью библиотеки Pandas и напечатаем заголовок фрейма данных:
import pandas as pd
df = pd.read_csv('diabetes.csv')
df.head()
В этом наборе данных девять переменных. Один из них, «Исход», является целевой переменной, которая сообщает нам, будет ли у человека развиваться диабет. Остальные являются независимыми переменными, используемыми для прогнозирования результата.
Хорошо! Поэтому я хочу посмотреть, какие из этих переменных влияют на то, разовьется ли у человека диабет.
Для этого мы можем создать гистограмму с кластерами, чтобы визуализировать переменную «Диабет» по всем зависимым переменным в наборе данных.
На самом деле это довольно легко закодировать, но давайте начнем с простого. По ходу статьи мы перейдем к более сложным подсказкам.
Поскольку у меня есть платная подписка на ChatGPT, этот инструмент позволяет мне выбирать базовую модель, которую я хотел бы использовать, каждый раз, когда я обращаюсь к нему.
Я собираюсь выбрать GPT-3.5:
Изображение из ChatGPT Plus
Если у вас нет подписки, вы можете использовать бесплатную версию ChatGPT, так как чат-бот по умолчанию использует GPT-3.5.
Теперь давайте введем следующую подсказку, чтобы создать визуализацию с использованием набора данных о диабете:
У меня есть набор данных с 8 независимыми переменными и 1 зависимой переменной. Зависимая переменная «Результат» сообщает нам, будет ли у человека развиваться диабет.
Независимые переменные «Беременность», «Глюкоза», «Кровяное давление», «Толщина кожи», «Инсулин», «ИМТ», «Функция родословной диабета» и «Возраст» используются для прогнозирования этого результата.
Можете ли вы сгенерировать код Python для визуализации всех этих независимых переменных по результату? На выходе должна быть одна гистограмма с кластерами, окрашенная переменной «Результат». Всего должно быть 16 баров, по 2 на каждую независимую переменную.
Вот ответ модели на приведенную выше подсказку:
Сразу бросается в глаза то, что модель предполагала, что мы хотим импортировать набор данных из Seaborn. Вероятно, он сделал это предположение, поскольку мы попросили его использовать библиотеку Seaborn.
Это не большая проблема, нам просто нужно изменить одну строку перед запуском кода.
Вот полный фрагмент кода, сгенерированный GPT-3.5:
import seaborn as sns
import matplotlib.pyplot as plt
# Load the dataset
dataset = pd.read_csv("diabetes.csv")
# Create the bar chart
sns.barplot(
x="variable",
y="value",
hue="Outcome",
data=pd.melt(dataset, id_vars=["Outcome"]),
ci=None,
)
# Set the title and labels
plt.title("Dependent Variables by Outcome")
plt.xlabel("Independent Variables")
plt.ylabel("Value")
# Show the chart
plt.show()
Вы можете скопировать и вставить это в свою Python IDE.
Вот результат, полученный после запуска приведенного выше кода:
Эта диаграмма выглядит идеально! Именно так я себе это представлял, вводя приглашение в ChatGPT.
Однако выделяется одна проблема: текст на этой диаграмме перекрывается. Я собираюсь спросить модель, может ли она помочь нам исправить это, введя следующую подсказку:
Алгоритм объяснил, что мы можем предотвратить это перекрытие, либо повернув метки диаграммы, либо отрегулировав размер фигуры. Он также сгенерировал новый код, чтобы помочь нам достичь этого.
Давайте запустим этот код, чтобы увидеть, дает ли он нам желаемые результаты:
import seaborn as sns
import matplotlib.pyplot as plt
# Load the dataset
dataset = pd.read_csv("diabetes.csv")
# Create the bar chart
sns.barplot(
x="variable",
y="value",
hue="Outcome",
data=pd.melt(dataset, id_vars=["Outcome"]),
ci=None,
)
# Set the title and labels
plt.title("Dependent Variables by Outcome")
plt.xlabel("Independent Variables")
plt.ylabel("Value")
# Rotate the x-axis labels by 45 degrees and set horizontal alignment to right
plt.xticks(rotation=45, ha="right")
# Show the chart
plt.show()
Приведенные выше строки кода должны генерировать следующий вывод:
Это выглядит великолепно!
Теперь я намного лучше понимаю набор данных, просто взглянув на эту диаграмму. Похоже, что люди с более высоким уровнем глюкозы и инсулина более склонны к развитию диабета.
Также обратите внимание, что переменная DiabetesPedigreeFunction не дает нам никакой информации на этой диаграмме. Это связано с тем, что функция имеет меньший масштаб (от 0 до 2,4). Если вы хотите поэкспериментировать с ChatGPT, вы можете попросить его создать несколько подграфиков на одной диаграмме, чтобы решить эту проблему.
Теперь давайте отправим те же подсказки в GPT-4, чтобы посмотреть, получим ли мы другой ответ. Я собираюсь выбрать модель GPT-4 в ChatGPT и ввести ту же подсказку, что и раньше:
Обратите внимание, что GPT-4 не предполагает, что мы будем использовать фрейм данных, встроенный в Seaborn.
Он сообщает нам, что будет использовать фрейм данных с именем «df» для построения визуализации, что является улучшением по сравнению с ответом, сгенерированным GPT-3.5.
Вот полный код, сгенерированный этим алгоритмом:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Assuming your DataFrame is called df
# First, you need to melt the DataFrame to make
# it suitable for creating a clustered bar chart
melted_df = pd.melt(
df,
id_vars=["Outcome"],
var_name="Independent Variable",
value_name="Value",
)
# Create the clustered bar chart
plt.figure(figsize=(12, 6))
sns.barplot(
data=melted_df,
x="Independent Variable",
y="Value",
hue="Outcome",
ci=None,
)
# Customize the plot
plt.title("Independent Variables by Outcome")
plt.ylabel("Average Value")
plt.xlabel("Independent Variables")
plt.legend(title="Outcome", loc="upper right")
# Show the plot
plt.show()
Приведенный выше код должен генерировать следующий график:
Это потрясающе!
Несмотря на то, что мы не просили об этом, GPT-4 включает строку кода для увеличения размера графика. Все метки на этой диаграмме хорошо видны, поэтому нам не нужно возвращаться назад и исправлять код, как мы делали ранее.
Это на шаг выше ответа, генерируемого GPT-3.5.
В целом, однако, создается впечатление, что GPT-3.5 и GPT-4 эффективно генерируют код для выполнения таких задач, как визуализация и анализ данных.
Важно отметить, что, поскольку вы не можете загружать данные в интерфейс ChatGPT, вы должны предоставить модели точное описание вашего набора данных для получения оптимальных результатов.
Хотя это не распространенный вариант использования в науке о данных, мне однажды пришлось извлекать текстовые данные из сотен PDF-файлов, чтобы построить модель анализа тональности. Данные были неструктурированы, и я потратил много времени на их извлечение и предварительную обработку.
Я также часто работаю с исследователями, которые читают и создают контент о текущих событиях, происходящих в конкретных отраслях. Им нужно быть в курсе новостей, анализировать отчеты компаний и читать о потенциальных тенденциях в отрасли.
Вместо того, чтобы читать 100 страниц отчета компании, не проще ли просто извлечь интересующие вас слова и прочитать только те предложения, которые содержат эти ключевые слова?
Или, если вас интересуют тенденции, вы можете создать автоматизированный рабочий процесс, демонстрирующий рост ключевых слов с течением времени, вместо того, чтобы просматривать каждый отчет вручную.
В этом разделе мы будем использовать ChatGPT для анализа файлов PDF в Python. Мы попросим чат-бота извлечь содержимое файла PDF и записать его в текстовый файл.
Опять же, это будет сделано с использованием как GPT-3.5, так и GPT-4, чтобы увидеть, есть ли существенная разница в сгенерированном коде.
В этом разделе мы будем анализировать общедоступный PDF-документ под названием « Краткое введение в машинное обучение для инженеров ». Обязательно загрузите этот файл, если вы хотите кодировать в этом разделе.
Во-первых, давайте попросим алгоритм сгенерировать код Python для извлечения данных из этого PDF-документа и сохранения их в текстовый файл:
Вот полный код, предоставленный алгоритмом:
import PyPDF2
# Open the PDF file in read-binary mode
with open("Intro_to_ML.pdf", "rb") as pdf_file:
# Create a PDF reader object
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Get the total number of pages in the PDF file
num_pages = pdf_reader.getNumPages()
# Create a new text file
with open("output_file.txt", "w") as txt_file:
# Loop through each page in the PDF file
for page_num in range(num_pages):
# Get the text from the current page
page_text = pdf_reader.getPage(page_num).extractText()
# Write the text to the text file
txt_file.write(page_text)
(Примечание: обязательно измените имя файла PDF на то, которое вы сохранили перед запуском этого кода.)
К сожалению, после запуска кода, сгенерированного GPT-3.5, я столкнулся со следующей ошибкой юникода:
Вернемся к GPT-3.5 и посмотрим, сможет ли модель исправить это:
Я вставил ошибку в ChatGPT, и модель ответила, что ее можно исправить, изменив используемую кодировку на «utf-8». Это также дало мне модифицированный код, отражающий это изменение:
import PyPDF2
# Open the PDF file in read-binary mode
with open("Intro_to_ML.pdf", "rb") as pdf_file:
# Create a PDF reader object
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Get the total number of pages in the PDF file
num_pages = pdf_reader.getNumPages()
# Create a new text file with utf-8 encoding
with open("output_file.txt", "w", encoding="utf-8") as txt_file:
# Loop through each page in the PDF file
for page_num in range(num_pages):
# Get the text from the current page
page_text = pdf_reader.getPage(page_num).extractText()
# Write the text to the text file
txt_file.write(page_text)
Этот код успешно выполнился и создал текстовый файл с именем «output_file.txt». Все содержимое документа PDF было записано в файл:
Теперь я собираюсь вставить ту же подсказку в GPT-4, чтобы посмотреть, что предлагает модель:
Вот полный код, сгенерированный GPT-4:
import PyPDF2
def pdf_to_text(input_pdf, output_txt):
with open(input_pdf, "rb") as pdf_file:
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
num_pages = pdf_reader.numPages
text = ""
for page_num in range(num_pages):
page = pdf_reader.getPage(page_num)
text += page.extractText()
with open(output_txt, "w", encoding="utf-8") as text_file:
text_file.write(text)
input_pdf = "Intro_to_ML.pdf"
output_txt = "output_gpt4.txt"
pdf_to_text(input_pdf, output_txt)
Посмотри на это!
В отличие от GPT-3.5, в GPT-4 уже указано, что для открытия текстового файла следует использовать кодировку «utf-8». Нам не нужно возвращаться и исправлять код, как мы это делали раньше.
Код, предоставленный GPT-4, должен успешно выполниться, и вы должны увидеть содержимое документа PDF в созданном текстовом файле.
Есть много других методов, которые вы можете использовать для автоматизации PDF-документов с помощью Python. Если вы хотите изучить это подробнее, вот несколько других подсказок, которые вы можете ввести в ChatGPT:
Я предлагаю попробовать некоторые из них в свободное время — вы будете удивлены тем, как быстро GPT-4 может помочь вам выполнить черную работу, на выполнение которой обычно уходят часы.
Я провожу часы своей рабочей недели, читая электронные письма и отвечая на них. Это не только отнимает много времени, но и может быть невероятно напряженным, чтобы оставаться в курсе электронной почты, когда вы гонитесь за сжатыми сроками.
И хотя вы не можете заставить ChatGPT писать все ваши электронные письма за вас (я бы хотел), вы все равно можете использовать его для написания программ, которые отправляют электронные письма по расписанию в определенное время или модифицируют один шаблон электронной почты, который можно отправить нескольким людям. .
В этом разделе мы получим GPT-3.5 и GPT-4, которые помогут нам написать скрипт Python для автоматической отправки электронных писем.
Во-первых, давайте введем следующую подсказку, чтобы сгенерировать коды для автоматической отправки электронной почты:
Вот полный код, сгенерированный GPT-3.5 (не забудьте изменить адреса электронной почты и пароль перед запуском этого кода):
import smtplib
# Set up SMTP connection
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender_email = "your_email@gmail.com"
sender_password = "your_password"
receiver_email = "receiver_email@example.com"
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
# Start TLS encryption
smtp.starttls()
# Log in to your Gmail account
smtp.login(sender_email, sender_password)
# Compose your email message
subject = "Automated email"
body = "Hello,\n\nThis is an automated email sent from Python."
message = f"Subject: {subject}\n\n{body}"
# Send the email
smtp.sendmail(sender_email, receiver_email, message)
К сожалению, этот код не выполнился успешно для меня. Это вызвало следующую ошибку:
Давайте вставим эту ошибку в ChatGPT и посмотрим, поможет ли модель решить ее:
Итак, алгоритм указал на несколько причин, по которым мы можем столкнуться с этой ошибкой.
Я точно знаю, что мои учетные данные и адреса электронной почты были действительными и что в коде не было опечаток. Так что эти причины можно исключить.
GPT-3.5 также предполагает, что разрешение менее безопасных приложений может решить эту проблему.
Однако, если вы попробуете это сделать, вы не найдете в своей учетной записи Google возможность разрешить доступ к менее безопасным приложениям.
Это связано с тем, что Google больше не позволяет пользователям разрешать менее безопасные приложения из соображений безопасности.
Наконец, в GPT-3.5 также упоминается, что пароль приложения должен быть сгенерирован, если включена двухфакторная аутентификация.
У меня не включена двухфакторная аутентификация, поэтому я собираюсь (временно) отказаться от этой модели и посмотреть, есть ли решение GPT-4.
Итак, если вы введете ту же подсказку в GPT-4, вы обнаружите, что алгоритм генерирует код, очень похожий на тот, что дал нам GPT-3.5. Это вызовет ту же ошибку, с которой мы столкнулись ранее.
Давайте посмотрим, поможет ли GPT-4 исправить эту ошибку:
Предложения GPT-4 очень похожи на то, что мы видели ранее.
Однако на этот раз он дает нам пошаговую разбивку того, как выполнить каждый шаг.
GPT-4 также предлагает создать пароль приложения, так что давайте попробуем.
Сначала зайдите в свою учетную запись Google, перейдите в «Безопасность» и включите двухфакторную аутентификацию. Затем в том же разделе вы должны увидеть опцию «Пароли приложений».
Нажмите на нее, и появится следующий экран:
Вы можете ввести любое имя, которое вам нравится, и нажать «Создать».
Появится новый пароль приложения.
Замените существующий пароль в коде Python на этот пароль приложения и снова запустите код:
import smtplib
# Set up SMTP connection
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender_email = "your_email@gmail.com"
sender_password = "YOUR_APP_PASSWORD"
receiver_email = "receiver_email@example.com"
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
# Start TLS encryption
smtp.starttls()
# Log in to your Gmail account
smtp.login(sender_email, sender_password)
# Compose your email message
subject = "Automated email"
body = "Hello,\n\nThis is an automated email sent from Python."
message = f"Subject: {subject}\n\n{body}"
# Send the email
smtp.sendmail(sender_email, receiver_email, message)
На этот раз он должен пройти успешно, и ваш получатель получит электронное письмо, которое выглядит следующим образом:
Идеальный!
Благодаря ChatGPT мы успешно отправили автоматическое электронное письмо с помощью Python.
Если вы хотите пойти дальше, я предлагаю создать подсказки, которые позволят вам:
Оригинальный источник статьи: https://www.kdnuggets.com/
1680182820
让 AI 在几秒钟内编写 Python 代码,从而加快您的日常工作流程。
2023 年 3 月 14 日,OpenAI 发布了 GPT-4,这是其语言模型的最新、最强大的版本。
在发布后的短短几个小时内,GPT-4 通过将手绘草图变成功能性网站、通过司法考试并生成维基百科文章的准确摘要而震惊了人们。
在基于逻辑和推理解决数学问题和回答问题方面,它也优于其前身 GPT-3.5。
ChatGPT 是建立在 GPT-3.5 之上并向公众发布的聊天机器人,它因“产生幻觉”而臭名昭著。它会生成看似正确的响应,并会用“事实”来捍卫它的答案,尽管它们充满了错误。
在模型坚持认为象蛋是所有陆生动物中最大的之后,一位用户上了 Twitter:
图片来自FioraAeterna
它并没有就此停止。该算法继续用编造的事实来证实它的反应,这几乎让我相信了一会儿。
另一方面,GPT-4 接受的训练较少出现“幻觉”。OpenAI 的最新模型更难被欺骗,并且不会自信地频繁地产生虚假信息。
为什么使用 GPT-4 自动化工作流程?
作为一名数据科学家,我的工作要求我找到相关的数据源、预处理大型数据集并构建可推动业务价值的高度准确的机器学习模型。
我一天中的大部分时间都在从不同的文件格式中提取数据并将其整合到一个地方。
ChatGPT 于 2022 年 11 月首次推出后,我向聊天机器人寻求日常工作流程的一些指导。我使用该工具节省了花在琐碎工作上的时间 - 这样我就可以专注于提出新想法并创建更好的模型。
GPT-4 发布后,我很好奇它是否会对我所做的工作产生影响。使用 GPT-4 与其前身相比有什么显着的好处吗?与使用 GPT-3.5 相比,它会帮助我节省更多时间吗?
在本文中,我将向您展示我如何使用 ChatGPT 来自动化数据科学工作流程。
我将创建相同的提示并将它们提供给 GPT-4 和 GPT-3.5,看看前者是否确实表现更好并节省更多时间。
如何访问 ChatGPT?
如果您想按照我在本文中所做的一切进行操作,则需要能够访问 GPT-4 和 GPT-3.5。
GPT-3.5 在 OpenAI 的网站上公开可用。只需导航到https://chat.openai.com/auth/login,填写所需的详细信息,您就可以访问语言模型:
图片来自ChatGPT
另一方面,GPT-4 目前隐藏在付费专区后面。要访问该模型,您需要通过单击“升级到 Plus”来升级到 ChatGPTPlus。
每月订阅费为 20 美元,可以随时取消:
图片来自ChatGPT
如果你不想支付每月的订阅费,你也可以加入GPT-4 的API 候补名单。获得 API 的访问权限后,您可以按照本指南在 Python 中使用它。
如果您目前无法访问 GPT-4 也没关系。
您仍然可以使用在后端使用 GPT-3.5 的免费版 ChatGPT 来学习本教程。
使用 GPT-4 和 Python 自动化数据科学工作流程的 3 种方法
在执行探索性数据分析时,用 Python 生成快速可视化通常可以帮助我更好地理解数据集。
不幸的是,这项任务可能会变得非常耗时——尤其是当您不知道使用正确的语法来获得所需结果时。
我经常发现自己在搜索 Seaborn 的大量文档并使用 StackOverflow 生成单个 Python 图。
让我们看看 ChatGPT 是否可以帮助解决这个问题。
我们将在本节中使用Pima Indians Diabetes数据集。如果您想了解 ChatGPT 生成的结果,可以下载数据集。
下载数据集后,让我们使用 Pandas 库将其加载到 Python 中并打印数据帧的头部:
import pandas as pd
df = pd.read_csv('diabetes.csv')
df.head()
该数据集中有九个变量。其中之一,“结果”,是告诉我们一个人是否会患上糖尿病的目标变量。其余的是用于预测结果的自变量。
好的!所以我想看看这些变量中的哪些变量会影响一个人是否会患上糖尿病。
为实现这一点,我们可以创建一个聚类条形图来可视化数据集中所有因变量的变量“糖尿病”。
这实际上很容易编写出来,但让我们从简单的开始。随着文章的进展,我们将转向更复杂的提示。
由于我付费订阅了 ChatGPT,该工具允许我在每次访问它时选择我想使用的基础模型。
我要选择 GPT-3.5:
图片来自 ChatGPT Plus
如果您没有订阅,您可以使用 ChatGPT 的免费版本,因为聊天机器人默认使用 GPT-3.5。
现在,让我们输入以下提示以使用糖尿病数据集生成可视化:
我有一个包含 8 个自变量和 1 个因变量的数据集。因变量“结果”告诉我们一个人是否会患上糖尿病。
自变量“Pregnancies”、“Glucose”、“BloodPressure”、“SkinThickness”、“Insulin”、“BMI”、“DiabetesPedigreeFunction”和“Age”用于预测此结果。
您能否生成 Python 代码以按结果可视化所有这些自变量?输出应该是一个由“结果”变量着色的聚类条形图。总共应该有 16 个条,每个自变量 2 个。
以下是模型对上述提示的响应:
立即突出的一件事是该模型假定我们想要从 Seaborn 导入数据集。它可能做出了这个假设,因为我们要求它使用 Seaborn 库。
这不是一个大问题,我们只需要在运行代码之前更改一行。
下面是 GPT-3.5 生成的完整代码片段:
import seaborn as sns
import matplotlib.pyplot as plt
# Load the dataset
dataset = pd.read_csv("diabetes.csv")
# Create the bar chart
sns.barplot(
x="variable",
y="value",
hue="Outcome",
data=pd.melt(dataset, id_vars=["Outcome"]),
ci=None,
)
# Set the title and labels
plt.title("Dependent Variables by Outcome")
plt.xlabel("Independent Variables")
plt.ylabel("Value")
# Show the chart
plt.show()
您可以将其复制并粘贴到您的 Python IDE 中。
以下是运行上述代码后生成的结果:
这张图表看起来很完美!这正是我在 ChatGPT 中输入提示时的设想。
然而,一个突出的问题是该图表上的文本重叠。我将通过键入以下提示询问模型是否可以帮助我们解决此问题:
该算法解释说,我们可以通过旋转图表标签或调整图形大小来防止这种重叠。它还生成了新代码来帮助我们实现这一目标。
让我们运行这段代码,看看它是否给了我们想要的结果:
import seaborn as sns
import matplotlib.pyplot as plt
# Load the dataset
dataset = pd.read_csv("diabetes.csv")
# Create the bar chart
sns.barplot(
x="variable",
y="value",
hue="Outcome",
data=pd.melt(dataset, id_vars=["Outcome"]),
ci=None,
)
# Set the title and labels
plt.title("Dependent Variables by Outcome")
plt.xlabel("Independent Variables")
plt.ylabel("Value")
# Rotate the x-axis labels by 45 degrees and set horizontal alignment to right
plt.xticks(rotation=45, ha="right")
# Show the chart
plt.show()
上面的代码行应该生成以下输出:
这看起来很棒!
通过简单地查看此图表,我现在可以更好地理解数据集。似乎葡萄糖和胰岛素水平较高的人更容易患上糖尿病。
另请注意,“DiabetesPedigreeFunction”变量并未在此图表中提供任何信息。这是因为该特征的比例较小(介于 0 和 2.4 之间)。如果您想进一步试验 ChatGPT,您可以提示它在单个图表中生成多个子图来解决这个问题。
现在,让我们将相同的提示输入 GPT-4,看看是否会得到不同的响应。我将在 ChatGPT 中选择 GPT-4 模型并输入与之前相同的提示:
请注意 GPT-4 如何不假设我们将使用 Seaborn 内置的数据框。
它告诉我们它将使用名为“df”的数据框来构建可视化,这是对 GPT-3.5 生成的响应的改进。
下面是这个算法生成的完整代码:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Assuming your DataFrame is called df
# First, you need to melt the DataFrame to make
# it suitable for creating a clustered bar chart
melted_df = pd.melt(
df,
id_vars=["Outcome"],
var_name="Independent Variable",
value_name="Value",
)
# Create the clustered bar chart
plt.figure(figsize=(12, 6))
sns.barplot(
data=melted_df,
x="Independent Variable",
y="Value",
hue="Outcome",
ci=None,
)
# Customize the plot
plt.title("Independent Variables by Outcome")
plt.ylabel("Average Value")
plt.xlabel("Independent Variables")
plt.legend(title="Outcome", loc="upper right")
# Show the plot
plt.show()
上面的代码应该生成以下图:
太棒了!
即使我们没有要求,GPT-4 也包含了一行代码来增加绘图大小。这张图表上的标签都清晰可见,所以我们不必像之前那样回头修改代码。
这是 GPT-3.5 生成的响应之上的一步。
然而,总的来说,GPT-3.5 和 GPT-4 似乎都能有效地生成代码来执行数据可视化和分析等任务。
请务必注意,由于您无法将数据上传到 ChatGPT 的界面,因此您应该为模型提供数据集的准确描述以获得最佳结果。
虽然这不是常见的数据科学用例,但我不得不从数百个 PDF 文件中提取文本数据来构建情绪分析模型一次。数据是非结构化的,我花了很多时间来提取和预处理它。
我还经常与研究人员合作,他们阅读和创建有关特定行业发生的时事的内容。他们需要紧跟新闻,分析公司报告,并了解行业的潜在趋势。
与其阅读 100 页的公司报告,简单地提取您感兴趣的词并只阅读包含这些关键词的句子不是更容易吗?
或者,如果您对趋势感兴趣,您可以创建一个自动化的工作流程来展示关键字随时间的增长,而不是手动查看每个报告。
在本节中,我们将使用 ChatGPT 在 Python 中分析 PDF 文件。我们将要求聊天机器人提取 PDF 文件的内容并将其写入文本文件。
同样,这将使用 GPT-3.5 和 GPT-4 来完成,以查看生成的代码是否存在显着差异。
在本节中,我们将分析一份公开可用的 PDF 文档,标题为工程师机器学习简介。如果您想按照此部分进行编码,请务必下载此文件。
首先,让算法生成 Python 代码以从此 PDF 文档中提取数据并将其保存到文本文件中:
下面是算法提供的完整代码:
import PyPDF2
# Open the PDF file in read-binary mode
with open("Intro_to_ML.pdf", "rb") as pdf_file:
# Create a PDF reader object
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Get the total number of pages in the PDF file
num_pages = pdf_reader.getNumPages()
# Create a new text file
with open("output_file.txt", "w") as txt_file:
# Loop through each page in the PDF file
for page_num in range(num_pages):
# Get the text from the current page
page_text = pdf_reader.getPage(page_num).extractText()
# Write the text to the text file
txt_file.write(page_text)
(注意:确保将 PDF 文件名更改为您在运行此代码之前保存的文件名。)
不幸的是,在运行 GPT-3.5 生成的代码后,我遇到了以下 unicode 错误:
让我们回到 GPT-3.5,看看模型是否可以解决这个问题:
我将错误粘贴到 ChatGPT 中,模型回应说可以通过将使用的编码更改为“utf-8”来修复它。它还为我提供了一些反映此更改的修改代码:
import PyPDF2
# Open the PDF file in read-binary mode
with open("Intro_to_ML.pdf", "rb") as pdf_file:
# Create a PDF reader object
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# Get the total number of pages in the PDF file
num_pages = pdf_reader.getNumPages()
# Create a new text file with utf-8 encoding
with open("output_file.txt", "w", encoding="utf-8") as txt_file:
# Loop through each page in the PDF file
for page_num in range(num_pages):
# Get the text from the current page
page_text = pdf_reader.getPage(page_num).extractText()
# Write the text to the text file
txt_file.write(page_text)
此代码成功执行并创建了一个名为“output_file.txt”的文本文件。PDF文档中的所有内容已经写入文件:
现在,我将把相同的提示粘贴到 GPT-4 中,看看模型会产生什么:
以下是 GPT-4 生成的完整代码:
import PyPDF2
def pdf_to_text(input_pdf, output_txt):
with open(input_pdf, "rb") as pdf_file:
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
num_pages = pdf_reader.numPages
text = ""
for page_num in range(num_pages):
page = pdf_reader.getPage(page_num)
text += page.extractText()
with open(output_txt, "w", encoding="utf-8") as text_file:
text_file.write(text)
input_pdf = "Intro_to_ML.pdf"
output_txt = "output_gpt4.txt"
pdf_to_text(input_pdf, output_txt)
看那个!
与 GPT-3.5 不同,GPT-4 已经规定打开文本文件应使用“utf-8”编码。我们不需要像以前那样返回并修改代码。
GPT-4 提供的代码应该可以成功执行,您应该可以在创建的文本文件中看到 PDF 文档的内容。
您可以使用许多其他技术通过 Python 自动化 PDF 文档。如果您想进一步探索这一点,您可以在 ChatGPT 中输入以下一些其他提示:
我建议您在空闲时间尝试其中的一些 - 您会惊讶于 GPT-4 可以多快地帮助您完成通常需要数小时才能完成的琐碎任务。
我每周都会花几个小时阅读和回复电子邮件。这不仅耗时,而且在紧迫的截止日期前处理电子邮件也会让人倍感压力。
虽然你不能让 ChatGPT 为你写所有的电子邮件(我希望),但你仍然可以用它来编写在特定时间发送预定电子邮件的程序,或者修改可以发送给多人的单个电子邮件模板.
在本节中,我们将获得 GPT-3.5 和 GPT-4 来帮助我们编写一个 Python 脚本来发送自动电子邮件。
首先,让我们输入以下提示以生成代码以发送自动电子邮件:
这是 GPT-3.5 生成的完整代码(确保在运行此代码之前更改电子邮件地址和密码):
import smtplib
# Set up SMTP connection
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender_email = "your_email@gmail.com"
sender_password = "your_password"
receiver_email = "receiver_email@example.com"
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
# Start TLS encryption
smtp.starttls()
# Log in to your Gmail account
smtp.login(sender_email, sender_password)
# Compose your email message
subject = "Automated email"
body = "Hello,\n\nThis is an automated email sent from Python."
message = f"Subject: {subject}\n\n{body}"
# Send the email
smtp.sendmail(sender_email, receiver_email, message)
不幸的是,这段代码没有为我成功执行。它产生了以下错误:
让我们将这个错误粘贴到 ChatGPT 中,看看模型是否可以帮助我们解决它:
好的,算法指出了我们可能会遇到此错误的几个原因。
我知道我的登录凭据和电子邮件地址是有效的,并且代码中没有拼写错误。所以可以排除这些原因。
GPT-3.5 还建议允许安全性较低的应用程序可能会解决此问题。
但是,如果您尝试这样做,您将不会在您的 Google 帐户中找到允许访问安全性较低的应用程序的选项。
这是因为出于安全考虑,谷歌不再允许用户允许安全性较低的应用程序。
最后,GPT-3.5 还提到如果启用了双因素身份验证,则应生成应用程序密码。
我没有启用双因素身份验证,所以我打算(暂时)放弃这个模型,看看 GPT-4 是否有解决方案。
好的,所以如果你在 GPT-4 中输入相同的提示,你会发现该算法生成的代码与 GPT-3.5 给我们的非常相似。这将导致我们之前遇到的相同错误。
让我们看看 GPT-4 是否可以帮助我们修复这个错误:
GPT-4 的建议与我们之前看到的非常相似。
然而,这一次,它为我们提供了如何完成每个步骤的分步分解。
GPT-4 还建议创建一个应用程序密码,所以让我们试一试。
首先,访问您的 Google 帐户,导航至“安全”,然后启用双因素身份验证。然后,在同一部分中,您应该会看到一个显示“App Passwords”的选项。
单击它,将出现以下屏幕:
您可以输入您喜欢的任何名称,然后单击“生成”。
将出现一个新的应用程序密码。
用此应用程序密码替换 Python 代码中的现有密码,然后再次运行代码:
import smtplib
# Set up SMTP connection
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender_email = "your_email@gmail.com"
sender_password = "YOUR_APP_PASSWORD"
receiver_email = "receiver_email@example.com"
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
# Start TLS encryption
smtp.starttls()
# Log in to your Gmail account
smtp.login(sender_email, sender_password)
# Compose your email message
subject = "Automated email"
body = "Hello,\n\nThis is an automated email sent from Python."
message = f"Subject: {subject}\n\n{body}"
# Send the email
smtp.sendmail(sender_email, receiver_email, message)
这次它应该会成功运行,您的收件人将收到一封如下所示的电子邮件:
完美的!
感谢 ChatGPT,我们已经成功地使用 Python 发送了一封自动电子邮件。
如果您想更进一步,我建议生成允许您执行以下操作的提示:
文章原文出处:https: //www.kdnuggets.com/
1680181920
In this article, we will learn 6 ways SEO Pro is using ChatGPT to enhance your SEO strategy. Search Engine Optimization (SEO) is a critical aspect of digital marketing, and the use of Artificial Intelligence (AI) technologies like ChatGPT can help search marketers improve their SEO efforts. ChatGPT, a large language model developed by OpenAI, can be leveraged by search marketers in various ways to enhance their SEO strategies.
6 Ways Search Marketers Can Leverage ChatGPT- AI for SEO Today
Search Engine Optimization (SEO) is a critical aspect of digital marketing, and the use of Artificial Intelligence (AI) technologies like ChatGPT can help search marketers improve their SEO efforts. ChatGPT, a large language model developed by OpenAI, can be leveraged by search marketers in various ways to enhance their SEO strategies.
Content creation: ChatGPT can be used to generate high-quality, unique, and relevant content for a website or blog. By providing ChatGPT with a topic or keyword, it can generate an article or blog post that is optimized for SEO. This can save search marketers significant time and effort in creating and optimizing content.
ChatGPT can be a valuable tool for search marketers in the process of content creation for their website or blog. It can help generate high-quality, unique, and relevant content optimized for SEO. Here are a few ways that ChatGPT can assist in content creation:
Enroll in digital marketing courses to gain the knowledge and skills needed to develop and implement effective marketing strategies in the digital age.
Keyword research: ChatGPT can assist search marketers in identifying relevant keywords and phrases for their SEO campaigns. By providing ChatGPT with a topic or industry, it can generate a list of keywords and phrases that are relevant to the topic and have a high search volume. This can help search marketers identify the best keywords to target in their SEO efforts and improve the chances of their content ranking well in search engine results pages (SERPs).
ChatGPT can assist search marketers in identifying relevant keywords and phrases for their SEO campaigns. Keyword research is an important aspect of SEO as it helps to identify the terms and phrases that potential customers are searching for and optimize content accordingly.
Here are a few ways that ChatGPT can assist in keyword research:
Backlink generation: ChatGPT can also be used to generate high-quality backlinks for a website. By providing Chat GPT with a topic or keyword, it can generate a list of websites and blogs that are relevant to the topic and are willing to accept guest posts or backlinks. This can help search marketers acquire high-quality website backlinks, improving their visibility and ranking in SERPs.
Here are a few ways that ChatGPT can assist in backlink generation:
Optimizing Meta tags: ChatGPT can be used to generate optimized meta tags for a website. By providing ChatGPT with a topic or keyword, it can generate optimized meta tags such as title tags, meta descriptions, and header tags that are relevant to the topic and optimized for SEO.
This can help search marketers improve the visibility and ranking of their websites in SERPs.
ChatGPT can be used to generate optimized meta tags for a website. Meta tags are HTML tags that provide information about a web page to search engines and users.
Here are a few ways that ChatGPT can assist in optimizing meta tags:
Site Auditing: ChatGPT can also be used to conduct site audits on a website. By providing ChatGPT with a website URL, it can generate a report that includes information on the website’s technical SEO issues, broken links, missing meta tags, and other issues that may be impacting its ranking in SERPs. This can help search marketers identify and fix any issues that may negatively impact their website’s ranking.
Here are a few ways that ChatGPT can assist in site auditing:
Master the latest digital marketing tools and techniques to stay ahead of the competition and effectively reach and engage your target audience online
Optimize the site for voice search: ChatGPT can be used to optimize the website for voice search, as more and more people are using voice search to find information on the internet. Providing ChatGPT with a topic or keyword can generate a list of keywords and phrases that are relevant to the topic and optimized for voice search. This can help search marketers to improve the visibility and ranking of their website in SERPs for voice search queries.
Here are a few ways that ChatGPT can assist in optimizing a website for voice search:
In conclusion, ChatGPT can be a valuable tool for search marketers looking to improve their SEO efforts. By leveraging its ability to generate high-quality, unique, and relevant content, identify relevant keywords, generate backlinks, optimize meta tags, conduct site
Original article source at: https://www.mygreatlearning.com
1680179460
Trong hướng dẫn ChatGPT này, chúng ta sẽ tìm hiểu về Ứng dụng của ChatGPT trong các ngành. ChatGPT của OpenAI là một mô hình ngôn ngữ lớn với khả năng tạo ra chữ viết giống như chữ viết của con người. Nó được đào tạo trên một bộ dữ liệu khổng lồ về văn bản internet và có khả năng thực hiện nhiều tác vụ xử lý ngôn ngữ tự nhiên, chẳng hạn như dịch ngôn ngữ, tóm tắt văn bản, tạo văn bản và hệ thống đối thoại.
Bài đăng trên blog này nhằm mục đích khám phá sâu các khả năng của ChatGPT. Chúng tôi sẽ kiểm tra cách thức hoạt động của mô hình, dữ liệu đào tạo được xây dựng trên đó và những hạn chế của nó. Chúng tôi cũng sẽ xem xét các ứng dụng khác nhau của ChatGPT, bao gồm các ví dụ về mô hình đang hoạt động.
Bài đăng trên blog này sẽ cung cấp thông tin tổng quan toàn diện về ChatGPT và các khả năng của ChatGPT cũng như xem xét kỹ hơn cách ChatGPT có thể giải quyết các vấn đề trong thế giới thực.
ChatGPT là một loại mô hình ngôn ngữ được gọi là mô hình máy biến áp. Nó hoạt động bằng cách lấy một đoạn văn bản, chẳng hạn như một câu hoặc một lời nhắc và tạo phản hồi. Mô hình được đào tạo để dự đoán từ tiếp theo trong một câu, dựa trên ngữ cảnh của các từ đứng trước nó.
ChatGPT được tinh chỉnh từ GPT-3.5, một mô hình ngôn ngữ được đào tạo để tạo văn bản. ChatGPT đã được tối ưu hóa cho cuộc đối thoại bằng cách sử dụng Học tăng cường với phản hồi của con người (RLHF) – một phương pháp sử dụng các minh họa của con người để hướng dẫn mô hình hướng tới hành vi mong muốn. (Nguồn: OpenAI.com )
Dữ liệu đào tạo được sử dụng để tạo ChatGPT là một bộ dữ liệu lớn về văn bản trên internet, được gọi là bộ dữ liệu WebText. Tập dữ liệu này bao gồm nhiều loại và kiểu văn bản, chẳng hạn như bài báo, diễn đàn và bài đăng trên mạng xã hội. Bằng cách đào tạo trên tập dữ liệu đa dạng như vậy, ChatGPT có thể tạo văn bản tương tự như cách viết của con người.
Trong phần này, chúng ta sẽ khám phá cách ứng dụng ChatGPT để giúp các doanh nghiệp tận dụng sức mạnh của Trí tuệ nhân tạo và Xử lý ngôn ngữ tự nhiên .
ChatGPT có thể tự động hóa các hoạt động lặp đi lặp lại như cung cấp thông tin sản phẩm và câu trả lời cho Câu hỏi thường gặp. Các doanh nghiệp có thể dành ít thời gian và tiền bạc hơn bằng cách giao một số hoạt động nhất định cho AI thay vì cho con người. Ngoài ra, ChatGPT vượt trội so với các hệ thống AI hiện có khác về khả năng hiểu các vấn đề khó khăn, khiến nó trở thành lựa chọn tốt nhất để giải quyết các mối quan tâm phức tạp hơn của người tiêu dùng.
Để tìm hiểu thêm về suy nghĩ của khách hàng về sản phẩm hoặc dịch vụ, hãy sử dụng ChatGPT. Các doanh nghiệp có thể sử dụng dữ liệu này để nâng cao ưu đãi của họ và đảm bảo rằng họ đang đáp ứng nhu cầu của khách hàng. ChatGPT cũng là một lựa chọn phù hợp cho vị trí này nhờ các tính năng xử lý ngôn ngữ tự nhiên (NLP), cho phép ChatGPT xác định suy nghĩ của khách hàng về một sản phẩm.
Bằng cách tương tác với khách hàng tiềm năng và tìm hiểu nhu cầu của họ, ChatGPT có thể tạo khách hàng tiềm năng. Bạn có thể sử dụng dữ liệu này để tùy chỉnh các chiến dịch tiếp thị dựa trên mối quan tâm và sở thích của từng khách hàng.
Các đề xuất được cá nhân hóa có thể được thực hiện bằng ChatGPT tùy thuộc vào sở thích của người tiêu dùng. Nếu khách hàng được cung cấp các tùy chọn chính xác, doanh nghiệp có thể chốt được nhiều giao dịch hơn. ChatGPT vượt trội trong các hoạt động như vậy vì nó hiểu các yêu cầu phức tạp tốt hơn nhiều so với các hệ thống AI khác hiện đang được sử dụng.
Các khả năng của ChatGPT trong việc hiểu và tạo ngôn ngữ tự nhiên khiến nó rất phù hợp với chatbot và các ứng dụng AI đàm thoại . Bằng cách tinh chỉnh mô hình trên tập dữ liệu văn bản hội thoại, nó có thể học cách hiểu và phản hồi đầu vào của người dùng theo cách giống như con người.
Giữa cuộc cách mạng kỹ thuật số, dữ liệu phi cấu trúc là một sự bất tiện. Họ gặp khó khăn trong việc quản lý, sắp xếp và sắp xếp, đó là vấn đề. Vì nó có thể chuyển đổi dữ liệu phi cấu trúc thành dữ liệu có cấu trúc nên ChatGPT rất hữu ích.
Một trong những ứng dụng hứa hẹn nhất của ChatGPT là dịch ngôn ngữ. Mô hình này có thể hiểu và tạo văn bản bằng nhiều ngôn ngữ, làm cho nó trở thành một công cụ mạnh mẽ để dịch máy. Bằng cách tinh chỉnh mô hình trên tập dữ liệu lớn về văn bản song ngữ, nó có thể học cách dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác với độ chính xác cao. Điều này có thể được áp dụng cho nhiều tác vụ, bao gồm dịch tài liệu, dịch chatbot và dịch trang web.
ChatGPT có thể được sử dụng để tóm tắt văn bản, chắt lọc thông tin quan trọng nhất từ một văn bản lớn. Điều này có thể hữu ích cho nhiều ứng dụng, chẳng hạn như tóm tắt tin tức, tóm tắt đánh giá sản phẩm và tóm tắt tài liệu nghiên cứu. Ngoài ra, nó có thể được sử dụng để phân tích văn bản, chẳng hạn như phân tích tình cảm, lập mô hình chủ đề và nhận dạng thực thể được đặt tên.
ChatGPT có thể hỗ trợ xác định và khắc phục lỗi trong mã bằng cách cung cấp giải thích, đề xuất và ví dụ.
Từ văn bản, ChatGPT có thể tạo truy vấn SQL . Thêm công cụ để đơn giản hóa cuộc sống của bạn. Mỗi bộ công cụ của nhà khoa học dữ liệu nên bao gồm SQL. Tất nhiên, việc thành thạo là cần thiết, nhưng nắm vững SQL có thể giúp bạn trong mọi khía cạnh của cuộc sống chuyên nghiệp.
Ngoài ra, ChatGPT có thể được sử dụng để nhắm mục tiêu các cá nhân cụ thể bằng tài liệu. Bằng cách đào tạo mô hình trên tập dữ liệu người dùng, doanh nghiệp có thể sử dụng nó để tạo nội dung phù hợp như email, bài đăng trên mạng xã hội và đề xuất sản phẩm.
Sau đây là tổng quan chính xác của Mckinsey về các ứng dụng hiện tại của các công cụ AI như ChatGPT trong các lĩnh vực khác nhau;
Đây chỉ là một vài trong số rất nhiều ứng dụng của ChatGPT. Khi công nghệ tiến bộ và cải thiện, chúng tôi hy vọng sẽ thấy nhiều cách sử dụng công nghệ hơn để cải thiện hoạt động kinh doanh và tăng tốc hoạt động. ChatGPT chắc chắn đáng để thử nếu bạn đang tìm kiếm một giải pháp hiệu quả để giúp sản xuất nội dung, cải thiện dịch vụ khách hàng hoặc phân tích dữ liệu.
Nguồn bài viết gốc tại: https://www.mygreatlearning.com