国内大模型调用实战

简介: 前面我们一览了国内主要大模型厂商的API价格,今天我们就来具体看下具体API的使用【6月更文挑战第3天】

国内大模型API调用实战

今天我们就来具体看下具体大模型厂商API的使用。

1.API

  • deepseek
    deepseek支持requests直接调用和openai式的调用,新注册用户有500万token

      import requests
      import json
    
      url = "https://api.deepseek.com/chat/completions"
    
      payload = json.dumps({
         
      "messages": [
          {
         
          "content": "You are a helpful assistant",
          "role": "system"
          },
          {
         
          "content": "Hi",
          "role": "user"
          }
      ],
      "model": "deepseek-coder",
      "frequency_penalty": 0,
      "max_tokens": 2048,
      "presence_penalty": 0,
      "stop": None,
      "stream": False,
      "temperature": 1,
      "top_p": 1,
      "logprobs": False,
      "top_logprobs": None
      })
      headers = {
         
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'Authorization': 'Bearer <key>'
      }
      response = requests.request("POST", url, headers=headers, data=payload)
    
      print(response.text)
    
      from openai import OpenAI
      # for backward compatibility, you can still use `https://api.deepseek.com/v1` as `base_url`.
      client = OpenAI(api_key="sk-4f510fa4ca9d4ea7b56cdca99418fd9d", base_url="https://api.deepseek.com")
    
      response = client.chat.completions.create(
          model="deepseek-chat",
          messages=[
              {
         "role": "system", "content": "You are a helpful assistant"},
              {
         "role": "user", "content": "Hello"},
      ],
          max_tokens=1024,
          temperature=0.7,
          stream=False
      )
    
      print(response.choices[0].message.content)
    
  • 智普AI
    需要安装zhipuai包,新注册用户有赠送token

    • pip install zhipuai
    • Python>=3.7

      from zhipuai import ZhipuAI
      client = ZhipuAI(api_key="dd") # 请填写您自己的APIKey
      response = client.chat.completions.create(
      model="glm-4",  # 填写需要调用的模型名称
          messages=[
              {
             "role": "user", "content": "你好!你叫什么名字"},
          ],
          stream=True,
          )
      for chunk in response:
          print(chunk.choices[0].delta)
      
  • kimi
    kimi也是支持openai样式的调用,新注册用户的15元的赠送

    • pip install --upgrade 'openai>=1.0'

      from openai import OpenAI
      
      client = OpenAI(
          api_key = "sk-KbwNWKBaRwhkvmfIHeaV4xnlpp3haV7qLr0sSU7wIOI9ZSNh",
          base_url = "https://api.moonshot.cn/v1",
      )
      
      completion = client.chat.completions.create(
          model = "moonshot-v1-8k",
          messages = [
              {
             "role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},
              {
             "role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
          ],
          temperature = 0.3,
      )
      
      print(completion.choices[0].message.content)
      
  • 字节豆包
    豆包需要安装方舟包

    • pip install 'volcengine-python-sdk[ark]'

      from volcenginesdkarkruntime import Ark
      
      # Authentication
      # 1.If you authorize your endpoint using an API key, you can set your api key to environment variable "ARK_API_KEY"
      # or specify api key by Ark(api_key="${YOUR_API_KEY}").
      # Note: If you use an API key, this API key will not be refreshed.
      # To prevent the API from expiring and failing after some time, choose an API key with no expiration date.
      
      # 2.If you authorize your endpoint with Volcengine Identity and Access Management(IAM), set your api key to environment variable "VOLC_ACCESSKEY", "VOLC_SECRETKEY"
      # or specify ak&sk by Ark(ak="${YOUR_AK}", sk="${YOUR_SK}").
      # To get your ak&sk, please refer to this document([https://www.volcengine.com/docs/6291/65568](https://www.volcengine.com/docs/6291/65568))
      # For more information,please check this document([https://www.volcengine.com/docs/82379/1263279](https://www.volcengine.com/docs/82379/1263279))
      client = Ark()
      
      # Non-streaming:
      print("----- standard request -----")
      completion = client.chat.completions.create(
        model="${YOUR_ENDPOINT_ID}",
        messages = [
            {
             "role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
            {
             "role": "user", "content": "常见的十字花科植物有哪些?"},
        ],
      )
      print(completion.choices[0].message.content)
      
      # Streaming:
      print("----- streaming request -----")
      stream = client.chat.completions.create(
        model="${YOUR_ENDPOINT_ID}",
        messages = [
            {
             "role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
            {
             "role": "user", "content": "常见的十字花科植物有哪些?"},
        ],
        stream=True
      )
      for chunk in stream:
        if not chunk.choices:
            continue
        print(chunk.choices[0].delta.content, end="")
      print()
      
  • 讯飞星火
    讯飞星火新注册用户都有免费额度,不同模型额度不要,3.5有10万token, 2.0的有200万一年token. 接口是采用websocket

    • pip install --upgrade spark_ai_python
    • python 3.8

      from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler
      from sparkai.core.messages import ChatMessage
      
      #星火认知大模型Spark3.5 Max的URL值,其他版本大模型URL值请前往文档(https://www.xfyun.cn/doc/spark/Web.html)查看
      SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
      #星火认知大模型调用秘钥信息,请前往讯飞开放平台控制台(https://console.xfyun.cn/services/bm35)查看
      SPARKAI_APP_ID = ''
      SPARKAI_API_SECRET = ''
      SPARKAI_API_KEY = ''
      #星火认知大模型Spark3.5 Max的domain值,其他版本大模型domain值请前往文档(https://www.xfyun.cn/doc/spark/Web.html)查看
      SPARKAI_DOMAIN = 'generalv3.5'
      
      if __name__ == '__main__':
        spark = ChatSparkLLM(
            spark_api_url=SPARKAI_URL,
            spark_app_id=SPARKAI_APP_ID,
            spark_api_key=SPARKAI_API_KEY,
            spark_api_secret=SPARKAI_API_SECRET,
            spark_llm_domain=SPARKAI_DOMAIN,
            streaming=False,
        )
        messages = [ChatMessage(
            role="user",
            content='你好呀'
        )]
        handler = ChunkPrintHandler()
        a = spark.generate([messages], callbacks=[handler])
        print(a)
      

2. API使用总结

可以知道上面的API使用大同小异,有些直接兼容openai的调用格式:

  • 需要注册获取api key,进行授权
  • api接口基本都支持stream流式输出
  • api接口都是典型chat模式,提供不同的角色信息,system,user和assistant, 多轮对话在history中拼接会话信息

大家快去使用吧。

目录
相关文章
|
2月前
|
人工智能 API 语音技术
开发者福利,魔搭推出免费模型推理API,注册就送每日2000次调用!
今天,魔搭社区开放了免费的开源模型推理API,仅需使用魔搭的SDK Token,就可以通过简单的API请求探索各种强大的开源模型的使用。
|
9月前
|
自然语言处理 算法 Swift
浪潮信息开源 源2.0 基础大模型,魔搭社区最佳实践教程来啦!
浪潮信息发布源2.0基础大模型,参数量包括1026亿、518亿、21亿三个大模型,从源2.0的论文上可以看到,源2.0不仅在数理逻辑、数学计算、代码生成能力上,再次超强进化,还在算法、数据、算力方面,提出了三项创新。
|
4月前
|
弹性计算 Serverless API
海量大模型如何一键部署上云,函数计算 x ModelScope 社区给出答案
得益于阿里云函数计算的产品能力,魔搭 SwingDeploy 后的模型推理 API 服务默认具备极致弹性伸缩(缩零能力)、GPU 虚拟化(最小 1GB 显存粒度)、异步调用能力、按用付费、闲置计费等能力,这些能力帮助算法工程师大大加快了魔搭开源模型投入生产的生命周期。
|
4月前
|
数据采集 API 决策智能
华为诺亚联合中科大发布工具调用模型ToolACE,效果持平GPT-4获开源第一
 【10月更文挑战第10天】华为诺亚方舟实验室与中国科学技术大学合作推出ToolACE,一种自进化合成过程的工具调用模型。ToolACE通过多智能体交互和双重验证系统生成准确、复杂、多样化的工具学习数据,显著提升大型语言模型(LLM)的功能调用能力。实验结果显示,使用ToolACE数据训练的80亿参数模型性能媲美GPT-4,在伯克利功能调用排行榜上获得开源第一。
132 4
|
人工智能 自然语言处理 测试技术
国内首个!Postcat 上线 AI 生成 API 功能,写接口动几下就行!
今天我们很高兴的向大家宣布,Postcat.com 正式上线 AI 生成 API 的功能,并且是国内首个结合AI + API的产品!
|
缓存 运维 监控
《2023云原生实战案例集》——04 互联网——网易云音乐 基于函数计算FC创建音视频算法处理平台
《2023云原生实战案例集》——04 互联网——网易云音乐 基于函数计算FC创建音视频算法处理平台
|
9月前
|
机器学习/深度学习 搜索推荐 算法
直接调用通用大模型开发应用与基于开源大模型“自研”两种方式比较
【1月更文挑战第23天】直接调用通用大模型开发应用与基于开源大模型“自研”两种方式比较
363 1
直接调用通用大模型开发应用与基于开源大模型“自研”两种方式比较
|
26天前
|
人工智能 Python
子曰-o1:网易有道开源国内首个分步式讲解推理模型,支持K12数学教学
子曰-o1是网易有道推出的国内首个分步式讲解推理模型,采用14B轻量级架构,专为消费级显卡设计,支持K12数学教学,提供精准的解题思路和答案。
75 1
子曰-o1:网易有道开源国内首个分步式讲解推理模型,支持K12数学教学
|
9月前
|
存储 自然语言处理 负载均衡
元象开源首个MoE大模型:4.2B激活参数,效果堪比13B模型,魔搭社区最佳实践来了
近日,元象发布其首个Moe大模型 XVERSE-MoE-A4.2B, 采用混合专家模型架构 (Mixture of Experts),激活参数4.2B,效果即可媲美13B模型。该模型全开源,无条件免费商用,支持中小企业、研究者和开发者可在元象高性能“全家桶”中按需选用,推动低成本部署。
|
1月前
|
数据可视化 数据挖掘
阿里云百炼/析言GBI在产品博士中是怎么发挥作用的?请看此视频了解
阿里云百炼/析言GBI在产品博士中通过数据分析和可视化展示,帮助用户了解产品的GAAP收入情况。视频展示了2024年4月至7月期间,浙江地区的公共云产品每月GAAP收入,按月增序排列,并提供了详细的行业收入对比和日收入数据。图片展示了具体的数据图表,便于用户直观理解。

热门文章

最新文章