ChatGPT 最大對手|Claude 開放台灣註冊!

前言

相信有再追AI NEWS的都知道,上週Claude終於開放台灣註冊了!
今天玩了Claude2 覺得可以上傳PDF實在太方便了
應該是目前是免費版的頂了吧!!!
(雖然文章說沒有限制 但我實測免費版 是有限制流量 *下方補充說明)

Claude 2 數據資料已經更新到 2023 年初(勝)
ChatGPT 只更新到 2021 年 9 月

資料內容長度
(免費版) Claude 2 最大的特色是支援輸入 100K token(勝)
(免費版) GPT-3.5 Turbo 則為 16K token

100K token的資料長度將能夠處理更多更長的內容
例如數百頁的文件甚至是一整本書!

😜😜😜 加入AI大亂鬥的公司

Anthropic -> Claude
OpenAI -> ChatGPT
microsoft -> Bing
Google -> Bard

…其實還有很多 XD


註冊

https://www.anthropic.com/index/claude-2

使用email 註冊 再加上手機號碼驗證 即可使用

Claude V.S Claude 2

比較一下Anthropic 公司開發的Claude 和 Claude 2 這兩個對話AI系統的不同之處~
(此比較由Claude 2 自己整理的)

模型規模

Claude 是 12 億參數規模的對話模型。
Claude 2 是 65 億參數規模,規模大約提升了 5 倍。

訓練數據

Claude 主要使用 Reddit 數據訓練。
Claude 2 除了使用 Reddit,還增加了諸如 Hacker News、StackOverflow 等高質量的對話數據。

談話能力

Claude 能夠進行基本的閒聊和問答。
Claude 2 增強了討論能力,能夠進行更深入和連貫的對話。

安全性

Claude 2 增加了更多安全性限制,避免產生有害內容。

部署方式

Claude 只能通過 API 訪問。
Claude 2 除了 API,還支援部署到網站作為建立在 GPT 模型上的聊天機器人。

開發框架

Claude 使用 TensorFlow 開發。
Claude 2 從 TensorFlow 轉到使用 PyTorch 開發。

總體來說,Claude 2 在模型規模、訓練數據、談話能力和安全性方面都有顯著提升
是對 Claude 的重大改進,也更適合用於實際產品中的應用。

測試

1.需要一個PDF,我找了國外的科學中心論文平台,隨機下載兩篇論文測試~
網址:https://sci-hub.se/

實測 1 (上傳論文包含文字與圖表)

上傳第一篇PDF的英文論文 共有15頁
內文大概長這樣 有文字與圖表


請他幫我用繁體中文 解釋這論文的 重點

速度很快大概15秒左右


實測 2 (上傳論文包含公式)

第二篇PDF的英文論文 共有10頁
但裡面有很多數學模型公式
內文大概長這樣


一樣請他幫我用繁體中文 解釋這論文的 重點
這次花比較多時間大概25秒左右 雖然頁數比較少 但還是比較久一點

但一樣給我了很完整的結論!!!


實測 3 (問code的範例寫法 跟GPT3.5比)

因為每次問都有不同結果 所以個別實驗兩次

Claude2 (共2次回答)

Q:我想用spring boot 做一個購物車的網站 前端用vue 中間要用jwt當token 請給我一組java的範例實作

A:(Claude2第一次答 給邏輯步驟)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
好的,我給您舉一個使用Spring Boot + Vue + JWT實現購物車網站的示例代碼實作:

后端(Spring Boot):

1. 設計使用者、產品、訂單等數據表,並建立對應的實體類、數據庫操作接口。

2. 編寫註冊登錄接口,使用JWT生成TOKEN。

3. 編寫產品相關接口,如獲取產品列表、添加到購物車等。

4. 編寫訂單相關接口,如生成訂單、獲取訂單列表等。

5. 配置JWT的過濾器,對需要TOKEN認證的接口進行驗證。

前端(Vue):

1. 編寫登錄/註冊組件,調用相應接口獲取TOKEN。

2. 建立產品列表/詳情組件,調用接口獲取產品信息。

3. 設計購物車組件,可以添加/刪除產品,並調用接口更新后端數據。

4. 創建訂單相關組件,向后端提交訂單并顯示訂單列表。

5. 在組件和接口请求中加入JWT TOKEN,向后端驗證用戶身份。

6. 使用Vuex管理全局數據,如購物車信息、用户登錄状态等。

這樣就可以實現一個基本的使用Spring Boot + Vue + JWT的購物車網站示例。實際項目中還要考慮更多功能、安全、優化等方面的要求。

A:(Claude2 第二次答 給實際範例)
好的,這裡給您一個使用Spring Boot + Vue + JWT實現購物車的Java后端代碼示例:

1.創建用戶entity和repository:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Entity 
public class User {

@Id
private Integer id;

private String username;

private String password;

// 省略getter/setter
}

