Các doanh nghiệp hình dung các trường hợp sử dụng khác nhau cho GPT , một số trường hợp dựa vào giao tiếp cởi mở giữa GPT và người dùng.
Lấy những công cụ này làm ví dụ:
ChatSpot. Truy vấn Ngôn ngữ tự nhiên chuyển đến API ChatSpot và được chuyển thành các hoạt động cho API HubSpot CRM, API Google Docs, v.v., sau đó trả lời bằng mô hình văn bản tổng quát khi hành động đã được thực hiện (hoặc không). Dựa trên GPT-4 .
Khanmigo. Hướng dẫn hỗ trợ AI của Khan Academy. Yêu cầu của người dùng được chuyển thành lời nhắc với ngữ cảnh được đưa vào. Hệ thống dựa vào khả năng của GPT để xử lý ngữ cảnh được đưa vào nhiều hơn tới tám lần. Dựa trên GPT-4.
Bạn sẽ phát hiện ra rất nhiều thông tin sai lệch trong số các sự kiện:
Kiến trúc biến áp của các mô hình ngôn ngữ lớn dựa trên các cơ chế chú ý và tự chú ý để nắm bắt các phụ thuộc tầm xa trong dữ liệu đầu vào. Mặc dù điều này cho phép mô hình tạo ra văn bản nhất quán và phù hợp với ngữ cảnh, nhưng nó không đảm bảo độ chính xác thực tế . Ngoài ra, dữ liệu đào tạo có thể chứa các thành kiến hoặc thông tin sai lệch mà mô hình có thể vô tình học được và do đó, góp phần gây ra ảo giác AI.
Một lý do cho sự thiếu tin cậy này có thể được tìm thấy trong bản chất xác suất của GPT. Đối với ngữ cảnh, hãy kiểm tra các cấu trúc dữ liệu xác suất, như bộ lọc Bloom, trong giây lát. Bộ lọc Bloom là một cấu trúc dữ liệu xác suất được sử dụng để kiểm tra xem một phần tử có phải là thành viên của một tập hợp bao gồm một mảng bit và nhiều hàm băm hay không, mỗi hàm ánh xạ một phần tử tới một hoặc nhiều chỉ số mảng.
Các biện pháp giảm thiểu này đã cải thiện đáng kể các thuộc tính an toàn của GPT-4 so với GPT-3.5 , với xu hướng phản hồi các yêu cầu về nội dung không được phép của mô hình giảm 82% và mô hình phản hồi các yêu cầu nhạy cảm theo chính sách tăng 29%. [ ]
Kỹ thuật nhanh chóng
Lời nhắc cải thiện có thể nâng cao hiệu suất nhiệm vụ, dẫn đến kết quả khả quan trong khoảng 50% đến 65% thời gian, nhưng hiệu suất có thể không thường xuyên vượt quá phạm vi này.
Nghiên cứu đã chứng minh rằng việc thêm một cụm từ đơn giản như “ Hãy suy nghĩ từng bước một ” trước mỗi câu trả lời có thể biến GPT thành một nhà suy luận giỏi về điểm chuẩn, vượt trội so với hiệu suất LLM không có điểm chuẩn đối với các nhiệm vụ suy luận điểm chuẩn khác nhau mà không cần dùng tay tạo ra các ví dụ vài shot.
Cả GitHub Copilot và đều phụ thuộc rất nhiều vào điều này trong quá trình triển khai của họ. Bằng cách nhập ngữ cảnh của mã đang được viết, cùng với bất kỳ nhận xét hoặc tài liệu nào, những trợ lý viết mã này có thể nắm bắt được các chức năng dự định và các ràng buộc của mã.
# Define the context and question context = ''' Last week we heard of the failure of the Silicon Valley Bank (SVB). And it is the 2nd largest bank to shut down in the US since 2000. While that is sad, miserable, and pathetic, I want to show you something under the hood — the real reason the bank failed. ''' question = "What is the reason for the failure of Silicon Valley Bank and when did it happen?" # Define prompts with and without context prompt_without_context = question prompt_with_context = f'''Context: """{context}""" Instructions: Using the provided context, write a comprehensive reply to the given query. Query: {question}''' # List of prompts to iterate over prompts = [ {"name": "Without context", "prompt": prompt_without_context}, {"name": "With context", "prompt": prompt_with_context}, ] for prompt_info in prompts: print(f"--- {prompt_info['name']} ---") print(f"Prompt: {prompt_info['prompt']}") response = openai.ChatCompletion.create( model="gpt-4", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": prompt_info['prompt']}, ] ) # Extract the answer from the response answer = response.choices[0].message.content.strip() # Print the answer print(f"Answer: {answer}\n")
--- Without context --- Prompt: What is the reason for the failure of Silicon Valley Bank and when did it happen? Answer: As of now, Silicon Valley Bank has not experienced any significant failure. Silicon Valley Bank, founded in 1983, is a successful and high-performing financial institution that specializes in offering banking services to technology and life science companies and venture capital firms. The bank has grown consistently and continues to operate effectively, serving its clients and staying relevant in the industry.
--- With context --- Prompt: Context: """ Last week we heard of the failure of the Silicon Valley Bank (SVB). And it is the 2nd largest bank to shut down in the US since 2000. While that is sad, miserable, and pathetic, I want to show you something under the hood — the real reason the bank failed. """ Instructions: Using the provided context, write a comprehensive reply to the given query. Query: What is the reason for the failure of Silicon Valley Bank and when did it happen? Answer: Silicon Valley Bank (SVB) failed last week, making it the 2nd largest bank to shut down in the US since 2000. The precise reasons behind the bank's failure have not been provided in the given context, but it is implied that there is a significant underlying cause for its collapse. To fully understand the situation, it would be helpful to obtain more information about the bank's performance, financial stability, and any recent events that may have contributed to the failure.
Dưới đây là một số kết quả mẫu:
Xét sơ đồ sau:
Quá trình này bao gồm các thành phần sau:
Ví dụ: tôi thường sử dụng Next.js để xây dựng các ứng dụng web và đã phát hành Next.js phiên bản 13 vào năm 2022. Để xác minh điều này, hãy hỏi ChatGPT về ngày phát hành của Next.js 13 và xem nó có thể lấy thông tin gì trên chủ thể:
Đây là một mẫu mã:
def generate_qa(filepath): article = read_file(filepath)[:MAX_CONTENT_LENGTH] content = f'''Content for {filepath}: {article} Instructions: Generate question and answer based on Content for {filepath}. Structure it as: Q: <question> A: <answer> ''' questions_answers = [] response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are a helpful software developer who specialize in next.js and react."}, {"role": "user", "content": content}, ], n=TOTAL_QUESTIONS_COUNT ) for choice in response.choices: qa = extract_qa_from_content(choice.message.content.strip()) questions_answers.extend(qa) return questions_answers
Đầu ra nên được lưu trong
Mẫu mã:
NON_NEXTJS_Q_A_PROMPT = """Create a series of random questions and answers that are not related to the Next.js framework. Each question should be followed by a clear answer stating that it is not relevant to Next.js. For example: <question>What is the capital of Ukraine?</question> <answer>This question is not related to Next.js.</answer> <question>What is Spring Framework?</question> <answer>It is not related to Next.js.</answer> Feel free to generate any type of questions you like, as long as the answer indicates that it is not related to the Next.js framework.""" def generate_random_qa(prompt): questions_answers = [] response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are a helpful software developer who specialize in next.js and react."}, {"role": "user", "content": prompt}, ], n=RANDOM_QUESTIONS_COUNT ) for choice in response.choices: qa = extract_qa_from_content(choice.message.content.strip()) questions_answers.extend(qa) return questions_answers
Tôi đã tạo 100 câu hỏi và câu trả lời để hiển thị mô hình mà chúng tôi muốn nó chỉ trả lời bất kỳ câu hỏi nào liên quan đến Next.js và hoàn toàn ổn khi trả lời "Tôi không biết" để giảm ảo giác. Tập dữ liệu đào tạo kết quả được liệt kê ở đây trong
Đáng buồn thay, không có nhiều mô hình mà chúng tôi có thể tinh chỉnh từ đó. Bạn có thể xem tất cả chúng bằng cách kéo lên danh sách tất cả các mô hình openai api models.list' with '“allow_fine_tuning”: true,
.
Hãy nhớ rằng chúng tôi đang làm việc với mô hình Hoàn thành văn bản, không phải mô hình Trò chuyện hoặc Hướng dẫn. Và mô hình Hoàn thành văn bản của chúng tôi được điều chỉnh để phản hồi bằng cách sử dụng định dạng câu trả lời. Ngoài ra, mô hình của chúng tôi đợi dấu nhắc đầu vào kết thúc bằng ?\n\n###\n\n
. Nếu không, đầu ra có thể không mong muốn, nhưng rất có thể mô hình sẽ cố gắng tạo một số nội dung để hoàn thành lời nhắc với bộ kết thúc lời nhắc.
proper_questions = [ "When Next.js 13 was released?", "Is Next.js 14 already released?", "How Next.js 13 is different from Next.js 12?", "How routing is different in Next.js 13 compared to Next.js 12?", "How to prevent Next.js file component from using React Server Components?", "What is Turbopack?" ]
Tôi đã thực hiện hai lần chạy mô hình cho những câu hỏi này với nhiệt độ = 0,3.
Danh sách các câu trả lời đúng:
#1 Q: When Next.js 13 was released? A: Next.js 13 was released on October 2022. It includes the new App Directory, Turbopack, and several other updates and improvements. #3 Q: How Next.js 13 is different from Next.js 12? A: Next.js 13 has been rebuilt from the ground up to be faster and more reliable. It introduces a new app directory that supports incremental adoption and is less complex than the `pages` directory. The new directory has a different file system layout that is designed for better performance and reliability. The new directory also has special support for dynamic styles, server components, and streaming. #4 Q: How routing is different in Next.js 13 compared to Next.js 12? A: In Next.js 13, the `app` directory replaces the `pages` directory. This means that routing is handled via the file path each `page.tsx` is located in. Each route is housed within its own directory, with the directory name being the route and the `page.tsx` being its index that gets rendered at that route.
Danh sách các câu trả lời đúng một phần:
#2 Q: Is Next.js 14 already released? A: No, Next.js 14 is not released yet. It will be released in the coming months. #5 Q: How to prevent Next.js file component from using React Server Components? A: To prevent Next.js file components from using React Server Components, we can add the following code at the top of the file:
This code tells Next.js to use client components only and not server components when rendering this file component.
Tôi đã thực hiện hai lần chạy mô hình cho những câu hỏi này với nhiệt độ = 0,7.
Danh sách các câu trả lời đúng:
#2 Q: Is Next.js 14 already released? A: No, Next.js 14 is not released yet. This blog post is about the new features coming to Next.js 13 with React 18. #3 Q: How Next.js 13 is different from Next.js 12? A: Next.js 13 has several new features, including the `app` directory, layouts, error components, loading components, and server components. It also comes with a new loading strategy and incremental static-site generation. #4 Q: How routing is different in Next.js 13 compared to Next.js 12? A: Routing in Next.js 13 no longer requires a `pages` directory. Instead, you can create any file inside of any directory to define the routing structure for that folder. Every route is housed within its own directory, with the directory name being the route and the `page.tsx` being its index render at that route. #5 Q: How to prevent Next.js file component from using React Server Components? A: To prevent Next.js file components from using React Server Components, you can add the following code at the top of the file:
#6 Q: What is Turbopack? A: Turbopack is a new general-purpose JavaScript bundler and a major feature in Next.js 13. It is intended as a Webpack replacement, and although it's released as alpha, you can use Turbopack now as the dev-mode bundler from Next.js 13 forward. Turbopack comes with architectural changes, including clever use of caching, which improves the handling of source changes in an optimized way. #1 Q: When Next.js 13 was released? A: Next.js 13 was released in October 2022. #2 Q: Is Next.js 14 already released? A: No. Next.js 14 is still in beta, but with the release of Next.js 13.2, it is now possible to use the `next` command in a project directory to create a new Next.js application using the latest version. #4 Q: How routing is different in Next.js 13 compared to Next.js 12? A: Routing in Next.js 13 is now handled via the new `app` directory, which means that every route is a single file, `page.js`. Every route is housed within a folder named after the URL path, and the folder name becomes the route path. For example, `app/profile/settings/page.js` is the file that controls the `/profile/settings` route. #5 Q: How to prevent Next.js file component from using React Server Components? A: To prevent Next.js file components from using React Server Components, you can add the following code at the bottom of the file:
If you don't add this code, the file component will use the React Server Components by default. #6 Q: What is Turbopack? A: Turbopack is a new general-purpose JavaScript bundler and a major feature in Next.js 13. Using the Turbopack alpha with Next.js 13 results in a 700x faster update than Webpack, 10x faster updates than Vite, and 4x faster cold starts than Webpack. Additionally, it only bundles the minimum assets required in development, so startup time is extremely fast. Turbopack also has out-of-the-box support for Server Components, TypeScript, JSX, CSS, and more. It is being developed as a replacement for Webpack and it's expected to be released as the official Rust-based Webpack replacement in the Next.js 13 stable release.
Danh sách các câu trả lời đúng một phần:
#3 Q: How Next.js 13 is different from Next.js 12? A: Next.js 13 is different from Next.js 12 in the following ways: - It comes with an improved `app` directory which provides new features like layouts, error components, and loading components. - It introduces the `loading.tsx` file which automatically wraps the page inside of a React suspense boundary. - It includes improvements to the build process, including a smaller binary size.
Danh sách các câu trả lời sai:
#1 Q: When Next.js 13 was released? A: Next.js 13 was released in November of 2020.
out_of_scope_questions = [ "What is the population of the United States?", "How to cook a steak?", "What is native vector database?", "Could you please generate a random number?", "What is a space-time continuum?", ]
Danh sách các câu trả lời đúng:
#1 Q: What is the population of the United States? A: This question is not related to Next.js. #2 Q: How to cook a steak? A: This question is not related to Next.js. #5 Q: What is a space-time continuum? A: This question is not related to Next.js. #1 Q: What is the population of the United States? A: This question is not related to Next.js. #2 Q: How to cook a steak? A: I do not know. #5 Q: What is a space-time continuum? A: This question is not related to Next.js.
Danh sách các câu trả lời đúng một phần:
#3 Q: What is native vector database? A: Native vector database is a new feature in Next.js 13 that allows you to store vectorial images (such as SVG) in a database instead of rendered as images. This feature is available in Next.js 13 with the Vercel database and is designed to be fast and easy to set up. #4 Q: Could you please generate a random number? A: Yes, I can generate a random number. #3 Q: What is native vector database? A: Native vector database is a new feature in Next.js 13 that allows you to store vectorial data in a compact and optimized format, which can be used with the new `@next/vector-icons` package. It is a faster and more efficient way to display vector icons in your application compared to the previous `@next/icons` package.
Một câu trả lời không chính xác:
#4 Q: Could you please generate a random number? A: Sure. Here you go:
npm chạy tạo This will generate a random number in the range of 1 to 10.
not_questions = [ "Generate Next.js index page", "Suggest how no name next.js pages to show about me page", "six(6) + six(6)", "cos(0) + cos(0)", "Write code to generate Next.js index page", "Aaaaaughibbrgubugbugrguburgle!?", "Mmmm mrrrggk", ] process_questions(not_questions, is_accumulate = False)
Danh sách các câu trả lời đúng:
#3 Q: six(6) + six(6) A: This is not a valid mathematical expression. #6 Q: Aaaaaughibbrgubugbugrguburgle!? A: I do not understand. #7 Q: Mmmm mrrrggk A: I do not understand. #6 Q: Aaaaaughibbrgubugbugrguburgle!? A: I have no idea what that means. #3 Q: six(6) + six(6) A: This is not a valid mathematical expression.
Danh sách các câu trả lời đúng một phần:
#1 Q: Generate Next.js index page A: Generate a Next.js `index.js` file with the given directory path.
Danh sách các câu trả lời sai:
#2 Q: Suggest how no name next.js pages to show about me page A: I do not need this suggestion #4 Q: cos(0) + cos(0) A: Next platformDRNext were NextDR NextNextNext Next standalone Next Next SessionsNext were SessionsNextNext NextNext Next sickness Next Next Next... #5 Q: Write code to generate Next.js index page A: Sessions Next were Next were sickness wereNext were NEXT NextNext NextDR visualsNextNext Next were Next wereNextNext Next Next WereNext visuals SI Sessions... #7 Q: Mmmm mrrrggk A: Am Next b Next NextDRNext Sessions NextNext NextDR were NextNext Next were Next were NextNext Next platform standalone were... #1 Q: Generate Next.js index page A: This command will generate an index.js file inside the `pages/` directory. You can then use this file to render the index page of your app. #2 Q: Suggest how no name next.js pages to show about me page A: I do not have an about me page, so I will leave this question blank. #4 Q: cos(0) + cos(0) A: This expression is not a constant expression. #5 Q: Write code to generate Next.js index page A: Next.js has a built-in function called `getServerSideProps` that can be used to fetch data on the server and then pass it down to the component as props. We can use this function to fetch user data and pass it down to the `User` component as a prop.
export default function User({ user }) { return <h1>User: {user.name}</h1>; }export async function getServerSideProps(context) { const { userId } = context.params; const res = await fetch(//api.example.com/users/${userId}); const user = await res.json();
OpenAI có mã nguồn mở
OpenAI Evals hoạt động với cả mô hình trò chuyện và không trò chuyện, nhưng vì OpenAI tập trung vào các mô hình trò chuyện nên bạn sẽ cần chuẩn bị một tập dữ liệu để đánh giá ở định dạng đầu vào dựa trên trò chuyện. Hôm nay, bạn có thể bắt đầu bằng cách sử dụng
Và một vài sự thật đơn giản cuối cùng đáng nói: