【Claude2体验】继ChatGPT,文心一言,Bing等大模型后,初次对话Claude2的体验

文章目录

  • 🌺注意事项
  • 🤖什么是Claude2
  • ⭐与之前版本的进步
  • 🛸官网的讲解
  • 🍔功能介绍
  • 🎄使用体验
    • 🎆查看不知道如何才能打开的文档 的内容
    • 🎆日常需求
      • ✨Claude
      • ✨ChatGPT3.5
  • 🤖总结

🎊专栏【小吉测评】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【The Right Path】
🥰欢迎并且感谢大家指出小吉的问题

🌺注意事项

测评仅仅代表一部分,仅代表本人观点。

请到网盘中查看

Claude2使用注意事项

🤖什么是Claude2

在这里插入图片描述

Claude 2使用2023年初的新数据训练模型,是一名由人工智能公司Anthropic开发的虚拟助手。目的是成为一个有用的信息获取工具,可以自然地与人类用户进行交互,核心是一个具有深度学习和语言处理能力的大型AI系统。通过处理海量数据进行训练,可以解析人类语言,进行逻辑推理,并用人类可理解的语言作出回应。与许多过去的预设响应式chatbot不同,Claude可以进行真正的对话,会记住之前的交谈内容,保持上下文一致性。也会主动询问以获取对用户需求的更好理解。

⭐与之前版本的进步

1.扩大知识范围:训练的知识图谱更加广泛,涵盖更多领域的常识和事实,能够回答更广泛的话题。

2.提升语言处理能力:在理解语言表达和生成回复的能力上有所提升,可以进行更加顺畅、自然的对话。

3.增强多轮对话:可以进行更长时间的对话,每个回复之间可以保持上下文和连贯性。

4.提高安全性:训练更加负责任,通过技术手段降低生成有害内容的风险

5.优化悦耳性:语言风格更加友好、具有同理心,会用更悦耳的语言表达。

🛸官网的讲解

在这里插入图片描述

Claude 2 提高了性能,响应时间更长,Claude很容易交谈,清楚地解释了它的想法,不太可能产生有害的输出,并且记忆力更长。我们对以前的编码、数学和推理模型进行了改进。例如,我们的最新模型在律师考试的多项选择部分得分为 76.5%,高于 Claude 73.0 的 1.3%。与申请研究生院的大学生相比,Claude2 在 GRE 阅读和写作考试中的得分高于第 90 个百分位数,在定量推理方面与中位数申请人相似。

🍔功能介绍

Claude相比于ChatGPT,它们都可以阅读代码,修改代码,日常训练聊天等基础用处,但是Claude可以上传文档链接

在这里插入图片描述

在这里插入图片描述

能看出,总结得还是比较完美的

Claude目前还可以支持论文,而且根据Anthropic官方在论文中的说法,Claude 2其实是有支持200k上下文的潜力。目前虽然只支持100k,但是未来将会扩展到至少200k。

🎄使用体验

🎆查看不知道如何才能打开的文档 的内容

例如查看ini文件的内容
因为我不知道怎么打开ini文件,然后通过这个功能,我可以查看文件内容,这个功能感觉特别厉害
在这里插入图片描述

🎆日常需求

在写代码方面,感觉没有ChatGPT直接哈哈哈

✨Claude

在这里插入图片描述
在这里插入图片描述

//方块类
class Block {
  Shape shape;
  Color color; 
  int x, y;
}

//棋盘类 
class Board {
  Block grid[10][20]; 
}

//主循环
void MainLoop() {
  Tetris game;
  GUI gui;
  
  while (game.IsRunning()) {
    game.Update(); 
    
    gui.Render(game.GetBoard());
  }
}

Claude就给我写一个框架,其他的让我来补全

✨ChatGPT3.5

在这里插入图片描述

#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <conio.h>

using namespace std;

const int BOARD_WIDTH = 10;
const int BOARD_HEIGHT = 20;

class Tetris {
private:
    vector<vector<char>> board;
    int currentX, currentY;
    vector<vector<char>> currentPiece;

