bisheng-langchain 0.3.3.dev2__py3-none-any.whl → 0.3.4__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.
@@ -93,18 +93,32 @@ class ElemUnstructuredLoader(BasePDFLoader):
93
93
  resp = resp.json()
94
94
  if 200 != resp.get('status_code'):
95
95
  logger.info(f'file partition {os.path.basename(self.file_name)} error resp={resp}')
96
+ raise Exception(f'file partition error {os.path.basename(self.file_name)} error resp={resp}')
96
97
  partitions = resp['partitions']
97
- if not partitions:
98
- logger.info(f'partition_error resp={resp}')
98
+ if partitions:
99
+ logger.info(f'content_from_partitions')
100
+ content, metadata = merge_partitions(partitions)
101
+ elif resp.get('text'):
102
+ logger.info(f'content_from_text')
103
+ content = resp['text']
104
+ metadata = {
105
+ "bboxes": [],
106
+ "pages": [],
107
+ "indexes": [],
108
+ "types": [],
109
+ }
110
+ else:
111
+ logger.warning(f'content_is_empty resp={resp}')
112
+ content = ''
113
+ metadata = {}
114
+
99
115
  logger.info(f'unstruct_return code={resp.get("status_code")}')
100
116
 
101
117
  if resp.get('b64_pdf'):
102
118
  with open(self.file_path, 'wb') as f:
103
119
  f.write(base64.b64decode(resp['b64_pdf']))
104
120
 
105
- content, metadata = merge_partitions(partitions)
106
121
  metadata['source'] = self.file_name
107
-
108
122
  doc = Document(page_content=content, metadata=metadata)
109
123
  return [doc]
110
124
 
@@ -27,6 +27,7 @@ from langchain_core.language_models import BaseLanguageModel
27
27
  from langchain_core.tools import BaseTool, Tool
28
28
  from mypy_extensions import Arg, KwArg
29
29
  from bisheng_langchain.rag import BishengRAGTool
30
+ from bisheng_langchain.utils.azure_dalle_image_generator import AzureDallEWrapper
30
31
 
31
32
 
32
33
  def _get_current_time() -> BaseTool:
@@ -59,17 +60,22 @@ def _get_bing_search(**kwargs: Any) -> BaseTool:
59
60
 
60
61
 
61
62
  def _get_dalle_image_generator(**kwargs: Any) -> Tool:
62
- openai_api_key = kwargs.get('openai_api_key')
63
- openai_api_base = kwargs.get('openai_api_base')
64
- http_async_client = httpx.AsyncClient(proxies=kwargs.get('openai_proxy'))
65
- httpc_client = httpx.Client(proxies=kwargs.get('openai_proxy'))
63
+ if kwargs.get('openai_proxy'):
64
+ kwargs['http_async_client'] = httpx.AsyncClient(proxies=kwargs.get('openai_proxy'))
65
+ kwargs['http_client'] = httpx.Client(proxies=kwargs.get('openai_proxy'))
66
+
67
+ # 说明是azure的openai配置
68
+ if kwargs.get("azure_endpoint"):
69
+ kwargs['api_key'] = kwargs.pop('openai_api_key')
70
+ kwargs['api_version'] = kwargs.pop('openai_api_version')
71
+ return DallEImageGenerator(
72
+ api_wrapper=AzureDallEWrapper(**kwargs)
73
+ )
74
+
66
75
  return DallEImageGenerator(
67
76
  api_wrapper=DallEAPIWrapper(
68
77
  model='dall-e-3',
69
- api_key=openai_api_key,
70
- base_url=openai_api_base,
71
- http_client=httpc_client,
72
- http_async_client=http_async_client,
78
+ **kwargs
73
79
  )
74
80
  )
75
81
 
@@ -83,11 +89,16 @@ def _get_native_code_interpreter(**kwargs: Any) -> Tool:
83
89
 
84
90
 
85
91
  # 第二个list内填必填参数,第三个list内填可选参数