public interface UserRepository extends JpaRepository<User, Integer> {

Optional<User> findByUsername(String username);

}

2.實現用戶登錄和TOKEN生成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@RestController
public class AuthController {

@Autowired
private UserRepository userRepo;

@PostMapping("/login")
public ResponseEntity<Map<String, String>> login(@RequestBody LoginRequest request) {
Optional<User> userOpt = userRepo.findByUsername(request.getUsername());
if (!userOpt.isPresent() || !passwordMatches(userOpt.get(), request.getPassword())) {
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
}

String token = Jwts.builder()
.setSubject(userOpt.get().getUsername())
.signWith(SignatureAlgorithm.HS512, "secretKey")
.compact();

Map<String, String> body = new HashMap<>();
body.put("token", token);
return ResponseEntity.ok(body);
}
}

3.編寫產品和購物車接口:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@RestController
@RequestMapping("/api/products")
public class ProductController {

@GetMapping
public List<Product> getProducts() {
// 獲取產品列表
}

@PostMapping("/{productId}/add-to-cart")
public ResponseEntity<Cart> addToCart(@PathVariable Integer productId, @RequestBody Cart cart) {
// 將產品添加到購物車
return ResponseEntity.ok(updatedCart);
}

}

@Entity
public class Cart {
@Id
private Integer id;

@OneToMany
private List<CartItem> items;

// 省略getter/setter
}

@Entity
public class CartItem {
private Integer productId;
private Integer quantity;

// 省略getter/setter
}

4.編寫訂單接口:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@RestController
@RequestMapping("/api/orders")
public class OrderController {

@PostMapping
public ResponseEntity<Order> createOrder(@RequestBody Cart cart) {
//根據購物車創建訂單
return ResponseEntity.ok(order);
}

@GetMapping
public List<Order> getOrders(Principal principal) {
// 獲取用戶的訂單列表
}

}

5.配置JWT過濾器驗證TOKEN:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Component
public class JwtAuthenticationFilter extends OncePerRequestFilter {

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
String token = getTokenFromRequest(request);
if (token != null && !token.isEmpty() && Jwts.parser().isSigned(token)) {
// Token验证成功后过滤器链继续执行
filterChain.doFilter(request, response);
} else {
// Token验证失败返回401错误
response.sendError(HttpStatus.UNAUTHORIZED.value());
}
}

}

這是一個簡單的Spring Boot后端實現,前端可以調用這些接口進行交互。

ChatGPT 3.5 (共2次回答 我已經請他用繁體中文惹 但它還是給我簡體我也沒辦法XD)

Q:我想用spring boot 做一個購物車的網站 前端用vue 中間要用jwt當token 請給我一組java的範例實作
A:(ChatGPT 3.5 第一次答 給框架)
建立一个完整的Spring Boot购物车网站并提供JWT令牌验证的示例需要相当多的代码和配置。我将为您提供一个简化的示例,以便您可以开始。请注意,这只是一个起点,您可能需要根据您的具体需求进行扩展和改进。

首先,确保您已经设置好Spring Boot和Vue.js的开发环境。

后端(Spring Boot)部分

  1. 创建Spring Boot项目,添加依赖(如Spring Web、Spring Security、Spring Data JPA)。
  2. 创建一个实体类来表示商品,例如Product
  3. 创建一个实体类来表示购物车,例如Cart
  4. 创建一个实体类来表示用户,例如User
  5. 创建一个控制器来处理商品的增删改查,例如ProductController
  6. 创建一个控制器来处理购物车的操作,例如CartController
  7. 配置Spring Security来使用JWT令牌验证用户身份。
  8. 创建一个JwtUtil类来生成和验证JWT令牌。

示例代码(仅供参考):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// Product.java
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private double price;
// Getters and setters
}

// Cart.java
@Entity
public class Cart {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany
private List<Product> products;
// Getters and setters
}

// User.java
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
// Getters and setters
}

// ProductController.java
@RestController
@RequestMapping("/api/products")
public class ProductController {
// Implement CRUD operations for products
}

// CartController.java
@RestController
@RequestMapping("/api/cart")
public class CartController {
// Implement cart operations, e.g., add to cart, remove from cart
}

// JwtUtil.java
public class JwtUtil {
// Implement JWT token generation and validation
}

// SecurityConfig.java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private JwtRequestFilter jwtRequestFilter;

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService);
}

@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.authorizeRequests().antMatchers("/api/authenticate").permitAll()
.anyRequest().authenticated()
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
http.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);
}
}

前端(Vue.js)部分

  1. 创建Vue.js项目,使用Vue Router来管理页面路由。
  2. 创建购物车页面和商品列表页面。
  3. 使用Axios或类似的库向后端发送HTTP请求。
  4. 实现用户注册、登录、浏览商品、添加/删除商品到购物车等功能。
  5. 存储JWT令牌并将其包含在每个请求中。

