ChatGPT를 세심한 Java 코드 최적화 프로그램으로 작동시키는 방법은 무엇입니까?
참고: 이 문서에서는 데모를 위해 New Bing(GPT4.0)을 사용합니다
1. 그에게 Java 소프트웨어 개발자 역할을 맡게 합니다. 1단계: ChatGPT가 Java 소프트웨어 개발자 역할을 하게 합니다.
- 프롬프트 단어 플러그인: 주소: ChatGPT BingChat GPT3 프롬프트 생성기 앱(Streamlit) - 포옹하는 얼굴 공간 by Kaludi
I want you to act as a Java software developer.
I will provide you with a list of commands and you will implement them.
My first request is "I need help creating a Java application."
2. 그렇지 않습니다. 하나의 Java 코드 예제를 준비하는 것이 좋습니다
두 번째 단계: 잘못 작성된 Java 코드 예제를 준비합니다
- 잘못된 Java 예제:
public int calculateUsingIfElse(int a, int b, String operator) { int result = 0; if (operator.equals("add")) { result = a + b; } else if (operator.equals("subtract")) { result = a - b; } else if (operator.equals("multiply")) { result = a * b; } else if (operator.equals("divide")) { if (b == 0) { throw new IllegalArgumentException("Cannot divide by zero"); } result = a / b; } else if (operator.equals("modulus")) { if (b == 0) { throw new IllegalArgumentException("Cannot divide by zero"); } result = a % b; } else if (operator.equals("power")) { result = (int) Math.pow(a, b); } else if (operator.equals("square root")) { if (a < 0) { throw new IllegalArgumentException("Cannot take square root of negative number"); } result = (int) Math.sqrt(a); } else if (operator.equals("absolute value")) { result = Math.abs(a); } else if (operator.equals("negate")) { result = -a; } else { throw new IllegalArgumentException("Invalid operator"); } return result; }
로그인 후 복사
3 이 코드를 최적화하게 하세요
세 번째 단계: newBing을 시키세요. (ChatGPT) 이 코드를 최적화하고
- "하위 기능 자동 분할, if 및 루프 중첩 감소, 일부 디자인 패턴 구현 등 보다 우아한 코드 구조로 구성"하도록 요청하세요.
- 4. 단일 테스트 작성 허용
// 定义一个接口,表示不同的运算策略 public interface OperationStrategy { int apply(int a, int b); } // 定义一个枚举,表示不同的运算符和对应的策略 public enum Operator { ADD((a, b) -> a + b), SUBTRACT((a, b) -> a - b), MULTIPLY((a, b) -> a * b), DIVIDE((a, b) -> { if (b == 0) { throw new ArithmeticException("Cannot divide by zero"); } return a / b; }), MODULUS((a, b) -> { if (b == 0) { throw new ArithmeticException("Cannot divide by zero"); } return a % b; }), POWER((a, b) -> (int) Math.pow(a, b)), SQUARE_ROOT((a, b) -> { if (a < 0) { throw new ArithmeticException("Cannot take square root of negative number"); } return (int) Math.sqrt(a); }), ABSOLUTE_VALUE(Math::abs), NEGATE(a -> -a); private final OperationStrategy strategy; Operator(OperationStrategy strategy) { this.strategy = strategy; } public int apply(int a, int b) { return strategy.apply(a, b); } } // 定义一个方法,根据运算符和操作数来计算结果 public int calculateUsingStrategy(int a, int b, String operatorName) { // 根据运算符名称找到对应的枚举常量,如果没有找到则抛出异常 Operator operator = Operator.valueOf(operatorName.toUpperCase()); if (operator == null) { throw new IllegalArgumentException("Invalid operator"); } // 调用枚举常量的apply方法来执行相应的策略 return operator.apply(a,b); }
로그인 후 복사4단계: 마침내 완료하도록 허용 - 단일 테스트 작성
import org.junit.Test; import static org.junit.Assert.*; // 定义一个测试类,用@Test注解标记要执行的测试方法 public class CalculatorTest { // 定义一个测试方法,用assertEquals方法来验证计算结果是否正确 @Test public void testAdd() { int result = calculateUsingStrategy(3, 5, "add"); assertEquals(8, result); } // 定义其他的测试方法,分别测试不同的运算符和操作数 @Test public void testSubtract() { int result = calculateUsingStrategy(10, 4, "subtract"); assertEquals(6, result); } @Test public void testMultiply() { int result = calculateUsingStrategy(7, 9, "multiply"); assertEquals(63, result); } @Test public void testDivide() { int result = calculateUsingStrategy(12, 3, "divide"); assertEquals(4, result); } // 定义一个测试方法,用assertThrows方法来验证抛出了预期的异常 @Test public void testDivideByZero() { assertThrows(ArithmeticException.class, () -> calculateUsingStrategy(10,0,"divide")); } // 定义其他的测试方法,分别测试不同的异常情况 @Test public void testModulusByZero() { assertThrows(ArithmeticException.class, () -> calculateUsingStrategy(10,0,"modulus")); } @Test public void testSquareRootOfNegativeNumber() { assertThrows(ArithmeticException.class, () -> calculateUsingStrategy(-4,-2,"square root")); } // 定义一个测试方法,用assertThrows方法来验证抛出了预期的异常 @Test public void testInvalidOperator() { assertThrows(IllegalArgumentException.class, () -> calculateUsingStrategy(10,-2,"foo")); } }
마지막으로 데이터 보안이 가장 큰 문제입니다. 무작위 데이터를 게시하지 마세요. 특히 백엔드 핵심 스토리지 계정 비밀번호, 회사 핵심 비즈니스 데이터, 부서 핵심 전략 계획 등과 관련된 경우 ChatGPT에 적용됩니다. 우선 ChatGPT는 교육을 위해 질문 및 답변 코퍼스를 사용합니다. 둘째, 실수로 유출된 정보로 LLM 모델이 어떤 프롬프트 단어에 응답할지 예측할 수 없습니다.
결함은 숨겨지지 않습니다. ChatGPT로 대표되는 LLM 모델은 특히 데이터 분석, 프런트 엔드, 단일 테스트, 재구성 및 기타 분야에서 전지전능한 교사이자 지치지 않는 일반 Util 코드 작성자 역할을 할 때 개발 효율성을 크게 향상시킬 수 있습니다.글의 첫 번째 단계에 적힌 대로 ChatGPT는 다재다능한 아이덴티티와 같아서 어떤 역할이든 수행할 수 있으며
각 역할은 이 역할 범위 내에서 더 나은 삶을 달성하는 데 도움이 될 수 있습니다.
더 흥미로운 용도가 모두가 발견하기를 기다리고 있습니다.
위 내용은 ChatGPT를 세심한 Java 코드 최적화 프로그램으로 작동시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