86
- _EXTRA_PARAM_TOOLS: Dict[str, Tuple[Callable[[KwArg(Any)], BaseTool], List[Optional[str]], List[Optional[str]]]] = { # type: ignore
87
- 'dalle_image_generator': (_get_dalle_image_generator, ['openai_api_key', 'openai_proxy'], []),
92
+ _EXTRA_PARAM_TOOLS: Dict[str, Tuple[Callable[[KwArg(Any)], BaseTool], List[Optional[str]], List[Optional[str]]]] = {
93
+ # type: ignore
94
+ 'dalle_image_generator': (_get_dalle_image_generator,
95
+ ['openai_api_key'],
96
+ ['openai_api_base', 'openai_proxy', 'azure_deployment', 'azure_endpoint', 'openai_api_version']),
88
97
  'bing_search': (_get_bing_search, ['bing_subscription_key', 'bing_search_url'], []),
89
98
  'bisheng_code_interpreter': (_get_native_code_interpreter, ["minio"], ['files']),
90
- 'bisheng_rag': (BishengRAGTool.get_rag_tool, ['name', 'description'], ['vector_store', 'keyword_store', 'llm', 'collection_name', 'max_content', 'sort_by_source_and_index']),
99
+ 'bisheng_rag': (BishengRAGTool.get_rag_tool, ['name', 'description'],
100
+ ['vector_store', 'keyword_store', 'llm', 'collection_name', 'max_content',
101
+ 'sort_by_source_and_index']),
91
102
  }
92
103
 
93
104
  _API_TOOLS: Dict[str, Tuple[Callable[[KwArg(Any)], BaseTool], List[str]]] = {**ALL_API_TOOLS} # type: ignore
@@ -114,10 +125,10 @@ def _handle_callbacks(callback_manager: Optional[BaseCallbackManager], callbacks
114
125
 
115
126
 
116
127
  def load_tools(
117
- tool_params: Dict[str, Dict[str, Any]],
118
- llm: Optional[BaseLanguageModel] = None,
119
- callbacks: Callbacks = None,
120
- **kwargs: Any,
128
+ tool_params: Dict[str, Dict[str, Any]],
129
+ llm: Optional[BaseLanguageModel] = None,
130
+ callbacks: Callbacks = None,
131
+ **kwargs: Any,
121
132
  ) -> List[BaseTool]:
122
133
  tools = []
123
134
  callbacks = _handle_callbacks(callback_manager=kwargs.get('callback_manager'), callbacks=callbacks)
@@ -171,7 +182,6 @@ def get_all_tool_names() -> List[str]:
171
182
 
172
183
 
173
184
  def get_tool_table():
174
-
175
185
  load_dotenv('.sql_env', override=True)
176
186
  db = pymysql.connect(
177
187
  host=os.getenv('MYSQL_HOST'),
@@ -184,7 +194,7 @@ def get_tool_table():
184
194
  cursor.execute("SELECT name, t.desc, tool_key, extra FROM t_gpts_tools as t;")
185
195
  results = cursor.fetchall()
186
196
  db.close()
187
-
197
+
188
198
  df = pd.DataFrame(
189
199
  columns=[
190
200
  '前端工具名',
@@ -145,7 +145,10 @@ class StockInfo(APIToolBase):
145
145
  if resp.status_code != 200:
146
146
  logger.info('api_call_fail res={}', resp.text)
147
147
  k_data = resp.text
148
- data_array = json.loads(kLinePattern.search(k_data).group(1))
148
+ k_data = kLinePattern.search(k_data)
149
+ if not k_data:
150
+ return '{}'
151
+ data_array = json.loads(k_data.group(1))
149
152
  for item in data_array:
150
153
  if item.get('day') == date:
151
154
  return json.dumps(item)
@@ -173,7 +176,10 @@ class StockInfo(APIToolBase):
173
176
  count = datetime.today() - date_obj
174
177
  url = self.url.format(stockName=stock_number, stock=stock, count=count.days)
175
178
  k_data = await self.async_client.aget(url)
176
- data_array = json.loads(kLinePattern.search(k_data).group(1))
179
+ k_data = kLinePattern.search(k_data)
180
+ if not k_data:
181
+ return '{}'
182
+ data_array = json.loads(k_data.group(1))
177
183
  for item in data_array:
178
184
  if item.get('day') == date:
179
185
  return json.dumps(item)
@@ -10,6 +10,8 @@ from langchain_core.pydantic_v1 import BaseModel, Extra, Field, root_validator
10
10
  from langchain_core.tools import BaseTool
11
11
  from langchain_core.utils import get_from_dict_or_env, get_pydantic_field_names
12
12
 
13
+ from bisheng_langchain.utils.azure_dalle_image_generator import AzureDallEWrapper
14
+
13
15
  logger = logging.getLogger(__name__)
14
16
 
15
17
 
@@ -170,7 +172,7 @@ class DallEImageGenerator(BaseTool):
170
172
  "A wrapper around OpenAI DALL-E API. Useful for when you need to generate images from a text description. Input should be an image description."
171
173
  )
172
174
  args_schema: Type[BaseModel] = DallEInput
173
- api_wrapper: DallEAPIWrapper
175
+ api_wrapper: DallEAPIWrapper | AzureDallEWrapper
174
176
 
175
177
  def _run(
176
178
  self,
@@ -118,7 +118,7 @@ class ElemCharacterTextSplitter(RecursiveCharacterTextSplitter):
118
118
  break
119
119
  if re.search(_separator, text):
120
120
  separator = _s
121
- new_separators = separators[i + 1 :]
121
+ new_separators = separators[i + 1:]
122
122
  break
123
123
 
124
124
  _separator = separator if self._is_separator_regex else re.escape(separator)
@@ -164,45 +164,45 @@ class ElemCharacterTextSplitter(RecursiveCharacterTextSplitter):
164
164
  split_texts = self.split_text(text)
165
165
  for chunk in split_texts:
166
166
  new_metadata = copy.deepcopy(metadatas[i])
167
- index = text.find(chunk, index + 1)
168
- inter0 = [index, index + len(chunk) - 1]
169
- norm_inter = searcher.find(inter0)
170
- new_metadata['chunk_bboxes'] = []
171
- for j in range(norm_inter[0], norm_inter[1] + 1):
172
- new_metadata['chunk_bboxes'].append(
173
- {'page': pages[j], 'bbox': bboxes[j]})
174
-
175
- c = Counter([types[j] for j in norm_inter])
176
- chunk_type = c.most_common(1)[0][0]
177
- new_metadata['chunk_type'] = chunk_type
178
- new_metadata['source'] = metadatas[i].get('source', '')
179
-
180
-
181
- # for chunk in split_texts:
182
- # new_metadata = {}
183
- # new_metadata['chunk_type'] = metadata.get('chunk_type', 'paragraph')
184
- # new_metadata['bboxes'] = metadata.get('bboxes', [])
185
- # new_metadata['source'] = metadata.get('source', '')
186
- # # chunk's start index in text
187
- # index = text.find(chunk, index + 1)
188
- # new_metadata['start'] = metadata.get('start', 0) + index
189
- # new_metadata['end'] = metadata.get('start', 0) + index + len(chunk) - 1
190
-
191
- # if 'page' in metadata:
192
- # new_metadata['page'] = metadata['page'][new_metadata['start']:new_metadata['end']+1]
193
- # if 'token_to_bbox' in metadata:
194
- # new_metadata['token_to_bbox'] = metadata['token_to_bbox'][new_metadata['start']:new_metadata['end']+1]
195
-
196
- # if 'page' in new_metadata and 'token_to_bbox' in new_metadata:
197
- # box_no_duplicates = set()
198
- # for index in range(len(new_metadata['page'])):
199
- # box_no_duplicates.add(
200
- # (new_metadata['page'][index], new_metadata['token_to_bbox'][index]))
201
-
202
- # new_metadata['chunk_bboxes'] = []
203
- # for elem in box_no_duplicates:
204
- # new_metadata['chunk_bboxes'].append(
205
- # {'page': elem[0], 'bbox': new_metadata['bboxes'][elem[1]]})
167
+ if indexes and bboxes:
168
+ index = text.find(chunk, index + 1)
169
+ inter0 = [index, index + len(chunk) - 1]
170
+ norm_inter = searcher.find(inter0)
171
+ new_metadata['chunk_bboxes'] = []
172
+ for j in range(norm_inter[0], norm_inter[1] + 1):
173
+ new_metadata['chunk_bboxes'].append(
174
+ {'page': pages[j], 'bbox': bboxes[j]})
175
+
176
+ c = Counter([types[j] for j in norm_inter])
177
+ chunk_type = c.most_common(1)[0][0]
178
+ new_metadata['chunk_type'] = chunk_type
179
+ new_metadata['source'] = metadatas[i].get('source', '')
180
+
181
+ # for chunk in split_texts:
182
+ # new_metadata = {}
183
+ # new_metadata['chunk_type'] = metadata.get('chunk_type', 'paragraph')
184
+ # new_metadata['bboxes'] = metadata.get('bboxes', [])
185
+ # new_metadata['source'] = metadata.get('source', '')
186
+ # # chunk's start index in text
187
+ # index = text.find(chunk, index + 1)
188
+ # new_metadata['start'] = metadata.get('start', 0) + index
189
+ # new_metadata['end'] = metadata.get('start', 0) + index + len(chunk) - 1
190
+
191
+ # if 'page' in metadata:
192
+ # new_metadata['page'] = metadata['page'][new_metadata['start']:new_metadata['end']+1]
193
+ # if 'token_to_bbox' in metadata:
194
+ # new_metadata['token_to_bbox'] = metadata['token_to_bbox'][new_metadata['start']:new_metadata['end']+1]
195
+
196
+ # if 'page' in new_metadata and 'token_to_bbox' in new_metadata:
197
+ # box_no_duplicates = set()
198
+ # for index in range(len(new_metadata['page'])):
199
+ # box_no_duplicates.add(
200
+ # (new_metadata['page'][index], new_metadata['token_to_bbox'][index]))
201
+
202
+ # new_metadata['chunk_bboxes'] = []
203
+ # for elem in box_no_duplicates:
204
+ # new_metadata['chunk_bboxes'].append(
205
+ # {'page': elem[0], 'bbox': new_metadata['bboxes'][elem[1]]})
206
206
 
207
207
  new_doc = Document(page_content=chunk, metadata=new_metadata)
208
208
  documents.append(new_doc)
@@ -127,12 +127,9 @@ class AzureDallEWrapper(DallEAPIWrapper):
127
127
  values['default_query'],
128
128
  }
129
129
  if not values.get('client'):
130
- sync_specific = {'http_client': values['http_client']}
131
- values['client'] = openai.AzureOpenAI(**client_params, **sync_specific).images
130
+ values['client'] = openai.AzureOpenAI(**client_params).images
132
131
  if not values.get('async_client'):
133
- async_specific = {'http_client': values['http_async_client']}
134
- values['async_client'] = openai.AsyncAzureOpenAI(**client_params,
135
- **async_specific).images
132
+ values['async_client'] = openai.AsyncAzureOpenAI(**client_params).images
136
133
  return values
137
134
 
138
135
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bisheng-langchain
3
- Version: 0.3.3.dev2
3
+ Version: 0.3.4
4
4
  Summary: bisheng langchain modules
5
5
  Home-page: https://github.com/dataelement/bisheng
6
6
  Author: DataElem
@@ -16,23 +16,23 @@ Classifier: License :: OSI Approved :: Apache Software License
16
16
  Classifier: Operating System :: OS Independent
17
17
  Requires-Python: >=3.6
18
18
  Description-Content-Type: text/markdown
19
- Requires-Dist: langchain ==0.1.12
19
+ Requires-Dist: langchain==0.1.12
20
20
  Requires-Dist: zhipuai
21
21
  Requires-Dist: websocket-client
22
22
  Requires-Dist: elasticsearch
23
- Requires-Dist: opencv-python ==4.5.5.64
24
- Requires-Dist: Pillow ==9.5.0
23
+ Requires-Dist: opencv-python==4.5.5.64
24
+ Requires-Dist: Pillow==9.5.0
25
25
  Requires-Dist: bisheng-pyautogen
26
- Requires-Dist: jieba ==0.42.1
27
- Requires-Dist: pydantic ==1.10.13
28
- Requires-Dist: pymupdf ==1.23.8
29
- Requires-Dist: shapely ==2.0.2
30
- Requires-Dist: filetype ==1.2.0
31
- Requires-Dist: langgraph ==0.0.50
32
- Requires-Dist: openai ==1.14.3
33
- Requires-Dist: langchain-openai ==0.1.0
34
- Requires-Dist: llama-index ==0.9.48
35
- Requires-Dist: bisheng-ragas ==1.0.0
26
+ Requires-Dist: jieba==0.42.1
27
+ Requires-Dist: pydantic==1.10.13
28
+ Requires-Dist: pymupdf==1.23.8
29
+ Requires-Dist: shapely==2.0.2
30
+ Requires-Dist: filetype==1.2.0
31
+ Requires-Dist: langgraph==0.0.50
32
+ Requires-Dist: openai==1.14.3
33
+ Requires-Dist: langchain-openai==0.1.5
34
+ Requires-Dist: llama-index==0.9.48
35
+ Requires-Dist: bisheng-ragas==1.0.0
36
36
 
37
37
  ## What is bisheng-langchain?
38
38
 
@@ -1,5 +1,5 @@
1
1
  bisheng_langchain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- bisheng_langchain/text_splitter.py,sha256=8snY_Fojh-A1EEGXBSEqCh0N77KQc_dqsgeptAlf344,7934
2
+ bisheng_langchain/text_splitter.py,sha256=sxb8hkWb0tVKBDxp8767y2nv3hGktavb5-dFF4C81qw,8103
3
3
  bisheng_langchain/agents/__init__.py,sha256=ctsKj77fS8qlkhz_9sS_AhCjFvFNxEpJ9KBYVrApLRg,226
4
4
  bisheng_langchain/agents/chatglm_functions_agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  bisheng_langchain/agents/chatglm_functions_agent/base.py,sha256=tyytq0XIFXpfxDP0s5QKeprKOunMqi1fHMfQ0-kOmDE,13674
@@ -54,7 +54,7 @@ bisheng_langchain/document_loaders/custom_kv.py,sha256=xWUPhcr1hjbdya4zgEHG4Fl0s
54
54
  bisheng_langchain/document_loaders/elem_html.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  bisheng_langchain/document_loaders/elem_image.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
56
  bisheng_langchain/document_loaders/elem_pdf.py,sha256=K-TXILGNFLFjavhun_MFbUF4t2_WGA3Z-kbnr75lmW8,22243
57
- bisheng_langchain/document_loaders/elem_unstrcutured_loader.py,sha256=FtoyfmE85CwZuMvr52_bqcHQCgypKCWMGwLZrzgQYbY,7353
57
+ bisheng_langchain/document_loaders/elem_unstrcutured_loader.py,sha256=w-nPSoTdaSu6_oZX-Ah8bnVPhOCm4O2UvFWLgJ1n5eY,7850
58
58
  bisheng_langchain/document_loaders/universal_kv.py,sha256=ZdIgFIc2fH2kkvJNb7j2wi6FLS_PaaatVy6z_YNV2hw,4114
59
59
  bisheng_langchain/document_loaders/parsers/__init__.py,sha256=OOM_FJkwaU-zNS58fASw0TH8FNT6VXKb0VrvisgdrII,171
60
60
  bisheng_langchain/document_loaders/parsers/ellm_client.py,sha256=Y_CRYwBr-gFArOirF1b76KyI5N8eVpsLeDiIsKtYkpU,1641
@@ -73,7 +73,7 @@ bisheng_langchain/gpts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
73
73
  bisheng_langchain/gpts/assistant.py,sha256=jPGVjPhqx-z4nvEHVsprWLqAVbO99Uus_GADAPASXQE,5438
74
74
  bisheng_langchain/gpts/auto_optimization.py,sha256=WNsC19rgvuDYQlSIaYThq5RqCbuobDbzCwAJW4Ksw0c,3626
75
75
  bisheng_langchain/gpts/auto_tool_selected.py,sha256=21WETf9o0YS-QEBwv3mmZRObKWszefQkXEqAA6KzoaM,1582
76
- bisheng_langchain/gpts/load_tools.py,sha256=LiiK1OqFu7Ki-F_Rhfi1rgp0wBQCSrTDdqsgwciTOIU,8099
76
+ bisheng_langchain/gpts/load_tools.py,sha256=U0DTN53bCXWZ26dlx9ZEPXO42Uvt72Q8mqKWcaBVQYo,8488
77
77
  bisheng_langchain/gpts/message_types.py,sha256=7EJOx62j9E1U67jxWgxE_I7a8IjAvvKANknXkD2gFm0,213
78
78
  bisheng_langchain/gpts/utils.py,sha256=t3YDxaJ0OYd6EKsek7PJFRYnsezwzEFK5oVU-PRbu5g,6671
79
79
  bisheng_langchain/gpts/agent_types/__init__.py,sha256=88tFt1GfrfIqa4hCg0cMJk7rTeUmCSSdiVhR41CW4rM,381
@@ -93,7 +93,7 @@ bisheng_langchain/gpts/tools/api_tools/base.py,sha256=fWQSDIOVb4JZrtJ9ML9q2ycsAa
93
93
  bisheng_langchain/gpts/tools/api_tools/flow.py,sha256=ot2YAYgQGWgUpb2nCECAmpqHY6m0SgzwkupF9kDT3lU,2461
94
94
  bisheng_langchain/gpts/tools/api_tools/macro_data.py,sha256=FyG-qtl2ECS1CDKt6olN0eDTDM91d-UvDkMDBiVLgYQ,27429
95
95
  bisheng_langchain/gpts/tools/api_tools/openapi.py,sha256=CzKt9FRkgngBcWgabD4emPqAXkAgagkD-pMjG680MTE,3903
96
- bisheng_langchain/gpts/tools/api_tools/sina.py,sha256=GGA4ZYvNEpqBZ_l8MUYqgkI8xZe9XcGa9-KlHZVqr6I,9542
96
+ bisheng_langchain/gpts/tools/api_tools/sina.py,sha256=4KpK7_HUUtjpdJ-K4LjPlb-occyAZcRtmmCWqJ2BotE,9708
97
97
  bisheng_langchain/gpts/tools/api_tools/tianyancha.py,sha256=abDAz-yAH1-2rKiSmZ6TgnrNUnpgAZpDY8oDiWfWapc,6684
98
98
  bisheng_langchain/gpts/tools/bing_search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
99
  bisheng_langchain/gpts/tools/bing_search/tool.py,sha256=v_VlqcMplITA5go5qWA4qZ5p43E1-1s0bzmyY7H0hqY,1710
@@ -102,7 +102,7 @@ bisheng_langchain/gpts/tools/calculator/tool.py,sha256=iwGPE7jvxZg_jUL2Aq9HHwnRJ
102
102
  bisheng_langchain/gpts/tools/code_interpreter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
103
  bisheng_langchain/gpts/tools/code_interpreter/tool.py,sha256=1VLkgngRR0k8YjA4eYkfPd1E7fD29tMKpqtCtn7WwYE,11443
104
104
  bisheng_langchain/gpts/tools/dalle_image_generator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- bisheng_langchain/gpts/tools/dalle_image_generator/tool.py,sha256=mhxdNNhBESjbOy30Rnp6hQhnrV4evQpv-B1fFXcU-68,7528
105
+ bisheng_langchain/gpts/tools/dalle_image_generator/tool.py,sha256=h_mSGn2fvw4wGufrqKYC3lI1LLo9Uu_rynDM88IonMA,7631
106
106
  bisheng_langchain/gpts/tools/get_current_time/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  bisheng_langchain/gpts/tools/get_current_time/tool.py,sha256=3uvk7Yu07qhZy1sBrFMhGEwyxEGMB8vubizs9x-6DG8,801
108
108
  bisheng_langchain/input_output/__init__.py,sha256=sW_GB7MlrHYsqY1Meb_LeimQqNsMz1gH-00Tqb2BUyM,153
@@ -147,13 +147,13 @@ bisheng_langchain/retrievers/mix_es_vector.py,sha256=dSrrsuMPSgGiu181EOzACyIKiDX
147
147
  bisheng_langchain/sql/__init__.py,sha256=2arRtNQ-kUvIsy_8v_PrLxf5r9W-S7mbqptG_l4_1RE,88
148
148
  bisheng_langchain/sql/base.py,sha256=WNHCy16UoxvDbroHnJq8CsZ9ot4NGflCm8Bgiv45kks,6152
149
149
  bisheng_langchain/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
- bisheng_langchain/utils/azure_dalle_image_generator.py,sha256=wbOIrVX8lN8zZni0GjUpwKBESy0TmlqrGLZCY5PbUsM,6819
150
+ bisheng_langchain/utils/azure_dalle_image_generator.py,sha256=96-_nO4hDSwyPE4rSYop5SgJ-U9CE2un4bTdW0E5RGU,6582
151
151
  bisheng_langchain/utils/requests.py,sha256=vWGKyNTxApVeaVdKxqACfIT1Q8wMy-jC3kUv2Ce9Mzc,8688
152
152
  bisheng_langchain/vectorstores/__init__.py,sha256=zCZgDe7LyQ0iDkfcm5UJ5NxwKQSRHnqrsjx700Fy11M,213
153
153
  bisheng_langchain/vectorstores/elastic_keywords_search.py,sha256=Pm1rS50GJ0HWbjBsFDgs28SVuVbjGSRPOor6yJlnE7w,13347
154
154
  bisheng_langchain/vectorstores/milvus.py,sha256=8HHbIxoSbLYDFlFJSfmjLOfqGpOSZd24iVYWSYz3TX0,36637
155
155
  bisheng_langchain/vectorstores/retriever.py,sha256=hj4nAAl352EV_ANnU2OHJn7omCH3nBK82ydo14KqMH4,4353
156
- bisheng_langchain-0.3.3.dev2.dist-info/METADATA,sha256=9JMcguR6d_cAwkNX3ynYJi55rnk6PjZSqfUIXH9gnG4,2489
157
- bisheng_langchain-0.3.3.dev2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
158
- bisheng_langchain-0.3.3.dev2.dist-info/top_level.txt,sha256=Z6pPNyCo4ihyr9iqGQbH8sJiC4dAUwA_mAyGRQB5_Fs,18
159
- bisheng_langchain-0.3.3.dev2.dist-info/RECORD,,
156
+ bisheng_langchain-0.3.4.dist-info/METADATA,sha256=il6IjNh5LgqBuwkgvMbAXgsjX1DckpBsthw8r-6Pch0,2471
157
+ bisheng_langchain-0.3.4.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
158
+ bisheng_langchain-0.3.4.dist-info/top_level.txt,sha256=Z6pPNyCo4ihyr9iqGQbH8sJiC4dAUwA_mAyGRQB5_Fs,18
159
+ bisheng_langchain-0.3.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5