前言
相信有再追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;
}
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;
}
@Entity public class CartItem { private Integer productId; private Integer quantity;
}
|
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)) { filterChain.doFilter(request, response); } else { 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)部分
- 创建Spring Boot项目,添加依赖(如Spring Web、Spring Security、Spring Data JPA)。
- 创建一个实体类来表示商品,例如
Product
。
- 创建一个实体类来表示购物车,例如
Cart
。
- 创建一个实体类来表示用户,例如
User
。
- 创建一个控制器来处理商品的增删改查,例如
ProductController
。
- 创建一个控制器来处理购物车的操作,例如
CartController
。
- 配置Spring Security来使用JWT令牌验证用户身份。
- 创建一个
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
| @Entity public class Product { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private double price; }
@Entity public class Cart { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToMany private List<Product> products; }
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; }
@RestController @RequestMapping("/api/products") public class ProductController { }
@RestController @RequestMapping("/api/cart") public class CartController { }
public class JwtUtil { }
@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)部分
- 创建Vue.js项目,使用Vue Router来管理页面路由。
- 创建购物车页面和商品列表页面。
- 使用Axios或类似的库向后端发送HTTP请求。
- 实现用户注册、登录、浏览商品、添加/删除商品到购物车等功能。
- 存储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) 部分
创建Spring Boot项目,并添加所需的依赖,如Spring Web, Spring Security, Spring Data JPA, 和 Spring Boot DevTools。
定义实体类来表示产品、购物车和用户。这是一个示例:
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; }
@Entity public class Cart { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToMany private List<Product> products; }
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; }
|
创建控制器来处理商品和购物车的操作,例如:
1 2 3 4 5 6 7 8 9 10 11
| @RestController @RequestMapping("/api/products") public class ProductController { }
@RestController @RequestMapping("/api/cart") public class CartController { }
|
配置Spring Security来使用JWT令牌进行身份验证,包括用户注册、登录等操作。您可以创建一个 JwtAuthenticationEntryPoint
和一个 JwtRequestFilter
。
创建一个JwtUtil
工具类来生成和验证JWT令牌。
前端 (Vue.js) 部分
创建Vue.js项目,并使用Vue Router来管理页面路由。
实现用户注册、登录、购物车展示、商品列表展示等功能。您可以使用Vue组件来处理这些功能。
使用Axios或其他HTTP库来向后端发送HTTP请求,以进行用户身份验证和与后端通信。
在前端存储JWT令牌,通常存储在浏览器的LocalStorage或SessionStorage中,并将其包含在每个请求的Authorization
头中。
设置路由以便用户可以浏览商品、查看购物车,以及进行登录/注册操作。
这只是一个基本示例,您需要根据您的需求和项目设计进行更多开发和优化,包括前端的购物车逻辑、支付集成、商品管理等等。
在实际项目中,还需要考虑数据验证、安全性、JWT令牌的刷新机制、购物车计算等方面的问题。同时,确保Spring Boot应用程序和Vue.js应用程序正确配置和连接,以便它们能够顺畅协同工作。
補充說明
根據Anthropic公司的說明,Claude 2目前提供免費的公開API,每天有使用流量限制:
每個用戶每天有50次免費查詢次數
每個用戶單次查詢長度限制在128個token內
每個用戶每天免費查詢總長度限制在4096個token內
如果超過以上限制,API將返回錯誤信息。
Anthropic還提供了Claude 2的商業授權方案,可以擁有更高的查詢流量限額。商業方案需要向Anthropic公司申請註冊並支付費用。
所以綜合來說,免費版Claude 2確實有每天的查詢次數和流量限制。如果需要更高流量,可以考慮商業授權版本。這樣可以避免免費版達到限制後無法使用的情況。
結論
我蠻喜歡新的Claude,雖然有限制,但對繁體中文更加友善,GPT我請他用繁體中文他還是記不住XD
繁體字的資料庫比例實在太少了,希望日後台灣能創自己的資料庫集!
參考:
- https://www.managertoday.com.tw/articles/view/67143
- https://www.moneydj.com/kmdj/news/newsviewer.aspx?a=51f20f37-9304-4acb-9237-a07bd7ed556a