tushare 1.4.11__py3-none-any.whl → 1.4.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
tushare/__init__.py CHANGED
@@ -2,7 +2,7 @@
2
2
  import codecs
3
3
  import os
4
4
 
5
- __version__ = '1.4.11'
5
+ __version__ = '1.4.13'
6
6
  __author__ = 'Jimmy Liu'
7
7
 
8
8
  """
tushare/pro/llm.py CHANGED
@@ -14,14 +14,14 @@ BASE_URL = "http://api.waditu.com/dataapi"
14
14
  API_KEY_PREFIX = "tsgpt-"
15
15
 
16
16
 
17
- class LlmClent:
17
+ class GPTClient:
18
18
  def __init__(self, token=None, timetout=120):
19
19
  if not token:
20
20
  token = get_token()
21
21
  self.token = token
22
22
  self.timeout = timetout
23
23
 
24
- def chat_query(self, model, messages, temperature=None, max_tokens=None, pretty=False):
24
+ def _request(self, model, messages, temperature=None, max_tokens=None, stream=True, pretty=False) -> requests.Response:
25
25
  """
26
26
  model string 模型名称, doubao-pro-128k
27
27
  messages list 消息列表
@@ -36,17 +36,20 @@ class LlmClent:
36
36
  resp = requests.post(
37
37
  f'{BASE_URL}/llm/{model}',
38
38
  json={"params": {
39
- "stream": False,
39
+ "stream": stream,
40
40
  "messages": messages,
41
41
  "temperature": temperature,
42
42
  "max_tokens": max_tokens
43
43
  }},
44
44
  headers={"Authorization": f"tstoken-{self.token}"},
45
- timeout=self.timeout
45
+ timeout=self.timeout, stream=stream
46
46
  )
47
47
  if resp.status_code != 200:
48
48
  raise Exception(f"请求出现错误,{resp.content}")
49
+ return resp
49
50
 
51
+ def gpt_query(self, model, messages, temperature=None, max_tokens=None, pretty=False):
52
+ resp = self._request(model, messages, temperature, max_tokens, False, pretty)
50
53
  resp_data = resp.json()
51
54
  if resp_data.get('code') not in (0, None):
52
55
  raise Exception(resp_data['msg'])
@@ -55,32 +58,8 @@ class LlmClent:
55
58
  else:
56
59
  return resp_data
57
60
 
58
- def chat_stream(self, model, messages, temperature=None, max_tokens=None, pretty=False):
59
- """
60
- model string 模型名称, doubao-pro-128k
61
- messages list 消息列表
62
- [
63
- {
64
- "role": "user",
65
- "content": "Hello World"
66
- }
67
- ]
68
- pretty bool 是否只返回回答内容文本
69
- """
70
- resp = requests.post(
71
- f'{BASE_URL}/llm/{model}',
72
- json={"params": {
73
- "stream": True,
74
- "messages": messages,
75
- "temperature": temperature,
76
- "max_tokens": max_tokens
77
- }},
78
- headers={"Authorization": f"tstoken-{self.token}"},
79
- timeout=self.timeout, stream=True
80
- )
81
- if resp.status_code != 200:
82
- raise Exception(f"请求出现错误,{resp.content}")
83
-
61
+ def gpt_stream(self, model, messages, temperature=None, max_tokens=None, pretty=False):
62
+ resp = self._request(model, messages, temperature, max_tokens, True, pretty)
84
63
  for e in sseclient.SSEClient(resp).events():
85
64
  e_data = json.loads(e.data)
86
65
  if pretty:
@@ -88,24 +67,31 @@ class LlmClent:
88
67
  else:
89
68
  yield e_data
90
69
 
70
+ def gpt(self, model, query) -> str:
71
+ messages = [{
72
+ "role": "user",
73
+ "content": query
74
+ }]
75
+ return self.gpt_query(model, messages, pretty=True)
76
+
91
77
 
