dhisana 0.0.1.dev228__tar.gz → 0.0.1.dev229__tar.gz

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.
Files changed (118) hide show
  1. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/PKG-INFO +1 -1
  2. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/setup.py +1 -1
  3. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/compose_search_query.py +2 -2
  4. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/dataframe_tools.py +2 -2
  5. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/enrich_lead_information.py +3 -3
  6. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_email.py +2 -2
  7. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_email_response.py +4 -4
  8. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_linkedin_connect_message.py +2 -2
  9. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_linkedin_response_message.py +2 -2
  10. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_structured_output_internal.py +3 -3
  11. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/openai_assistant_and_file_utils.py +3 -3
  12. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/openai_helpers.py +2 -2
  13. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/research_lead.py +2 -2
  14. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serpapi_search_tools.py +2 -2
  15. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/test_connect.py +1 -1
  16. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/trasform_json.py +1 -1
  17. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/workflow/test.py +1 -1
  18. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana.egg-info/PKG-INFO +1 -1
  19. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/README.md +0 -0
  20. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/pyproject.toml +0 -0
  21. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/setup.cfg +0 -0
  22. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/__init__.py +0 -0
  23. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/cli/__init__.py +0 -0
  24. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/cli/cli.py +0 -0
  25. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/cli/datasets.py +0 -0
  26. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/cli/models.py +0 -0
  27. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/cli/predictions.py +0 -0
  28. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/schemas/__init__.py +0 -0
  29. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/schemas/common.py +0 -0
  30. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/schemas/sales.py +0 -0
  31. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/ui/__init__.py +0 -0
  32. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/ui/components.py +0 -0
  33. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/__init__.py +0 -0
  34. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/add_mapping.py +0 -0
  35. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/agent_tools.py +0 -0
  36. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/apollo_tools.py +0 -0
  37. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/assistant_tool_tag.py +0 -0
  38. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/built_with_api_tools.py +0 -0
  39. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/cache_output_tools.py +0 -0
  40. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/cache_output_tools_local.py +0 -0
  41. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/check_email_validity_tools.py +0 -0
  42. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/check_for_intent_signal.py +0 -0
  43. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/check_linkedin_url_validity.py +0 -0
  44. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/clay_tools.py +0 -0
  45. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/clean_properties.py +0 -0
  46. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/company_utils.py +0 -0
  47. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/compose_salesnav_query.py +0 -0
  48. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/compose_three_step_workflow.py +0 -0
  49. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/composite_tools.py +0 -0
  50. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/domain_parser.py +0 -0
  51. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/email_body_utils.py +0 -0
  52. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/email_parse_helpers.py +0 -0
  53. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/email_provider.py +0 -0
  54. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/extract_email_content_for_llm.py +0 -0
  55. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/fetch_openai_config.py +0 -0
  56. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/field_validators.py +0 -0
  57. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/g2_tools.py +0 -0
  58. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_content.py +0 -0
  59. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_flow.py +0 -0
  60. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/generate_leads_salesnav.py +0 -0
  61. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/google_custom_search.py +0 -0
  62. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/google_oauth_tools.py +0 -0
  63. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/google_workspace_tools.py +0 -0
  64. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/hubspot_clearbit.py +0 -0
  65. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/hubspot_crm_tools.py +0 -0
  66. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/instantly_tools.py +0 -0
  67. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/linkedin_crawler.py +0 -0
  68. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/lusha_tools.py +0 -0
  69. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/mailgun_tools.py +0 -0
  70. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/microsoft365_tools.py +0 -0
  71. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/openapi_spec_to_tools.py +0 -0
  72. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/openapi_tool/__init__.py +0 -0
  73. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/openapi_tool/api_models.py +0 -0
  74. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/openapi_tool/convert_openai_spec_to_tool.py +0 -0
  75. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/openapi_tool/openapi_tool.py +0 -0
  76. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/parse_linkedin_messages_txt.py +0 -0
  77. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/profile.py +0 -0
  78. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/proxy_curl_tools.py +0 -0
  79. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/proxycurl_search_leads.py +0 -0
  80. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/python_function_to_tools.py +0 -0
  81. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/sales_navigator_crawler.py +0 -0
  82. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/salesforce_crm_tools.py +0 -0
  83. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/search_router.py +0 -0
  84. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/search_router_jobs.py +0 -0
  85. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/sendgrid_tools.py +0 -0
  86. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serarch_router_local_business.py +0 -0
  87. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serpapi_additional_tools.py +0 -0
  88. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serpapi_google_jobs.py +0 -0
  89. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serpapi_google_search.py +0 -0
  90. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serpapi_local_business_search.py +0 -0
  91. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serperdev_google_jobs.py +0 -0
  92. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serperdev_local_business.py +0 -0
  93. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/serperdev_search.py +0 -0
  94. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/smtp_email_tools.py +0 -0
  95. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/web_download_parse_tools.py +0 -0
  96. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/workflow_code_model.py +0 -0
  97. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/utils/zoominfo_tools.py +0 -0
  98. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/workflow/__init__.py +0 -0
  99. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/workflow/agent.py +0 -0
  100. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/workflow/flow.py +0 -0
  101. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana/workflow/task.py +0 -0
  102. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana.egg-info/SOURCES.txt +0 -0
  103. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana.egg-info/dependency_links.txt +0 -0
  104. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana.egg-info/entry_points.txt +0 -0
  105. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana.egg-info/requires.txt +0 -0
  106. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/src/dhisana.egg-info/top_level.txt +0 -0
  107. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_agent_tools.py +0 -0
  108. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_apollo_company_search.py +0 -0
  109. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_apollo_lead_search.py +0 -0
  110. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_connectivity.py +0 -0
  111. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_email_body_utils.py +0 -0
  112. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_google_document.py +0 -0
  113. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_hubspot_call_logs.py +0 -0
  114. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_linkedin_serper.py +0 -0
  115. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_mcp_connectivity.py +0 -0
  116. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_proxycurl_get_company_search_id.py +0 -0
  117. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_proxycurl_job_count.py +0 -0
  118. {dhisana-0.0.1.dev228 → dhisana-0.0.1.dev229}/tests/test_structured_output_with_mcp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev228