DALL-E 3는 이전 모델보다 대폭 개선된 모델로 2023년 9월 공식 출시되었습니다. 복잡한 디테일의 이미지를 생성할 수 있는 현재까지 최고의 AI 이미지 생성기 중 하나로 간주됩니다. 그러나 출시 당시에는 제외되었습니다.

번역기 | Bugatti 리뷰 | Chonglou 이 문서에서는 GroqLPU 추론 엔진을 사용하여 JanAI 및 VSCode에서 초고속 응답을 생성하는 방법을 설명합니다. 모두가 AI의 인프라 측면에 초점을 맞춘 Groq와 같은 더 나은 대규모 언어 모델(LLM)을 구축하기 위해 노력하고 있습니다. 이러한 대형 모델의 빠른 응답은 이러한 대형 모델이 더 빠르게 응답하도록 보장하는 핵심입니다. 이 튜토리얼에서는 GroqLPU 구문 분석 엔진과 API 및 JanAI를 사용하여 노트북에서 로컬로 액세스하는 방법을 소개합니다. 이 기사에서는 코드 생성, 코드 리팩터링, 문서 입력 및 테스트 단위 생성을 돕기 위해 이를 VSCode에 통합합니다. 이 기사에서는 우리만의 인공 지능 프로그래밍 도우미를 무료로 만들 것입니다. GroqLPU 추론 엔진 Groq 소개