92
- def test_chart_query():
93
- c = LlmClent()
94
- dd = c.chat_query("doubao-pro-128k", [{
78
+ def test_gpt_query():
79
+ c = GPTClient()
80
+ dd = c.gpt_query("doubao-pro-128k", [{
95
81
  "role": "user",
96
82
  "content": "你好"
97
83
  }])
98
84
  print(dd)
99
- dd = c.chat_query("doubao-pro-128k", [{
85
+ dd = c.gpt_query("doubao-pro-128k", [{
100
86
  "role": "user",
101
87
  "content": "你好"
102
88
  }], pretty=True)
103
89
  print(dd)
104
90
 
105
91
 
106
- def test_chart_stream():
107
- c = LlmClent()
108
- dd = c.chat_stream("doubao-pro-128k", [
92
+ def test_gpt_stream():
93
+ c = GPTClient()
94
+ dd = c.gpt_stream("doubao-pro-128k", [
109
95
  {
110
96
  "role": "user",
111
97
  "content": "你好"
@@ -114,7 +100,7 @@ def test_chart_stream():
114
100
  for d in dd:
115
101
  print(d)
116
102
 
117
- dd = c.chat_stream("doubao-pro-128k", [
103
+ dd = c.gpt_stream("doubao-pro-128k", [
118
104
  {
119
105
  "role": "user",
120
106
  "content": "你好"
@@ -122,3 +108,9 @@ def test_chart_stream():
122
108
  ], pretty=True)
123
109
  for d in dd:
124
110
  print(d)
111
+
112
+
113
+ def test_gpt():
114
+ c = GPTClient()
115
+ dd = c.gpt("doubao-pro-128k", "你好")
116
+ print(dd)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tushare
3
- Version: 1.4.11
3
+ Version: 1.4.13
4
4
  Summary: A utility for crawling historical and Real-time Quotes data of China stocks
5
5
  Home-page: https://tushare.pro
6
6
  Author: Jimmy Liu
@@ -1,4 +1,4 @@
1
- tushare/__init__.py,sha256=0pbsHHIjb5rX0pfMWnvQJW2suebAN9kh8pHagccYoGE,4765
1
+ tushare/__init__.py,sha256=qwKDSMvh3WbshnQP2JjgCyIzZZb874LlAvhB9VAYlm4,4765
2
2
  tushare/bond/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  tushare/bond/bonds.py,sha256=PJM0xDiWZDpOPwDtbEU9PdP0M_Gu0c599YuB1rbZ3r8,232
4
4
  tushare/coins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -19,7 +19,7 @@ tushare/internet/indexes.py,sha256=oteQCv0k2X0pbhXRHwMSviD1AowJWE6xRjKkqr5RNCo,3
19
19
  tushare/pro/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  tushare/pro/client.py,sha256=w7LfXtlmSd4Aiq7Bz5-tPFfkfjrPS_7jroUiRs7BUWw,1388
21
21
  tushare/pro/data_pro.py,sha256=SOHbK-j9CmZguuv0CLIT-Z3hUynEy96mbvvhrGN6y9I,10883
22
- tushare/pro/llm.py,sha256=OB0LL6YUbGSeat2nA-gP78kPiRCjgQzgIYNc4OJIDFI,3558
22
+ tushare/pro/llm.py,sha256=TQi0Zk-UZESBaH9qwEY0f4VofrGkCl-4ajFn-IksW2s,3355
23
23
  tushare/stock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  tushare/stock/billboard.py,sha256=vCrbN7-NGXSpXMc8jq7NcjjHyu9pTcr4uXp559iA1wA,12833
25
25
  tushare/stock/classifying.py,sha256=3yWqlLhgj2irk-9ksKWFFS5HY-SnjfEr5erwJxBidG8,10539
@@ -72,8 +72,8 @@ tushare/util/verify_token.py,sha256=cuV3RErWbOC318NANCYL6K1LKZ3wSAL2yMwZHA7tD3s,
72
72
  tushare/util/protobuf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  tushare/util/protobuf/funcs.py,sha256=UCdK8FxTyjPZsNzoEeXqYzqrQXUmRMvW5hua6GPA66A,779
74
74
  tushare/util/protobuf/response_pb2.py,sha256=vJH9ONkDuJlg6y-q1PvuDZoviKrK7hzNtMieQHK45DI,11347
75
- tushare-1.4.11.dist-info/LICENSE,sha256=C2j55UI0Ul-1-wA1-rn7OaY6b3vGl4YukiyvYzHsU9o,1503
76
- tushare-1.4.11.dist-info/METADATA,sha256=yKFizbLlZ3y5RnGGiMw6CkJTqTwSL4ZTYVcLD20MPN4,2839
77
- tushare-1.4.11.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
78
- tushare-1.4.11.dist-info/top_level.txt,sha256=HHOxMuqc31KuAIcxpE0t5dAPMKbaiRtjsjTMFd7FlXI,8
79
- tushare-1.4.11.dist-info/RECORD,,
75
+ tushare-1.4.13.dist-info/LICENSE,sha256=C2j55UI0Ul-1-wA1-rn7OaY6b3vGl4YukiyvYzHsU9o,1503
76
+ tushare-1.4.13.dist-info/METADATA,sha256=DC65n8RDTT4yM6ZOVjaXRLlKwywunlkC3OaqYzEX_U4,2839
77
+ tushare-1.4.13.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
78
+ tushare-1.4.13.dist-info/top_level.txt,sha256=HHOxMuqc31KuAIcxpE0t5dAPMKbaiRtjsjTMFd7FlXI,8
79
+ tushare-1.4.13.dist-info/RECORD,,