    vector<vector<char>> getRandomPiece() {
        vector<vector<char>> piece;
        int pieceType = rand() % 7;

        switch (pieceType) {
            case 0:  // I
                piece = {
                    {'#', '#', '#', '#'}
                };
                break;
            case 1:  // J
                piece = {
                    {'#', '.', '.'},
                    {'#', '#', '#'}
                };
                break;
            case 2:  // L
                piece = {
                    {'.', '.', '#'},
                    {'#', '#', '#'}
                };
                break;
            case 3:  // O
                piece = {
                    {'#', '#'},
                    {'#', '#'}
                };
                break;
            case 4:  // S
                piece = {
                    {'.', '#', '#'},
                    {'#', '#', '.'}
                };
                break;
            case 5:  // T
                piece = {
                    {'.', '#', '.'},
                    {'#', '#', '#'}
                };
                break;
            case 6:  // Z
                piece = {
                    {'#', '#', '.'},
                    {'.', '#', '#'}
                };
                break;
            default:
                break;
        }

        return piece;
    }

    bool isValidMove(int newX, int newY, const vector<vector<char>>& piece) {
        for (int i = 0; i < piece.size(); ++i) {
            for (int j = 0; j < piece[i].size(); ++j) {
                if (piece[i][j] == '#' &&
                    (newX + j < 0 || newX + j >= BOARD_WIDTH || newY + i >= BOARD_HEIGHT ||
                     (newY + i >= 0 && board[newY + i][newX + j] == '#'))) {
                    return false;
                }
            }
        }
        return true;
    }

    void placePieceOnBoard() {
        for (int i = 0; i < currentPiece.size(); ++i) {
            for (int j = 0; j < currentPiece[i].size(); ++j) {
                if (currentPiece[i][j] == '#') {
                    board[currentY + i][currentX + j] = '#';
                }
            }
        }
    }

    void clearFullRows() {
        for (int i = BOARD_HEIGHT - 1; i >= 0; --i) {
            bool fullRow = true;
            for (int j = 0; j < BOARD_WIDTH; ++j) {
                if (board[i][j] != '#') {
                    fullRow = false;
                    break;
                }
            }

            if (fullRow) {
                board.erase(board.begin() + i);
                board.insert(board.begin(), vector<char>(BOARD_WIDTH, '.'));
            }
        }
    }

public:
    Tetris() {
        srand(time(nullptr));
        board = vector<vector<char>>(BOARD_HEIGHT, vector<char>(BOARD_WIDTH, '.'));
        currentX = BOARD_WIDTH / 2;
        currentY = 0;
        currentPiece = getRandomPiece();
    }

    void run() {
        char input;
        bool gameover = false;

        while (!gameover) {
            displayBoard();
            input = _getch();

            switch (input) {
                case 'a':
                    if (isValidMove(currentX - 1, currentY, currentPiece)) {
                        currentX--;
                    }
                    break;
                case 'd':
                    if (isValidMove(currentX + 1, currentY, currentPiece)) {
                        currentX++;
                    }
                    break;
                case 's':
                    if (isValidMove(currentX, currentY + 1, currentPiece)) {
                        currentY++;
                    }
                    break;
                case 'q':
                    rotatePiece();
                    break;
                case 'x':
                    gameover = true;
                    break;
                default:
                    break;
            }

            if (isValidMove(currentX, currentY + 1, currentPiece)) {
                currentY++;
            } else {
                placePieceOnBoard();
                clearFullRows();

                currentX = BOARD_WIDTH / 2;
                currentY = 0;
                currentPiece = getRandomPiece();

                if (!isValidMove(currentX, currentY, currentPiece)) {
                    gameover = true;
                }
            }
        }

        cout << "Game Over!" << endl;
    }

    void displayBoard() {
        system("cls");
        for (int i = 0; i < BOARD_HEIGHT; ++i) {
            for (int j = 0; j < BOARD_WIDTH; ++j) {
                cout << board[i][j];
            }
            cout << endl;
        }
    }