3
+ Version: 0.0.1.dev229
4
4
  Summary: A Python SDK for Dhisana AI Platform
5
5
  Home-page: https://github.com/dhisana-ai/dhisana-python-sdk
6
6
  Author: Admin
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='dhisana',
5
- version='0.0.1-dev228',
5
+ version='0.0.1-dev229',
6
6
  description='A Python SDK for Dhisana AI Platform',
7
7
  author='Admin',
8
8
  author_email='contact@dhisana.ai',
@@ -472,7 +472,7 @@ Output must be valid JSON, e.g.:
472
472
  prompt=prompt,
473
473
  response_format=TechnologyUsedCheck,
474
474
  effort="high",
475
- model="gpt-4.1-mini",
475
+ model="gpt-5.1-chat",
476
476
  tool_config=tool_config
477
477
  )
478
478
 
@@ -534,7 +534,7 @@ Output must be valid JSON, e.g.:
534
534
  prompt=prompt,
535
535
  response_format=TechnologyAndRoleCheck,
536
536
  effort="high",
537
- model="gpt-4.1-mini",
537
+ model="gpt-5.1-chat",
538
538
  tool_config=tool_config
539
539
  )
540
540
 
@@ -33,13 +33,13 @@ class PandasQuery(BaseModel):
33
33
 
34
34
 
35
35
  @assistant_tool
36
- async def get_structured_output(message: str, response_type, model: str = "gpt-4.1-mini"):
36
+ async def get_structured_output(message: str, response_type, model: str = "gpt-5.1-chat"):
37
37
  """
38
38
  Asynchronously retrieves structured output from the OpenAI API based on the input message.
39
39
 
40
40
  :param message: The input message to be processed by the OpenAI API.
41
41
  :param response_type: The expected format of the response (e.g., JSON).
42
- :param model: The model to be used for processing the input message. Defaults to "gpt-4.1-mini".
42
+ :param model: The model to be used for processing the input message. Defaults to "gpt-5.1-chat".
43
43
  :return: A tuple containing the parsed response and a status string ('SUCCESS' or 'FAIL').
44
44
  """
45
45
  try:
