字节青训营第一课0基础小白听懂了吗? | 豆包MarsCode AI 刷题

181 阅读7分钟

前言

0基础小白勇闯字节跳动青训营,我真是吃了熊心豹子胆觉得自己能看懂,根本看不懂专业名词任何一点啊,看不懂又不好意思频繁的问群里大佬太过基础的东西,只能自己扒拉着学,硬生生看小册子,有疑问就去问Marscode AI。当我明白那些基础词汇的时候,我突然感悟到了ai技术的发展到底是为了什么,或许就是为了我这样0基础小白学习的此时此刻。     

肯定不止我一个人想问别人问题又怕别人烦,别人一烦就觉得自己很蠢,不该问这么多打扰人家。当一个东西什么都不懂的时候,完全没有接触过的时候,问的问题不会高深到那里去的,基础问题永远不是愚蠢,但这个时候每个人都很忙,叨扰太多也不好,但AI没有情绪(除非设置了它的性格),它不会让人觉得受挫,它会一遍又一遍的给你答案,直到你明白,或许AI在学习方面的slogan应该是“只要你肯学,我随时随地都在”“24小时为你的学习保驾护航”。

好了,感悟讲完了,接下来是我在学习中提到的问题,以及解释。

 

课程介绍

LangChain 实战课 - 掘金小册 - 掘金小册

这是官方给的小册子,里面有详细的步骤,可以认真看一下里面的解释,但是好像代码版本有些太老了,所以我自己在网上找了一个老师的步骤

LangChain实战课-开篇词|豆包MarsCode AI刷题LangChain实战课中开篇词部分。注册豆包API并进 - 掘金  (感谢这位老师的代码)

 

l  密钥( OpenAI Key )是什么?

在密码学中,密钥是一种参数,它是在使用密码算法进行加密或解密时输入的参数。密钥的作用是控制加密和解密的过程,确保只有拥有正确密钥的人才能访问加密的数据。密钥可以是一串数字、字母或符号,其长度和复杂性取决于所使用的加密算法的强度要求。在对称加密算法中,发送方和接收方使用相同的密钥进行加密和解密;而在非对称加密算法中,发送方和接收方使用不同的密钥,分别称为公钥和私钥。公钥用于加密数据,私钥用于解密数据。 

OpenAI Key是OpenAI上随机生成的密钥。

l  密钥( OpenAI Key )要怎么获得,可以自己设置吗?

在密码学中,密钥的获得方式取决于所使用的加密算法和密钥管理策略。以下是一些常见的密钥获取方式:

  • 随机生成:许多加密算法使用随机数生成器来生成密钥。这些随机数通常是基于物理随机源(如硬件噪声)或伪随机数生成器(如密码学安全的伪随机数生成器)生成的。随机生成的密钥通常具有较高的安全性,因为它们难以预测。

  • 用户设置:在某些情况下,用户可以自己设置密钥。例如,在使用某些加密软件或应用程序时,用户可能会被要求输入一个密钥。然而,用户设置的密钥可能不如随机生成的密钥安全,因为用户可能会选择容易被猜到的密钥,或者密钥可能会被泄露。

  • 密钥交换协议:在非对称加密算法中,如RSA,密钥是通过密钥交换协议生成的。例如,Diffie-Hellman密钥交换协议允许两个通信方在不安全的信道上协商一个共享的密钥。  

  • 密钥派生函数:密钥派生函数(KDF)用于从一个主密钥派生出多个密钥。这在需要为不同目的使用不同密钥的情况下很有用,例如,为不同的会话或不同的用户派生不同的密钥。

  • 密钥管理系统:在大型组织中,密钥通常由密钥管理系统(KMS)集中管理。KMS负责生成、存储、分发和更新密钥,确保密钥的安全性和可用性。

  至于是否可以自己设置密钥,这取决于具体的应用场景和安全要求。在某些情况下,如个人加密文件或通信,用户可能会被允许自己设置密钥。然而,在需要高安全性的场景中,如企业级数据保护或国家安全,密钥通常是由专业的密钥管理系统生成和管理的。

如果你正在使用某个特定的加密软件或服务,请参考其文档或联系其支持团队,以了解如何获取和管理密钥。

 

OpenAI Key是需要科学上网,注册获取,在OpenAI的网站上(开放人工智能)需要money,具体可以搜索“openAI该怎么注册”会有很多相关的教程。****

也可以用火山方舟( volcano.volces.com/)里生成的密钥,打开注… KEY(如下图)跟着步骤来就会获得key。一般来说,火山方舟会提供一定的免费额度,超出免费额度后,就需要付费使用。具体的收费标准可以在火山方舟的官方网站上查看。

如果你是个人开发者或者是小型企业,可能只需要使用免费额度就可以满足你的需求。但如果你是大型企业或者需要处理大量的数据,可能就需要付费购买更多的额度。

联想截图_20241103021107.png

l  api是什么

API,即应用程序编程接口(Application Programming Interface),是一组定义了软件组件之间如何交互的规则和协议。它允许不同的软件组件之间进行通信和数据交换,而无需了解对方的内部实现细节。

在软件开发中,API通常用于以下几个方面:

系统集成:不同的系统或软件之间需要进行数据交换和功能调用,API提供了一种标准化的方式来实现这一点。

服务提供:许多服务(如Web服务、云服务等)通过API向开发者提供功能和数据,开发者可以通过调用这些API来集成服务到自己的应用程序中。

平台扩展:API允许开发者扩展平台的功能,例如为操作系统、应用程序或硬件设备开发插件或附加组件。

数据共享:API使得数据可以在不同的应用程序和系统之间共享,提高了数据的利用率和价值。

API可以采用不同的形式,如Web API(基于HTTP协议)、操作系统API、库API等。每种API都有其特定的用途和适用场景。

在使用API时,开发者通常需要遵循API提供者制定的规范和文档,以确保正确地调用API并处理返回的数据。API文档通常包括API的功能说明、调用方法、参数说明、返回值说明等信息,这些信息对于开发者来说是非常重要的。

 

第一天学习还是很慌张的,虽然我现在没有学的很懂,但是坚持下去就可以搞明白的!祝大家学习愉快!