最新大模型项目实战大全,(非常详细)从零基础入门到精通,收藏这篇就够了

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)  
    
    
  • 通义千问

        import random  
        from http import HTTPStatus  
        from dashscope import Generation  # 建议dashscope SDK 的版本 >= 1.14.0  
  
  
        def call_with_messages():  
            messages = [{  
   'role': 'system', 'content': 'You are a helpful assistant.'},  
                        {  
   'role': 'user', 'content': '如何做西红柿炒鸡蛋?'}]  
            response = Generation.call(model="qwen-turbo",  
                                    messages=messages,  
                                    # 设置随机数种子seed,如果没有设置,则随机数种子默认为1234  
                                    seed=random.randint(1, 10000),  
                                    # 将输出设置为"message"格式  
                                    result_format='message')  
            if response.status_code == HTTPStatus.OK:  
                print(response)  
            else:  
                print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (  
                    response.request_id, response.status_code,  
                    response.code, response.message  
                ))  
  
  
        if __name__ == '__main__':  
            call_with_messages()

2. API使用总结

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

  • 需要注册获取api key,进行授权

  • api接口基本都支持stream流式输出

  • api接口都是典型chat模式,提供不同的角色信息,system,user和assistant, 多轮对话在history中拼接会话信息

大家快去使用吧。

AI大模型入门基础教程

第1章 快速上手:人工智能演进与大模型崛起

1.1 从AI到AIOps

1.2 人工智能与通用人工智能

1.3 GPT模型的发展历程

第2章 大语言模型基础

2.1 Transformer 模型

嵌入表示层

注意力层

前馈层

残差连接与层归一化

编码器和解码器结构

2.2 生成式预训练语言模型 GPT

无监督预训练

有监督下游任务微调

基于 HuggingFace 的预训练语言模型实践

2.3 大语言模型结构

LLaMA 的模型结构

注意力机制优化

第3章 大语言模型基础

3.1 数据来源

通用数据

专业数据

3.2 数据处理

低质过滤

冗余去除

隐私消除

词元切分

3.3 数据影响分析

数据规模影响

数据质量影响

数据多样性影响

3.4 开源数据集合

Pile

ROOTS

RefinedWeb

SlimPajama


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

第4章 分布式训练

4.1 分布式训练概述
4.2 分布式训练并行策略

  • 数据并行

  • 模型并行

  • 混合并行

  • 计算设备内存优化

4.3 分布式训练的集群架构

  • 高性能计算集群硬件组成

  • 参数服务器架构

  • 去中心化架构

4.4 DeepSpeed 实践

  • 基础概念

  • LLaMA 分布式训练实践


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享
第5章 有监督微调

5.1 提示学习和语境学习

提示学习

语境学习

5.2 高效模型微调

LoRA

LoRA 的变体

5.3 模型上下文窗口扩展

具有外推能力的位置编码

插值法

5.4 指令数据构建

手动构建指令

自动生成指令

开源指令数据集

5.5 Deepspeed-Chat SFT 实践

代码结构

数据预处理

自定义模型

模型训练

模型推

第6章 强化学习

6.1 基于人类反馈的强化学习

6.2 奖励模型

6.3 近端策略优化

6.4 MOSS-RLHF 实践

第7章 大语言模型应用

7.1 推理规划

7.2 综合应用框架

7.3 智能代理

7.4 多模态大模型

7.5 大语言模型推理优化

第8章 大语言模型评估

8.1 模型评估概述

8.2 大语言模型评估体系

8.3 大语言模型评估方法

8.4 大语言模型评估实践

总结

坚持到了这儿,恭喜你,表示你有做AI大模型工程师的潜力。其实我想说的上面的内容只是冰山一角,刚开始大家不需要多么精通了解这些内容。主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。

记住,学习是一个持续的过程。大模型技术日新月异,每天都有新的研究成果和技术突破。要保持对知识的渴望,不断学习最新的技术和算法。同时,实践是检验学习成果的最佳方式。通过实际项目实践,你将能够将理论知识转化为实际能力,不断提升自己的技术实力。

最后,不要忘记与同行交流和学习。AI大模型领域有许多优秀的专家和社区,他们可以为你提供宝贵的指导和建议。参加技术交流会、阅读论文、加入专业论坛,这些都是提升自己技术水平的好方法。

祝愿你在AI大模型的学习之旅中取得丰硕的成果,开启属于你的AI大模型时代!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值