@@ -162,7 +162,7 @@ async def get_clean_lead_info_with_llm(lead_info_str: str, tool_config: Optional
162
162
  lead_info, status = await get_structured_output_internal(
163
163
  prompt,
164
164
  BasicLeadInformation,
165
- model="gpt-4.1-mini",
165
+ model="gpt-5.1-chat",
166
166
  tool_config=tool_config
167
167
  )
168
168
  if status == "ERROR":
@@ -493,7 +493,7 @@ async def get_user_linkedin_url_from_github_profile(
493
493
  response, status = await get_structured_output_internal(
494
494
  instructions,
495
495
  UserInfoFromGithubProfileId,
496
- model="gpt-4.1-mini",
496
+ model="gpt-5.1-chat",
497
497
  use_web_search=True,
498
498
  tool_config=tool_config
499
499
  )
@@ -903,7 +903,7 @@ async def get_company_domain_from_llm_web_search(
903
903
  response, status = await get_structured_output_internal(
904
904
  instructions,
905
905
  CompanyInfoFromName,
906
- model="gpt-4.1-mini",
906
+ model="gpt-5.1-chat",
907
907
  use_web_search=True,
908
908
  tool_config=tool_config
909
909
  )
@@ -152,7 +152,7 @@ async def generate_personalized_email_copy(
152
152
  prompt=initial_prompt,
153
153
  response_format=EmailCopy,
154
154
  vector_store_id=vector_store_id,
155
- model="gpt-4.1",
155
+ model="gpt-5.1-chat",
156
156
  tool_config=tool_config,
157
157
  use_cache=email_context.message_instructions.use_cache if email_context.message_instructions else True
158
158
  )
@@ -161,7 +161,7 @@ async def generate_personalized_email_copy(
161
161
  initial_response, initial_status = await get_structured_output_internal(
162
162
  prompt=initial_prompt,
163
163
  response_format=EmailCopy,
164
- model="gpt-4.1",
164
+ model="gpt-5.1-chat",
165
165
  tool_config=tool_config,
166
166
  use_cache=email_context.message_instructions.use_cache if email_context.message_instructions else True
167
167
  )
@@ -194,7 +194,7 @@ async def get_inbound_email_triage_action(
194
194
  triage_only, status = await get_structured_output_with_assistant_and_vector_store(
195
195
  prompt=triage_prompt,
196
196
  response_format=InboundEmailTriageResponse,
197
- model="gpt-4.1",
197
+ model="gpt-5.1-chat",
198
198
  vector_store_id=cleaned_context.external_known_data.external_openai_vector_store_id,
199
199
  tool_config=tool_config,
200
200
  use_cache=cleaned_context.message_instructions.use_cache if cleaned_context.message_instructions else True
@@ -203,7 +203,7 @@ async def get_inbound_email_triage_action(
203
203
  triage_only, status = await get_structured_output_internal(
204
204
  prompt=triage_prompt,
205
205
  response_format=InboundEmailTriageResponse,
206
- model="gpt-4.1",
206
+ model="gpt-5.1-chat",
207
207
  tool_config=tool_config,
208
208
  use_cache=cleaned_context.message_instructions.use_cache if cleaned_context.message_instructions else True
209
209
  )
@@ -376,7 +376,7 @@ async def generate_inbound_email_response_copy(
376
376
  initial_response, status = await get_structured_output_with_assistant_and_vector_store(
377
377
  prompt=prompt,
378
378
  response_format=InboundEmailTriageResponse,
379
- model="gpt-4.1",
379
+ model="gpt-5.1-chat",
380
380
  vector_store_id=cleaned_context.external_known_data.external_openai_vector_store_id,
381
381
  tool_config=tool_config
382
382
  )
@@ -384,7 +384,7 @@ async def generate_inbound_email_response_copy(
384
384
  initial_response, status = await get_structured_output_internal(
385
385
  prompt=prompt,
386
386
  response_format=InboundEmailTriageResponse,
387
- model="gpt-4.1",
387
+ model="gpt-5.1-chat",
388
388
  tool_config=tool_config
389
389
  )
390
390
 
@@ -149,7 +149,7 @@ async def generate_personalized_linkedin_copy(
149
149
  prompt=prompt,
150
150
  response_format=LinkedInConnectMessage,
151
151
  vector_store_id=vector_store_id,
152
- model="gpt-4.1",
152
+ model="gpt-5.1-chat",
153
153
  tool_config=tool_config,
154
154
  use_cache=linkedin_context.message_instructions.use_cache if linkedin_context.message_instructions else True
155
155
  )
@@ -158,7 +158,7 @@ async def generate_personalized_linkedin_copy(
158
158
  response_data, status = await get_structured_output_internal(
159
159
  prompt=prompt,
160
160
  response_format=LinkedInConnectMessage,
161
- model="gpt-4.1",
161
+ model="gpt-5.1-chat",
162
162
  tool_config=tool_config,
163
163
  use_cache=linkedin_context.message_instructions.use_cache if linkedin_context.message_instructions else True
164
164
  )
@@ -224,7 +224,7 @@ async def generate_linkedin_response_message_copy(
224
224
  initial_response, status = await get_structured_output_with_assistant_and_vector_store(
225
225
  prompt=prompt,
226
226
  response_format=LinkedInTriageResponse,
227
- model="gpt-4.1",
227
+ model="gpt-5.1-chat",
228
228
  vector_store_id=cleaned_context.external_known_data.external_openai_vector_store_id,
229
229
  tool_config=tool_config,
230
230
  use_cache=linkedin_context.message_instructions.use_cache if linkedin_context.message_instructions else True
@@ -233,7 +233,7 @@ async def generate_linkedin_response_message_copy(
233
233
  initial_response, status = await get_structured_output_internal(
234
234
  prompt,
235
235
  LinkedInTriageResponse,
236
- model="gpt-4.1",
236
+ model="gpt-5.1-chat",
237
237
  tool_config=tool_config,
238
238
  use_cache=linkedin_context.message_instructions.use_cache if linkedin_context.message_instructions else True
239
239
  )
@@ -56,7 +56,7 @@ async def get_structured_output_internal(
56
56
  response_format: BaseModel,
57
57
  effort: str = "low",
58
58
  use_web_search: bool = False,
59
- model: str = "gpt-4.1-mini",
59
+ model: str = "gpt-5.1-chat",
60
60
  tool_config: Optional[List[Dict]] = None,
61
61
  use_cache: bool = True
62
62
  ):
@@ -217,7 +217,7 @@ async def get_structured_output_with_mcp(
217
217
  response_format: BaseModel,
218
218
  effort: str = "low",
219
219
  use_web_search: bool = False,
220
- model: str = "gpt-4.1-mini",
220
+ model: str = "gpt-5.1-chat",
221
221
  tool_config: Optional[List[Dict[str, Any]]] = None,
222
222
  ) -> Tuple[Union[BaseModel, str], str]:
223
223
  """
@@ -376,7 +376,7 @@ async def get_structured_output_with_assistant_and_vector_store(
376
376
  response_format: BaseModel,
377
377
  vector_store_id: str,
378
378
  effort: str = "low",
379
- model="gpt-4.1-mini",
379
+ model="gpt-5.1-chat",
380
380
  tool_config: Optional[List[Dict]] = None,
381
381
  use_cache: bool = True
382
382
  ):
@@ -169,7 +169,7 @@ async def delete_files(
169
169
  async def run_file_search(
170
170
  query: str,
171
171
  vector_store_id: str,
172
- model: str = "gpt-4.1-mini",
172
+ model: str = "gpt-5.1-chat",
173
173
  max_num_results: int = 5,
174
174
  store: bool = True,
175
175
  tool_config: Optional[List[Dict]] = None,
@@ -213,7 +213,7 @@ async def run_file_search(
213
213
 
214
214
  async def run_response_text(
215
215
  prompt: str,
216
- model: str = "gpt-4.1-mini",
216
+ model: str = "gpt-5.1-chat",
217
217
  max_tokens: int = 2048,
218
218
  store: bool = True,
219
219
  tool_config: Optional[List[Dict]] = None,
@@ -237,7 +237,7 @@ async def run_response_text(
237
237
  async def run_response_structured(
238
238
  prompt: str,
239
239
  response_format: dict,
240
- model: str = "gpt-4.1-mini",
240
+ model: str = "gpt-5.1-chat",
241
241
  max_tokens: int = 1024,
242
242
  store: bool = True,
243
243
  tool_config: Optional[List[Dict]] = None,
@@ -330,7 +330,7 @@ async def process_agent_request(row_batch: List[Dict], workflow: Dict, custom_in
330
330
  name="AI Assistant",
331
331
  instructions=instructions,
332
332
  tools=[],
333
- model="gpt-4.1-mini"
333
+ model="gpt-5.1-chat"
334
334
  )
335
335
  thread = await client.beta.threads.create()
336
336
  parsed_outputs = []
@@ -955,7 +955,7 @@ async def get_function_call_arguments(input_text: str, function_name: str) -> Tu
955
955
 
956
956
  # Make the API call
957
957
  response = await client.beta.chat.completions.parse(
958
- model="gpt-4.1-mini",
958
+ model="gpt-5.1-chat",
959
959
  messages=[
960
960
  {"role": "system", "content": "Extract function arguments in JSON format."},
961
961
  {"role": "user", "content": prompt},
@@ -91,7 +91,7 @@ async def research_lead_with_full_info_ai(
91
91
  response, status = await get_structured_output_internal(
92
92
  instructions,
93
93
  LeadResearchInformation,
94
- model="gpt-4.1-mini",
94
+ model="gpt-5.1-chat",
95
95
  tool_config=tool_config
96
96
  )
97
97
  if status == "SUCCESS":
@@ -165,7 +165,7 @@ async def research_company_with_full_info_ai(
165
165
  response, status = await get_structured_output_internal(
166
166
  instructions,
167
167
  CompanyResearchInformation,
168
- model="gpt-4.1-mini",
168
+ model="gpt-5.1-chat",
169
169
  use_web_search=False,
170
170
  tool_config=tool_config
171
171
  )
@@ -51,7 +51,7 @@ async def get_structured_output(text: str, tool_config: Optional[List[Dict]] = N
51
51
  f"Text:\n{text}"
52
52
  )
53
53
  result, status = await get_structured_output_internal(
54
- prompt, LeadSearchResult, model = "gpt-4.1-nano", tool_config=tool_config
54
+ prompt, LeadSearchResult, model = "gpt-5.1-chat", tool_config=tool_config
55
55
  )
56
56
  if status != "SUCCESS" or result is None:
57
57
  return LeadSearchResult()
@@ -137,7 +137,7 @@ async def pick_best_linkedin_candidate_with_llm(
137
137
  result, status = await get_structured_output_internal(
138
138
  prompt,
139
139
  LinkedinCandidateChoice,
140
- model="gpt-4.1-mini",
140
+ model="gpt-5.1-chat",
141
141
  tool_config=tool_config,
142
142
  )
143
143
 
@@ -1619,7 +1619,7 @@ async def test_connectivity(tool_config: List[Dict[str, Any]]) -> Dict[str, Dict
1619
1619
 
1620
1620
  # OpenAI needs extra args
1621
1621
  if tool_name == "openai":
1622
- model_name = next((c["value"] for c in config_entries if c["name"] == "modelName"), "gpt-4o-mini")
1622
+ model_name = next((c["value"] for c in config_entries if c["name"] == "modelName"), "gpt-5.1-chat")
1623
1623
  reasoning_effort = next((c["value"] for c in config_entries if c["name"] == "reasoningEffort"), "medium")
1624
1624
  results[tool_name] = await test_openai(api_key, model_name, reasoning_effort)
1625
1625
 
@@ -159,7 +159,7 @@ async def create_property_mapping(
159
159
  prompt=user_prompt,
160
160
  response_format=PropertyMappingList,
161
161
  effort="high",
162
- model="gpt-4.1-mini",
162
+ model="gpt-5.1-chat",
163
163
  tool_config=tool_config
164
164
  )
165
165
  if status == "SUCCESS" and response and response.properties:
@@ -21,7 +21,7 @@ async def call_openai_api(system_content: str, user_content: str, max_tokens: in
21
21
  try:
22
22
  # Call the OpenAI API using the new client method
23
23
  response = client.chat.completions.create(
24
- model="gpt-4.1-mini",
24
+ model="gpt-5.1-chat",
25
25
  messages=[
26
26
  {"role": "system", "content": system_content},
27
27
  {"role": "user", "content": user_content}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev228
3
+ Version: 0.0.1.dev229
4
4
  Summary: A Python SDK for Dhisana AI Platform
5
5
  Home-page: https://github.com/dhisana-ai/dhisana-python-sdk
6
6
  Author: Admin
File without changes
File without changes