기존 컴퓨팅을 능가할 뿐만 아니라 더 낮은 비용으로 더 효율적인 성능을 달성하는 인공 지능 모델을 상상해 보세요. 이것은 공상과학 소설이 아닙니다. DeepSeek-V2[1], 세계에서 가장 강력한 오픈 소스 MoE 모델이 여기에 있습니다. DeepSeek-V2는 경제적인 훈련과 효율적인 추론이라는 특징을 지닌 전문가(MoE) 언어 모델의 강력한 혼합입니다. 이는 236B 매개변수로 구성되며, 그 중 21B는 각 마커를 활성화하는 데 사용됩니다. DeepSeek67B와 비교하여 DeepSeek-V2는 더 강력한 성능을 제공하는 동시에 훈련 비용을 42.5% 절감하고 KV 캐시를 93.3% 줄이며 최대 생성 처리량을 5.76배로 늘립니다. DeepSeek은 일반 인공지능을 연구하는 회사입니다.

Plaud Note AI Voice Recorder(Amazon에서 159달러에 구매 가능)를 개발한 회사인 Plaud가 신제품을 발표했습니다. NotePin이라고 불리는 이 장치는 AI 메모리 캡슐로 설명되며 Humane AI Pin과 마찬가지로 착용 가능합니다. 노트핀은

이달 초 MIT와 기타 기관의 연구자들은 MLP에 대한 매우 유망한 대안인 KAN을 제안했습니다. KAN은 정확성과 해석성 측면에서 MLP보다 뛰어납니다. 그리고 매우 적은 수의 매개변수로 더 많은 수의 매개변수를 사용하여 실행되는 MLP보다 성능이 뛰어날 수 있습니다. 예를 들어 저자는 KAN을 사용하여 더 작은 네트워크와 더 높은 수준의 자동화로 DeepMind의 결과를 재현했다고 밝혔습니다. 구체적으로 DeepMind의 MLP에는 약 300,000개의 매개변수가 있는 반면 KAN에는 약 200개의 매개변수만 있습니다. KAN은 MLP와 같이 강력한 수학적 기반을 가지고 있으며, KAN은 Kolmogorov-Arnold 표현 정리를 기반으로 합니다. 아래 그림과 같이 KAN은

GraphRAG(Graph Retrieval Enhanced Generation)는 점차 대중화되고 있으며 기존 벡터 검색 방법을 강력하게 보완하는 수단이 되었습니다. 이 방법은 그래프 데이터베이스의 구조적 특성을 활용하여 데이터를 노드와 관계의 형태로 구성함으로써 검색된 정보의 깊이와 맥락적 관련성을 향상시킵니다. 그래프는 다양하고 상호 연관된 정보를 표현하고 저장하는 데 자연스러운 이점을 가지며, 다양한 데이터 유형 간의 복잡한 관계와 속성을 쉽게 캡처할 수 있습니다. 벡터 데이터베이스는 이러한 유형의 구조화된 정보를 처리할 수 없으며 고차원 벡터로 표현되는 구조화되지 않은 데이터를 처리하는 데 더 중점을 둡니다. RAG 애플리케이션에서 구조화된 그래프 데이터와 구조화되지 않은 텍스트 벡터 검색을 결합하면 이 기사에서 논의할 내용인 두 가지 장점을 동시에 누릴 수 있습니다. 구조

AIGC에 대해 자세히 알아보려면 다음을 방문하세요. 51CTOAI.x 커뮤니티 https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou는 인터넷 어디에서나 볼 수 있는 전통적인 문제 은행과 다릅니다. 고정관념에서 벗어나 생각해야 합니다. LLM(대형 언어 모델)은 데이터 과학, 생성 인공 지능(GenAI) 및 인공 지능 분야에서 점점 더 중요해지고 있습니다. 이러한 복잡한 알고리즘은 인간의 기술을 향상시키고 많은 산업 분야에서 효율성과 혁신을 촉진하여 기업이 경쟁력을 유지하는 데 핵심이 됩니다. LLM은 자연어 처리, 텍스트 생성, 음성 인식 및 추천 시스템과 같은 분야에서 광범위하게 사용될 수 있습니다. LLM은 대량의 데이터로부터 학습하여 텍스트를 생성할 수 있습니다.

Google AI는 Gemini 1.5 Pro LLM(대형 언어 모델)부터 개발자에게 확장된 컨텍스트 창과 비용 절감 기능에 대한 액세스를 제공하기 시작했습니다. 이전에는 대기자 명단을 통해 제공되었으며 전체 200만 개의 토큰 컨텍스트 창
