tushare 1.4.10__py3-none-any.whl → 1.4.12__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.10'
5
+ __version__ = '1.4.12'
6
6
  __author__ = 'Jimmy Liu'
7
7
 
8
8
  """
tushare/pro/llm.py ADDED
@@ -0,0 +1,124 @@
1
+ import json
2
+
3
+ import requests
4
+ try:
5
+ import sseclient
6
+ except:
7
+ raise ImportError("sseclient not found, please install it using 'pip install sseclient-py'.")
8
+
9
+
10
+ from tushare import get_token
11
+
12
+ BASE_URL = "http://api.waditu.com/dataapi"
13
+ # BASE_URL = "http://127.0.0.1:8000/dataapi"
14
+ API_KEY_PREFIX = "tsgpt-"
15
+
16
+
17
+ class LlmClient:
18
+ def __init__(self, token=None, timetout=120):
19
+ if not token:
20
+ token = get_token()
21
+ self.token = token
22
+ self.timeout = timetout
23
+
24
+ def chat_query(self, model, messages, temperature=None, max_tokens=None, pretty=False):
25
+ """
26
+ model string 模型名称, doubao-pro-128k
27
+ messages list 消息列表
28
+ [
29
+ {
30
+ "role": "user",
31
+ "content": "Hello World"
32
+ }
33
+ ]
34
+ pretty bool 是否只返回回答内容文本
35
+ """
36
+ resp = requests.post(
37
+ f'{BASE_URL}/llm/{model}',
38
+ json={"params": {
39
+ "stream": False,
40
+ "messages": messages,
41
+ "temperature": temperature,
42
+ "max_tokens": max_tokens
43
+ }},
44
+ headers={"Authorization": f"tstoken-{self.token}"},
45
+ timeout=self.timeout
46
+ )
47
+ if resp.status_code != 200:
48
+ raise Exception(f"请求出现错误,{resp.content}")
49
+
50
+ resp_data = resp.json()
51
+ if resp_data.get('code') not in (0, None):
52
+ raise Exception(resp_data['msg'])
53
+ if pretty:
54
+ return resp_data['choices'][0]["message"]["content"]
55
+ else:
56
+ return resp_data
57
+
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
+
84
+ for e in sseclient.SSEClient(resp).events():
85
+ e_data = json.loads(e.data)
86
+ if pretty:
87
+ yield e_data["choices"][0]["delta"]["content"]
88
+ else:
89
+ yield e_data
90
+
91
+
92
+ def test_chart_query():
93
+ c = LlmClient()
94
+ dd = c.chat_query("doubao-pro-128k", [{
95
+ "role": "user",
96
+ "content": "你好"
97
+ }])
98
+ print(dd)
99
+ dd = c.chat_query("doubao-pro-128k", [{
100
+ "role": "user",
101
+ "content": "你好"
102
+ }], pretty=True)
103
+ print(dd)
104
+
105
+
106
+ def test_chart_stream():
107
+ c = LlmClient()
108
+ dd = c.chat_stream("doubao-pro-128k", [
109
+ {
110
+ "role": "user",
111
+ "content": "你好"
112
+ }
113
+ ])
114
+ for d in dd:
115
+ print(d)
116
+
117
+ dd = c.chat_stream("doubao-pro-128k", [
118
+ {
119
+ "role": "user",
120
+ "content": "你好"
121
+ }
122
+ ], pretty=True)
123
+ for d in dd:
124
+ print(d)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tushare
3
- Version: 1.4.10
3
+ Version: 1.4.12
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=8yF2REriCYD3iDufFWimHXRrkff2NxiEJqffrWR1EwA,4765
1
+ tushare/__init__.py,sha256=jyET1cC5S1mBEZSSBRhY1j9eacrqXF3pyXTUv5ouuko,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,6 +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=gmc8vG7Vzv9JlusiWnSLEmcPX8X-NN-WkLUk4ibB5E8,3561
22
23
  tushare/stock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
24
  tushare/stock/billboard.py,sha256=vCrbN7-NGXSpXMc8jq7NcjjHyu9pTcr4uXp559iA1wA,12833
24
25
  tushare/stock/classifying.py,sha256=3yWqlLhgj2irk-9ksKWFFS5HY-SnjfEr5erwJxBidG8,10539
@@ -71,8 +72,8 @@ tushare/util/verify_token.py,sha256=cuV3RErWbOC318NANCYL6K1LKZ3wSAL2yMwZHA7tD3s,
71
72
  tushare/util/protobuf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
73
  tushare/util/protobuf/funcs.py,sha256=UCdK8FxTyjPZsNzoEeXqYzqrQXUmRMvW5hua6GPA66A,779
73
74
  tushare/util/protobuf/response_pb2.py,sha256=vJH9ONkDuJlg6y-q1PvuDZoviKrK7hzNtMieQHK45DI,11347
74
- tushare-1.4.10.dist-info/LICENSE,sha256=C2j55UI0Ul-1-wA1-rn7OaY6b3vGl4YukiyvYzHsU9o,1503
75
- tushare-1.4.10.dist-info/METADATA,sha256=i4KoKwZ6XIAWEPTd5rvST6NFXoS7Yu9qfkCBQOFYQqg,2839
76
- tushare-1.4.10.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
77
- tushare-1.4.10.dist-info/top_level.txt,sha256=HHOxMuqc31KuAIcxpE0t5dAPMKbaiRtjsjTMFd7FlXI,8
78
- tushare-1.4.10.dist-info/RECORD,,
75
+ tushare-1.4.12.dist-info/LICENSE,sha256=C2j55UI0Ul-1-wA1-rn7OaY6b3vGl4YukiyvYzHsU9o,1503
76
+ tushare-1.4.12.dist-info/METADATA,sha256=qrBJtq0rMmPCKXiSMP4LdbS3AlQjAklBxtLhQvfscgw,2839
77
+ tushare-1.4.12.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
78
+ tushare-1.4.12.dist-info/top_level.txt,sha256=HHOxMuqc31KuAIcxpE0t5dAPMKbaiRtjsjTMFd7FlXI,8
79
+ tushare-1.4.12.dist-info/RECORD,,