正在显示
5 个修改的文件
包含
23 行增加
和
15 行删除
@@ -41,7 +41,7 @@ class ChatRecordItemJob extends BaseJob | @@ -41,7 +41,7 @@ class ChatRecordItemJob extends BaseJob | ||
41 | $this->desc = '同步用户聊天明细记录'; | 41 | $this->desc = '同步用户聊天明细记录'; |
42 | $this->channel = 'sync'; | 42 | $this->channel = 'sync'; |
43 | // 执行 | 43 | // 执行 |
44 | - parent::__construct($model); | 44 | + parent::__construct($model, 1); |
45 | } | 45 | } |
46 | 46 | ||
47 | /** | 47 | /** |
@@ -53,10 +53,11 @@ class ChatRecordItemJob extends BaseJob | @@ -53,10 +53,11 @@ class ChatRecordItemJob extends BaseJob | ||
53 | { | 53 | { |
54 | record_log($this->channel, $this->desc, 'begin'); | 54 | record_log($this->channel, $this->desc, 'begin'); |
55 | 55 | ||
56 | - if ($this->attempts() > 3) { | 56 | + if ($this->attempts() > 1) { |
57 | record_log($this->channel, '尝试次数过多'); | 57 | record_log($this->channel, '尝试次数过多'); |
58 | } else { | 58 | } else { |
59 | // 同步增加记录 | 59 | // 同步增加记录 |
60 | + record_log($this->channel, '同步数据:' . json_encode($this->model)); | ||
60 | $this->syncRecordItem($this->model); | 61 | $this->syncRecordItem($this->model); |
61 | } | 62 | } |
62 | record_log($this->channel, $this->desc, 'end'); | 63 | record_log($this->channel, $this->desc, 'end'); |
@@ -53,9 +53,10 @@ class ChatRecordJob extends BaseJob | @@ -53,9 +53,10 @@ class ChatRecordJob extends BaseJob | ||
53 | { | 53 | { |
54 | record_log($this->channel, $this->desc, 'begin'); | 54 | record_log($this->channel, $this->desc, 'begin'); |
55 | 55 | ||
56 | - if ($this->attempts() > 3) { | 56 | + if ($this->attempts() > 1) { |
57 | record_log($this->channel, '尝试次数过多'); | 57 | record_log($this->channel, '尝试次数过多'); |
58 | } else { | 58 | } else { |
59 | + record_log($this->channel, '同步数据:' . json_encode($this->model)); | ||
59 | // 同步增加记录 | 60 | // 同步增加记录 |
60 | $this->syncRecord($this->model); | 61 | $this->syncRecord($this->model); |
61 | } | 62 | } |
@@ -308,11 +308,13 @@ trait ChatTrait | @@ -308,11 +308,13 @@ trait ChatTrait | ||
308 | foreach ($data as $message) { | 308 | foreach ($data as $message) { |
309 | if ('[DONE]' === $message) { | 309 | if ('[DONE]' === $message) { |
310 | echo "0\r\n\r\n"; | 310 | echo "0\r\n\r\n"; |
311 | +// echo "[EVENT:STOPPED|DATA:DONE]\r\n\r\n"; | ||
311 | } else { | 312 | } else { |
312 | $message = json_decode($message, true); | 313 | $message = json_decode($message, true); |
313 | $content = $message['choices'][0]['delta']['content'] ?? ''; | 314 | $content = $message['choices'][0]['delta']['content'] ?? ''; |
314 | $answer .= $content; | 315 | $answer .= $content; |
315 | -// record_log('openai', '内容: ' . $content ); | 316 | + record_log('openai', '内容: ' . $content ); |
317 | + record_log('openai', '内容urlencode: ' . urlencode($content)); | ||
316 | echo urlencode($content) . "\r\n"; | 318 | echo urlencode($content) . "\r\n"; |
317 | } | 319 | } |
318 | } | 320 | } |
@@ -338,7 +340,7 @@ trait ChatTrait | @@ -338,7 +340,7 @@ trait ChatTrait | ||
338 | } | 340 | } |
339 | foreach ($data as $message) { | 341 | foreach ($data as $message) { |
340 | if ('[DONE]' === $message) { | 342 | if ('[DONE]' === $message) { |
341 | - echo "0\r\n\r\n"; | 343 | + echo "[EVENT:STOPPED|DATA:DONE]\r\n\r\n"; |
342 | } else { | 344 | } else { |
343 | $message = json_decode($message, true); | 345 | $message = json_decode($message, true); |
344 | $content = $message['choices'][0]['delta']['content'] ?? ''; | 346 | $content = $message['choices'][0]['delta']['content'] ?? ''; |
@@ -33,6 +33,7 @@ use Illuminate\Support\Arr; | @@ -33,6 +33,7 @@ use Illuminate\Support\Arr; | ||
33 | use Illuminate\Support\Collection; | 33 | use Illuminate\Support\Collection; |
34 | use Illuminate\Support\Facades\Cache; | 34 | use Illuminate\Support\Facades\Cache; |
35 | use Illuminate\Support\Facades\DB; | 35 | use Illuminate\Support\Facades\DB; |
36 | +use Illuminate\Support\Facades\Log; | ||
36 | 37 | ||
37 | /** | 38 | /** |
38 | * Class ChatRecordService | 39 | * Class ChatRecordService |
@@ -71,7 +72,7 @@ class ChatRecordService extends BaseService | @@ -71,7 +72,7 @@ class ChatRecordService extends BaseService | ||
71 | // 聊天方式 | 72 | // 聊天方式 |
72 | $type = $request->type; | 73 | $type = $request->type; |
73 | // 根据标签获取标签内容 | 74 | // 根据标签获取标签内容 |
74 | - $category_id = $request->category_id; | 75 | + $category_id = $request->category_id ? : 0; |
75 | // 默认带上下文 | 76 | // 默认带上下文 |
76 | $context = 1; | 77 | $context = 1; |
77 | $labels = []; | 78 | $labels = []; |
@@ -256,19 +257,21 @@ class ChatRecordService extends BaseService | @@ -256,19 +257,21 @@ class ChatRecordService extends BaseService | ||
256 | 257 | ||
257 | DB::beginTransaction(); | 258 | DB::beginTransaction(); |
258 | try { | 259 | try { |
259 | - $result = $model->items()->create($item); | ||
260 | - if (!$result) { | 260 | + $result1 = $model->items()->create($item); |
261 | + if (!$result1) { | ||
261 | $this->message = '聊天失败。'; | 262 | $this->message = '聊天失败。'; |
262 | return false; | 263 | return false; |
263 | } | 264 | } |
264 | 265 | ||
265 | - ChatRecordItemJob::dispatch($result); | ||
266 | - | ||
267 | // 发送消息 | 266 | // 发送消息 |
268 | - $result = $this->send($user, $model, $body, $model->context, $stream); | 267 | + $result2 = $this->send($user, $model, $body, $model->context, $stream); |
269 | DB::commit(); | 268 | DB::commit(); |
270 | 269 | ||
271 | - return $result; | 270 | + ChatRecordItemJob::dispatch($result1); |
271 | + | ||
272 | + ChatRecordItemJob::dispatch($result2); | ||
273 | + | ||
274 | + return $result2; | ||
272 | } catch (\Exception $e) { | 275 | } catch (\Exception $e) { |
273 | $this->message = $e->getMessage(); | 276 | $this->message = $e->getMessage(); |
274 | 277 | ||
@@ -352,11 +355,12 @@ class ChatRecordService extends BaseService | @@ -352,11 +355,12 @@ class ChatRecordService extends BaseService | ||
352 | $type = request('type', 1); | 355 | $type = request('type', 1); |
353 | $query = $user->chatRecords()->with(['items'])->where('type', $type); | 356 | $query = $user->chatRecords()->with(['items'])->where('type', $type); |
354 | $category_id = request('category_id'); | 357 | $category_id = request('category_id'); |
355 | - if ($type === 2) { | 358 | + if ($type == 2) { |
356 | $query = $query->where('category_id', $category_id); | 359 | $query = $query->where('category_id', $category_id); |
357 | } | 360 | } |
358 | 361 | ||
359 | $model = $query->latest()->first(); | 362 | $model = $query->latest()->first(); |
363 | + Log::info($model); | ||
360 | if (\request('test') == 1) { | 364 | if (\request('test') == 1) { |
361 | dump($model); | 365 | dump($model); |
362 | } | 366 | } |
@@ -413,7 +417,7 @@ class ChatRecordService extends BaseService | @@ -413,7 +417,7 @@ class ChatRecordService extends BaseService | ||
413 | $type = request('type', 1); | 417 | $type = request('type', 1); |
414 | $query = $user->chatRecords()->with(['items'])->where('type', $type); | 418 | $query = $user->chatRecords()->with(['items'])->where('type', $type); |
415 | $category_id = request('category_id'); | 419 | $category_id = request('category_id'); |
416 | - if ($type === 2) { | 420 | + if ($type == 2) { |
417 | $query = $query->where('category_id', $category_id); | 421 | $query = $query->where('category_id', $category_id); |
418 | } | 422 | } |
419 | 423 |
1 | <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>chatApp</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) | 1 | <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>chatApp</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) |
2 | - document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=./static/index.b0707a6a.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=./static/js/chunk-vendors.fc0b6f42.js></script><script src=./static/js/index.6ce75ea3.js></script></body></html> | 2 | + document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=./static/index.b0707a6a.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=./static/js/chunk-vendors.fc0b6f42.js></script><script src=./static/js/index.9f0b94b0.js></script></body></html> |
-
请 注册 或 登录 后发表评论