    void rotatePiece() {
        vector<vector<char>> newPiece(currentPiece[0].size(), vector<char>(currentPiece.size(), '.'));

        for (int i = 0; i < currentPiece.size(); ++i) {
            for (int j = 0; j < currentPiece[i].size(); ++j) {
                newPiece[j][currentPiece.size() - 1 - i] = currentPiece[i][j];
            }
        }

        if (isValidMove(currentX, currentY, newPiece)) {
            currentPiece = newPiece;
        }
    }
};

int main() {
    Tetris game;
    game.run();
    return 0;
}

ChatGPT比较直接,把代码都给出了

🤖总结

总的来说,不论是ChatGPT还是Claude,都有其本身的优势,比如Claude可以提交链接,查看文档,ChatGPT写代码比较强等等等
本期测评仅仅代表一部分,不会以偏概全,仅代表本人观点,真正适合自己的,还需要大家自己来尝试
在这里插入图片描述

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/56113.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux命令200例】split将一个大文件拆分成多个小文件

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主✌&#xff0c;2023年6月csdn上海赛道top4✌。 &#x1f3c6;本文已收录于专栏&#xff1a;Linux命令大全。 &#x1f3c6;本专栏我们会通过具体的系统的命令讲解加…

Windows下FreeImage库的配置

首先下载FreeImage库&#xff0c;http://freeimage.sourceforge.net/download.html&#xff0c;官网下载如下&#xff1a; 内部下载地址&#xff1a;https://download.csdn.net/download/qq_36314864/88140305 解压后&#xff0c;打开FreeImage.2017.sln&#xff0c;如果是vs…

springboot参数校验

springboot参数传递 PathVariableRequestParamRequestBody JSR303 jsr303 &#xff1a; 也称 bean validation 规范&#xff0c;用于java bean 验证的标准API&#xff0c;&#xff0c;他定义了一组注解&#xff0c;可以在javabean 的属性上声明验证规则 JSR&#xff1a; ja…

微信公众号开发学习

申请测试号 地址 通过F12抓取体验接口权限表的HTML 解析HTML 引入pom <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><…

127.【SpringBoot 源码刨析D】

SpringBoot 源码刨析D (三)、SpringBoot 核心功能4.单元测试功能(1).JUnit5 的变化(2).JUnit5常用注解(3).断言&#xff08; assertions &#xff09;(3.1).简单断言(3.2).数组断言(3.3).组合断言(3.4).异常断言(3.5).超时断言(3.6).快速失败 (4).前置条件&#xff08; assumpt…

SpringBoot集成MyBatisPlus+MySQL(超详细)

前言 查看此文章前强烈建议先看这篇文章&#xff1a;Java江湖路 | 专栏目录 该文章纪录的是SpringBoot快速集成MyBatis Plus&#xff0c;每一步都有记录&#xff0c;争取每一位看该文章的小伙伴都能操作成功。达到自己想要的效果~ 文章目录 前言1、什么是MyBatisPlus2、Spring…

JetBrains 为测试自动化打造的强大 IDE-Aqua

QA 和测试工程对现代软件开发必不可少。 在 JetBrains&#xff0c;我们相信使用正确的工具对每项工作都很重要。 对我们来说&#xff0c;为自动化测试开发创建单独的工具是自然而然的事&#xff0c;因为这使我们能够满足多角色软件开发团队的需求。 我们很高兴能够推出 JetBra…

Windows下RocketMQ的启动

下载地址&#xff1a;下载 | RocketMQ 解压后 一、修改runbroker.cmd 修改 bin目录下的runbroker.cmd set "JAVA_OPT%JAVA_OPT% -server -Xms2g -Xmx2g" set "JAVA_OPT%JAVA_OPT% -XX:MaxDirectMemorySize15g" set "JAVA_OPT%JAVA_OPT% -cp %CLASSP…

给你一个小技巧,解放办公室管理!

