ai.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. """
  2. @author: luojunhui
  3. """
  4. import json
  5. import requests
  6. from openai import OpenAI
  7. from tavily import TavilyClient
  8. from tencentcloud.common import credential
  9. from tencentcloud.common.profile.client_profile import ClientProfile
  10. from tencentcloud.common.profile.http_profile import HttpProfile
  11. from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
  12. from tencentcloud.hunyuan.v20230901 import hunyuan_client, models
  13. def kimi_ai(prompt):
  14. """
  15. kimi extract text
  16. :param prompt:
  17. :return:
  18. """
  19. client = OpenAI(
  20. api_key='sk-5DqYCa88kche6nwIWjLE1p4oMm8nXrR9kQMKbBolNAWERu7q',
  21. base_url="https://api.moonshot.cn/v1"
  22. )
  23. chat_completion = client.chat.completions.create(
  24. messages=[
  25. {
  26. "role": "user",
  27. "content": prompt,
  28. }
  29. ],
  30. model="moonshot-v1-8k",
  31. )
  32. response = chat_completion.choices[0].message.content.replace('```json', '').replace('```', '')
  33. return response
  34. def metaSo(prompt, mode="深入"):
  35. """
  36. meta
  37. :param prompt:
  38. :param mode:
  39. :return:
  40. """
  41. url = "http://8.217.190.241:8888/crawler/metaso/meta_ai"
  42. body = {
  43. "prompt": prompt,
  44. "mode": mode
  45. }
  46. header = {
  47. "Content-Type": "application/json"
  48. }
  49. response = requests.post(url=url, json=body, headers=header)
  50. return response.json()['data']
  51. def tencent_ai(prompt):
  52. """
  53. 腾讯混元aiTool
  54. :param prompt:
  55. :return:
  56. """
  57. secret_id = "AKIDDSelkqm1BCyulT0L7iXUFvXyCKNfkcS5"
  58. secret_key = "XrJh4GLrNp7Lh4VrLsLp9NVj8W3ZgmiZ"
  59. cred = credential.Credential(secret_id, secret_key)
  60. httpProfile = HttpProfile()
  61. httpProfile.endpoint = "hunyuan.tencentcloudapi.com"
  62. clientProfile = ClientProfile()
  63. clientProfile.httpProfile = httpProfile
  64. client = hunyuan_client.HunyuanClient(cred, "ap-beijing", clientProfile)
  65. req = models.ChatCompletionsRequest()
  66. params = {
  67. "Model": "hunyuan-pro",
  68. "Messages": [
  69. {
  70. "Role": "user",
  71. "Content": prompt
  72. }
  73. ],
  74. "Stream": False,
  75. "StreamModeration": False,
  76. "EnableEnhancement": True
  77. }
  78. try:
  79. req.from_json_string(json.dumps(params))
  80. resp = client.ChatCompletions(req)
  81. resp_json = json.loads(str(resp))
  82. return resp_json['Choices'][0]['Message']['Content']
  83. except TencentCloudSDKException as err:
  84. return {"error": str(err)}
  85. def tly_ai(prompt):
  86. """
  87. :param prompt:
  88. :return
  89. """
  90. TLY = TavilyClient(api_key="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")
  91. response = TLY.search(
  92. query=prompt,
  93. search_depth="advanced",
  94. include_images=True,
  95. include_answer=True,
  96. include_raw_content=True
  97. )
  98. return response