为了账号安全,请及时绑定邮箱和手机立即绑定
  • 查看全部
    1 采集 收起 来源:本章介绍

    2024-07-31

  • 从互联网获取数据

    查看全部
  • 创建Python虚拟环境

    查看全部
  • 免费的chatgpt网站


    查看全部

  • import os
    from openai import OpenAI

    # 相关配置
    api_key = os.environ['OPENAI_API_KEY']
    api_baase: str = os.environ['https://uiuiapi.com/']
    client = OpenAI(api_key=api_key, base_url=api_baase)

    # 初始化聊天历史列表
    chat_history = [
       {
           'role': "system",
           'content': 'You are a helpful assistant.',
       }
    ]

    # 多轮对话功能--创建一个循环来不断获取用户输入
    while True:
       ## 用户输入
       user_input = input("User: ")
       if user_input == "quit":
           break

       # 将用户输入添加到聊天历史
       chat_history.append({
                   'role': "user",
                   'content': user_input,
               })

       response = client.chat.completions.create(
           model='gpt-3.5-turbo',
           messages=chat_history,
           stream=True
       )

    # 获取模型的回复内容
    model_response = ""
    print("AI: ", end="")
    # 打印输出结果
    for chunk in response:
       if chunk.choices[0].delta.content is not None:
           chunk_content = chunk.choices[0].delta.content
           print(chunk_content, end="")
           model_response += chunk_content
       print()


    # 将模型的回复也添加到聊条历史
    chat_history.append({
                   'role': "assistant",
                   'content': model_response,
               })

    查看全部
    0 采集 收起 来源:-实战1-使用Python实现问答机器人,掌握OpenAI接口使用.

    笔记审核中笔记正在审核中,仅自己可见 2025-03-03

  • 流式VS非流式对比介绍    


    非流式输入的问题:
        当你从OpenAI请求一个完成内容时,如果你在生成长的完成内容,等待响应可能需要几秒钟的时间。影响用户体验。       


    流式:        

    http请求:一问一答模式      

                    


    SSE
        服务其发送事件(Server-sent events ,简称SSE),服务器向客户端推送数据,客户端通过事件监听器接收数据
        严格地说,Http协议无法做到服务器主动推送信息,但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。
        也就是说,发送的不是一次性的数据包,而是一个数据流会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流视频播放就是这样的例子。本质上,这种通信就是以流信息的方式,完成一次用时很长的下载



    向OpenAI请求流式输出
        1、要流式传输完成内容,请在调用聊天完成或完成端点时设置stream=True.
        2、使用openai-python库解析    



    OpenAI流式请求的缺点:
        1、内容审查问题。请注意,在生产应用程序中使用stream=True会使内容的审核变得更加困难,因为部分完成内容可能更难评估。
            向C端用户提供服务的时候,需要注意内容审查问题。
        2、无usage字段。流式响应的另一个小缺点是响应不在包括usage字段,告诉你消耗了多少令牌。在接收和组合所有响应后,你可以使用tiktoken自己计算这一点



    总结:
        简单来说:这种流式传输方式使得客户端在长内容生成过程中无需等待整个内容完成,就可以逐步接受到生成的内容,从而提高了响应速度和用户体验。    

    查看全部
  • 了解Embeddings    


    什么是Embeddings?(收费)

     Embeddings(嵌入)在自然语言处理(NLP)中起着至关重要的作用,他们的主要目的是将高维、离散的文本数据(如单词或短语)转换为低维、连续的向量表示。这些向量不仅编码了词本身的含义,还捕捉到了词语之间的语义和句法关系通过Embeddings,原本难以直接处理的文本数据可以被机器学习模型理解和操作。


        它就是将 【不可计算】【非结构化】的词转化为【可计算】【结构化】的向量
       
        把文本数据翻译成机器能识别的语言   

     


    为什么需要将词或句子转成Embeddings?
        1、保留语义信息
        2、简化模型输入
        3、便于计算和优化
        4、下游任务泛化能力    



    Embeddings在OpenAI中的使用
        1、创建嵌入向量:通过调用OpenAI的API,您可以创建一个代表输入文本的嵌入向量。
        2、请求方法及URL
        https://api.openai.com/v1/embeddings
        3、请求参数:
        input:必填
        model:必填 text-embedding-ada-002    



    应用:
        1、搜索(通过与查询字符串的相关性对结果进行排序)
        2、聚类(根据相似性将文本字符串分组)
        3、推荐(推荐具有相关文本字符串的项目)
        3、异常检测(识别与其他项关联度较低的离群点)
        4、多样性测量(分析相似性分布)
        5、分类(根据最相似标签对文本字符串进行分类)    

    查看全部
    0 采集 收起 来源:-了解embeddings

    2025-03-03

  • 学会给OpenAI大模型下达指令   

    Comletions  API
       补全,即补全用户输入的内容。它允许用户输入一段文本(prompt),然后由AI模型自动生成接下来的文本内容。
       也叫补全接口或完成接口
       应用
       Chat Completions API
       特性:
       1、对话历史管理:能记住之前的对话内容,以便生成连贯的回答
       2、适应性回复:模型会根据对话的上下文来调整其回答的风格和内容
       3、更加自然的交流:生成的文本更符合人类的聊天习惯,包括非正式的语言、俚语等。    

    查看全部
  • 不能访问Open  AI怎么办?   

       1、直接访问:https://chat.openai.com  --不能访问,需科学上网
       2、Poe(开放探索平台,Platform for  Open Exploration)是一款有Quora开发的移动应用程序。
       网站:https://poe.com/GhatGPT
       3、chatGPT镜像站集合Carrot
       网站:https://github.com/xx025/carrot
       4、gpt4free
       https://github.com/xtekky/gpt4free?tab=readme-ov-file    

    查看全部
    0 采集 收起 来源:-不能访问OpenAI怎么办?

    笔记审核中笔记正在审核中,仅自己可见 2025-02-11

  • 了解OpenAI的API  key和Token    

    访问OpenAI的服务的方式有两种
       1、通过GhatGPT页面访问
       2、通过API访问
       通过API访问时,我们就要关注如何获取使用API Key,以及了解大模型的计费单元Token。   

     OpenAI的API  key
       是一个唯一标识符,允许开发人员通过API访问OpenAI的模型。API密钥用于对API的请求进行身份验证并跟踪使用情况。   


     OpenAI的Token可以理解为文本中的词块在API处理提示之前,输入会被分解成为这些token。这些token并不一定恰好在单词的开始或结束处分割--token可以包含尾部空格甚至子词。以下是一些理解token长度的有用准则:
       1个token≈4个英文字符
       1个token≈3/4个单词
       100个token≈75个单词
       或者
       1-2个句子≈30个token
       1个段落≈100token
       1500个单词≈2048个token=上下文长度2k
       中文:一个字符对应一个token
           

        总的来说,OpenAI的Token是文本处理中的基本单位,理解和利用好token的特点可以帮助我们更有效地使用API,并生符合需求的输出。    

    查看全部
    0 采集 收起 来源:-了解OpenAI API key和Token

    笔记审核中笔记正在审核中,仅自己可见 2025-02-11

  • OpenAI大模型家族介绍    

    模型概览:
       多模态大模型:具有多种能力的大模型
       文本大模型:文生文
       视觉大模型:文生图
       语音大模型:文转语音,或语音转文本
       Embedding大模型:将文本转换成浮点数,方便计算机理解文本的含义。常用于比较两段文本的相似度
       审查大模型:常用于检查文本是否包含敏感信息,或者文本是否违背人类的价值观。   

     

    多模态大模型
       GPT-4是一个大型多模态模型(接受文本或图像输入并输出文本),它可以比我们以前的任何模型都更准确地解决难题,这得益于它更广泛的通用知识和更高级的推理能力。收费使用,针对聊天进行了优化
       多语言能力


     应用
       文本大模型:GPT-3.5
       推荐使用GPT-3.5-turbo而不是其他GPT-3.5模型,因为它成本更低,性能更优
       视觉大模型:DALL*E
       语音大模型:TTS、Whisper
       Embedding大模型:Embeddings是文本的数值表示,可以用于衡量两段文本之间的相关性。Embdedding对于搜索、聚类、推荐、异常检测和分类任务很有用。
       审查大模型:Moderation    

    查看全部
  • OpenAI大模型家族介绍    

    不能访问Open   AI怎么办?    

    了解Embeddings    

    流式VS非流式对比介绍    

    项目实战    

    查看全部
    0 采集 收起 来源:本章介绍

    2025-02-11

  • openAI API 代理:

    https://www.openai-proxy.com


    gpt4free:

    github.com/xtekky/gpt4free

    查看全部
    0 采集 收起 来源:-不能访问OpenAI怎么办?

    笔记审核中笔记正在审核中,仅自己可见 2025-01-10

  • 第三方chatGPT:

    poe.com

    github.com/xx025/carrot

    查看全部
    0 采集 收起 来源:-不能访问OpenAI怎么办?

    笔记审核中笔记正在审核中,仅自己可见 2025-01-10

  • 流式输出的场景:

    1. 需要大模型执行一段时间的情况,避免用户等待,可以一点一点的输出


    非流式:

    https://img1.sycdn.imooc.com/66d2f56200015cbb10260782.jpg

    使用的是http请求,不能主动向客户端推送数据

    https://img1.sycdn.imooc.com/66d2f5bf000167b808680730.jpg


    流式:----SSE:服务器发送事件


    https://img1.sycdn.imooc.com/66d2f6060001fefb16680452.jpg

    https://img1.sycdn.imooc.com/66d4730e000114de16360892.jpg

    响应结构:

    https://img1.sycdn.imooc.com/66d473780001bab516580734.jpg

    https://img1.sycdn.imooc.com/66d4741e0001060b11740250.jpg

    https://img1.sycdn.imooc.com/66d474010001dac013440210.jpg


    非流式响应结构:

    https://img1.sycdn.imooc.com/66d475530001a2c009080782.jpg


    https://img1.sycdn.imooc.com/66d473970001402d08460450.jpg


    object的结构差异:

    非流式=chat.completion

    流式=chat.completion.chunk


    choices的结构差异:

    非流式=index、message.role、message.content、logprobs、finish_reason

    流式=index、delta.role、delta.content、finish_reason


    usage差异:

    非流式=prompt_tokens、completion_tokens、total_tokens

    流式=没有该参数


    https://img1.sycdn.imooc.com/66d4758a00016eae06480206.jpg


    https://img1.sycdn.imooc.com/66d475cd00014bdc08180380.jpg

    逐行读取流式返回结果:

    https://img1.sycdn.imooc.com/66d475fc0001428e10120420.jpg


    1. bit类型=>字符串:  line.decode('utf-8').lstrip('data: ')

    2. 字符串=>字典(json) : json.loads()


    print使用知识点:

    默认输出后会带换行符,如果不需要换行,需要执行换行符类型

    print(str, end=''): 不换行直接输出


    openai-python库: 使用支持SSE协议的已有客户端库,简化实现逻辑

    https://img1.sycdn.imooc.com/66d4783c0001ec0311340416.jpg

    处理返回结果

    https://img1.sycdn.imooc.com/66d478680001759c09340304.jpg


    https://img1.sycdn.imooc.com/66d478bb0001310416260366.jpg

    https://img1.sycdn.imooc.com/66d4790400012f4710540318.jpg

    查看全部
首页上一页12下一页尾页

举报

0/150
提交
取消
课程须知
学习本课程之前,可以先学习《AI大模型应用开发(一)国内外热门大模型应用使用》课程
老师告诉你能学到什么?
1、初识OpenAI家族 2、能够解决不能正常访问OpenAI问题 3、如何正确的与大模型交流
加群二维码
  • 更多课程详情与优惠,请扫码了解

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!