电力的稳定供应对于现代社会中的办公室和企业来说至关重要。为了应对这些潜在的问题&#xff0c;许多办公室和企业都采用了不间断电源&#xff08;UPS&#xff09;系统来提供电力备份。UPS可以保持关键设备的运行&#xff0c;确保生产和业务不受干扰。 然而&#xff0c;仅仅安装…

C# Blazor 学习笔记(0.1):如何开始Blazor和vs基本设置

文章目录 前言资源推荐环境如何开始Blazor个人推荐设置注释快捷键热重载设置 前言 Blazor简单来说就是微软提供的.NET 前端框架。使用 WebAssembly的“云浏览器”&#xff0c;集成了Vue,React,Angular等知名前端框架的特点。 资源推荐 微软官方文档 Blazor入门基础视频合集 …

NO4 实验四:生成Web工程

1、说明 使用 mvn archetype&#xff1a;generate 命令生成 Web 工程时&#xff0c;需要使用一个专门的 archetype。这个专门生成 Web 工程骨架的 archetype 可以参照官网看到它的用法&#xff1a; 2、操作 注意&#xff1a;如果在上一个工程的目录下执行 mvn archetype&…

​LeetCode解法汇总142. 环形链表 II

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a; 力扣 描述&#xff1a; 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如…

Spring Boot配置文件

hi,大家好,今天为大家带来Spring Boot 的配置文件相关的知识 文章目录 &#x1f437;上期遗留问题:约定大于配置:&#x1f96b;1.配置文件作用&#x1f96b;2.配置文件格式&#x1f96b;3.properties配置文件介绍&#x1f367;3.1properties基本语法&#x1f367;3.2 读取配置…

IDEA live templates

surround 在SQL的xml里 可以修改变量 官方文档 CDATA not null <if test"$SELECTION$ ! null and $SELECTION$ ! "> and $VAR1$ #{$SELECTION$} </if>not null like mysql <if test"$SELECTION$ ! null and $SELECTION$ ! "> and…

大数据技术之Clickhouse---入门篇---数据类型、表引擎

星光下的赶路人star的个人主页 今天没有开始的事&#xff0c;明天绝对不会完成 文章目录 1、数据类型1.1 整型1.2 浮点型1.3 布尔型1.4 Decimal型1.5 字符串1.6 枚举类型1.7 时间类型1.8 数组 2、表引擎2.1 表引擎的使用2.2 TinyLog2.3 Memory2.4 MergeTree2.4.1 Partition by分…

系统架构设计师_备考第2天(计算机组成与体系结构)

文章目录 考频&#xff08;3分左右&#xff09;一、计算机结构二、CPU组成三、冯诺依曼结构和哈弗结构四、层次化存储结构五、Cache 考频&#xff08;3分左右&#xff09; 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 计算机结构&#xff08;★&#xff0…

语义检索系统【四】:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型实现数据精排

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

阿里云负载均衡SLB网络型NLB负载均衡架构性能详解

阿里云网络型负载均衡NLB是阿里云推出的新一代四层负载均衡&#xff0c;支持超高性能和自动弹性能力&#xff0c;单实例可以达到1亿并发连接&#xff0c;帮您轻松应对高并发业务。网络型负载均衡NLB具有超强性能、自动弹性伸缩、高可用、TCPSSL卸载、多场景流量分发和丰富的高级…

Eureka 学习笔记3:EurekaHttpClient

版本 awsVersion ‘1.11.277’ EurekaTransport 用于客户端和服务端之间进行通信&#xff0c;封装了以下接口的实现&#xff1a; ClosableResolver 接口实现TransportClientFactory 接口实现EurekaHttpClient 接口实现及其对应的 EurekaHttpClientFactory 接口实现 private …

搜索与图论(一)

一、DFS与BFS 1.1深度优先搜索(DFS) DFS不具有最短性 //排列数字问题 #include<iostream> using namespace std;const int N 10; int n; int path[N]; bool st[N];void dfs(int u) {if(u n){for(int i 0;i < n;i) printf("%d",path[i]);puts("&qu…