示例代码(仅供参考):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!-- Cart.vue -->
<template>
<div>
<h1>Shopping Cart</h1>
<!-- Display cart items here -->
</div>
</template>

<!-- ProductList.vue -->
<template>
<div>
<h1>Product List</h1>
<!-- Display product list here -->
</div>
</template>

<!-- AuthService.js -->
import axios from 'axios';

const API_URL = 'http://localhost:8080/api/';

class AuthService {
login(username, password) {
return axios
.post(API_URL + 'authenticate', { username, password })
.then(response => {
if (response.data.token) {
localStorage.setItem('user', JSON.stringify(response.data));
}
return response.data;
});
}

// Implement registration, logout, and other methods
}

// Implement components and routing

请注意,这只是一个基本示例,涵盖了后端和前端的一些关键部分。您需要根据您的具体需求和设计进行更多开发和优化。

在实际项目中,您还需要考虑安全性、数据验证、数据库配置、购物车计算、支付集成等等。为了更好地开始,您可以参考Spring Boot和Vue.js的官方文档以获取更多信息和示例代码。

A:(ChatGPT 3.5 第二次答 還是給框架與簡述)

当您使用Spring Boot作为后端、Vue.js作为前端,并使用JWT作为身份验证令牌时,以下是一个简化的示例实现购物车网站的步骤。

后端 (Spring Boot) 部分

  1. 创建Spring Boot项目,并添加所需的依赖,如Spring Web, Spring Security, Spring Data JPA, 和 Spring Boot DevTools。

  2. 定义实体类来表示产品、购物车和用户。这是一个示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    @Entity
    public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private double price;
    // Getters and setters
    }

    @Entity
    public class Cart {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @OneToMany
    private List<Product> products;
    // Getters and setters
    }

    @Entity
    public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String username;
    private String password;
    // Getters and setters
    }
  3. 创建控制器来处理商品和购物车的操作,例如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @RestController
    @RequestMapping("/api/products")
    public class ProductController {
    // 实现商品的CRUD操作
    }

    @RestController
    @RequestMapping("/api/cart")
    public class CartController {
    // 实现购物车操作,例如添加到购物车、从购物车中移除商品
    }
  4. 配置Spring Security来使用JWT令牌进行身份验证,包括用户注册、登录等操作。您可以创建一个 JwtAuthenticationEntryPoint 和一个 JwtRequestFilter

  5. 创建一个JwtUtil工具类来生成和验证JWT令牌。

前端 (Vue.js) 部分

  1. 创建Vue.js项目,并使用Vue Router来管理页面路由。

  2. 实现用户注册、登录、购物车展示、商品列表展示等功能。您可以使用Vue组件来处理这些功能。

  3. 使用Axios或其他HTTP库来向后端发送HTTP请求,以进行用户身份验证和与后端通信。

  4. 在前端存储JWT令牌,通常存储在浏览器的LocalStorage或SessionStorage中,并将其包含在每个请求的Authorization头中。

  5. 设置路由以便用户可以浏览商品、查看购物车,以及进行登录/注册操作。

这只是一个基本示例,您需要根据您的需求和项目设计进行更多开发和优化,包括前端的购物车逻辑、支付集成、商品管理等等。

在实际项目中,还需要考虑数据验证、安全性、JWT令牌的刷新机制、购物车计算等方面的问题。同时,确保Spring Boot应用程序和Vue.js应用程序正确配置和连接,以便它们能够顺畅协同工作。


補充說明

根據Anthropic公司的說明,Claude 2目前提供免費的公開API,每天有使用流量限制:

每個用戶每天有50次免費查詢次數
每個用戶單次查詢長度限制在128個token內
每個用戶每天免費查詢總長度限制在4096個token內
如果超過以上限制,API將返回錯誤信息。

Anthropic還提供了Claude 2的商業授權方案,可以擁有更高的查詢流量限額。商業方案需要向Anthropic公司申請註冊並支付費用。
所以綜合來說,免費版Claude 2確實有每天的查詢次數和流量限制。如果需要更高流量,可以考慮商業授權版本。這樣可以避免免費版達到限制後無法使用的情況。

結論

我蠻喜歡新的Claude,雖然有限制,但對繁體中文更加友善,GPT我請他用繁體中文他還是記不住XD
繁體字的資料庫比例實在太少了,希望日後台灣能創自己的資料庫集!

參考:

  1. https://www.managertoday.com.tw/articles/view/67143
  2. https://www.moneydj.com/kmdj/news/newsviewer.aspx?a=51f20f37-9304-4acb-9237-a07bd7ed556a

ChatGPT 最大對手|Claude 開放台灣註冊!
http://example.com/2023/10/25/ChatGPT 最大對手 Claude 開放台灣註冊!/
作者
Tayli Kuan
發布於
2023年10月25日
許可協議