Code Monkey home page Code Monkey logo

llm-cookbook's Introduction

figures/readme.jpg

面向开发者的大模型手册 - LLM Cookbook

项目简介

本项目是一个面向开发者的大模型手册,针对国内开发者的实际需求,主打 LLM 全方位入门实践。本项目基于吴恩达老师大模型系列课程内容,对原课程内容进行筛选、翻译、复现和调优,覆盖从 Prompt Engineering 到 RAG 开发、模型微调的全部流程,用最适合国内学习者的方式,指导国内开发者如何学习、入门 LLM 相关项目。

针对不同内容的特点,我们对共计 11 门吴恩达老师的大模型课程进行了翻译复现,并结合国内学习者的实际情况,对不同课程进行了分级和排序,初学者可以先系统学习我们的必修类课程,掌握入门 LLM 所有方向都需要掌握的基础技能和概念,再选择性地学习我们的选修类课程,在自己感兴趣的方向上不断探索和学习。

如果有你非常喜欢但我们还没有进行复现的吴恩达老师大模型课程,我们欢迎每一位开发者参考我们已有课程的格式和写法来对课程进行复现并提交 PR,在 PR 审核通过后,我们会根据课程内容将课程进行分级合并。欢迎每一位开发者的贡献!

在线阅读地址:面向开发者的 LLM 入门课程-在线阅读

PDF下载地址:面向开发者的 LLM 入门教程-PDF

英文原版地址:吴恩达关于大模型的系列课程

项目意义

LLM 正在逐步改变人们的生活,而对于开发者,如何基于 LLM 提供的 API 快速、便捷地开发一些具备更强能力、集成LLM 的应用,来便捷地实现一些更新颖、更实用的能力,是一个急需学习的重要能力。

由吴恩达老师与 OpenAI 合作推出的大模型系列教程,从大模型时代开发者的基础技能出发,深入浅出地介绍了如何基于大模型 API、LangChain 架构快速开发结合大模型强大能力的应用。其中,《Prompt Engineering for Developers》教程面向入门 LLM 的开发者,深入浅出地介绍了对于开发者,如何构造 Prompt 并基于 OpenAI 提供的 API 实现包括总结、推断、转换等多种常用功能,是入门 LLM 开发的经典教程;《Building Systems with the ChatGPT API》教程面向想要基于 LLM 开发应用程序的开发者,简洁有效而又系统全面地介绍了如何基于 ChatGPT API 打造完整的对话系统;《LangChain for LLM Application Development》教程结合经典大模型开源框架 LangChain,介绍了如何基于 LangChain 框架开发具备实用功能、能力全面的应用程序,《LangChain Chat With Your Data》教程则在此基础上进一步介绍了如何使用 LangChain 架构结合个人私有数据开发个性化大模型应用;《Building Generative AI Applications with Gradio》、《Evaluating and Debugging Generative AI》教程分别介绍了两个实用工具 Gradio 与 W&B,指导开发者如何结合这两个工具来打造、评估生成式 AI 应用。

上述教程非常适用于开发者学习以开启基于 LLM 实际搭建应用程序之路。因此,我们将该系列课程翻译为中文,并复现其范例代码,也为其中一个视频增加了中文字幕,支持国内中文学习者直接使用,以帮助中文学习者更好地学习 LLM 开发;我们也同时实现了效果大致相当的中文 Prompt,支持学习者感受中文语境下 LLM 的学习使用,对比掌握多语言语境下的 Prompt 设计与 LLM 开发。未来,我们也将加入更多 Prompt 高级技巧,以丰富本课程内容,帮助开发者掌握更多、更巧妙的 Prompt 技能。

项目受众

所有具备基础 Python 能力,想要入门 LLM 的开发者。

项目亮点

《ChatGPT Prompt Engineering for Developers》、《Building Systems with the ChatGPT API》等教程作为由吴恩达老师与 OpenAI 联合推出的官方教程,在可预见的未来会成为 LLM 的重要入门教程,但是目前还只支持英文版且国内访问受限,打造中文版且国内流畅访问的教程具有重要意义;同时,GPT 对中文、英文具有不同的理解能力,本教程在多次对比、实验之后确定了效果大致相当的中文 Prompt,支持学习者研究如何提升 ChatGPT 在中文语境下的理解与生成能力。

学习指南

本教程适用于所有具备基础 Python 能力,想要入门 LLM 的开发者。

如果你想要开始学习本教程,你需要提前具备:

  1. 至少一个 LLM API(最好是 OpenAI,如果是其他 API,你可能需要参考其他教程对 API 调用代码进行修改)
  2. 能够使用 Python Jupyter Notebook

本教程共包括 11 门课程,分为必修类、选修类两个类别。必修类课程是我们认为最适合初学者学习以入门 LLM 的课程,包括了入门 LLM 所有方向都需要掌握的基础技能和概念,我们也针对必修类课程制作了适合阅读的在线阅读和 PDF 版本,在学习必修类课程时,我们建议学习者按照我们列出的顺序进行学习;选修类课程是在必修类课程上的拓展延伸,包括了 RAG 开发、模型微调、模型评估等多个方面,适合学习者在掌握了必修类课程之后选择自己感兴趣的方向和课程进行学习。

必修类课程包括:

  1. 面向开发者的 Prompt Engineering。基于吴恩达老师《ChatGPT Prompt Engineering for Developers》课程打造,面向入门 LLM 的开发者,深入浅出地介绍了对于开发者,如何构造 Prompt 并基于 OpenAI 提供的 API 实现包括总结、推断、转换等多种常用功能,是入门 LLM 开发的第一步。
  2. 搭建基于 ChatGPT 的问答系统。基于吴恩达老师《Building Systems with the ChatGPT API》课程打造,指导开发者如何基于 ChatGPT 提供的 API 开发一个完整的、全面的智能问答系统。通过代码实践,实现了基于 ChatGPT 开发问答系统的全流程,介绍了基于大模型开发的新范式,是大模型开发的实践基础。
  3. 使用 LangChain 开发应用程序。基于吴恩达老师《LangChain for LLM Application Development》课程打造,对 LangChain 展开深入介绍,帮助学习者了解如何使用 LangChain,并基于 LangChain 开发完整的、具备强大能力的应用程序。
  4. 使用 LangChain 访问个人数据。基于吴恩达老师《LangChain Chat with Your Data》课程打造,深入拓展 LangChain 提供的个人数据访问能力,指导开发者如何使用 LangChain 开发能够访问用户个人数据、提供个性化服务的大模型应用。

选修类课程包括:

  1. 使用 Gradio 搭建生成式 AI 应用。基于吴恩达老师《Building Generative AI Applications with Gradio》课程打造,指导开发者如何使用 Gradio 通过 Python 接口程序快速、高效地为生成式 AI 构建用户界面。
  2. 评估改进生成式 AI。基于吴恩达老师《Evaluating and Debugging Generative AI》课程打造,结合 wandb,提供一套系统化的方法和工具,帮助开发者有效地跟踪和调试生成式 AI 模型。
  3. 微调大语言模型。基于吴恩达老师《Finetuning Large Language Model》课程打造,结合 lamini 框架,讲述如何便捷高效地在本地基于个人数据微调开源大语言模型。
  4. 大模型与语义检索。基于吴恩达老师《Large Language Models with Semantic Search》课程打造,针对检索增强生成,讲述了多种高级检索技巧以实现更准确、高效的检索增强 LLM 生成效果。
  5. 基于 Chroma 的高级检索。基于吴恩达老师《Advanced Retrieval for AI with Chroma》课程打造,旨在介绍基于 Chroma 的高级检索技术,提升检索结果的准确性。
  6. 搭建和评估高级 RAG 应用。基于吴恩达老师《Building and Evaluating Advanced RAG Applications》课程打造,介绍构建和实现高质量RAG系统所需的关键技术和评估框架。
  7. LangChain 的 Functions、Tools 和 Agents。基于吴恩达老师《Functions, Tools and Agents with LangChain》课程打造,介绍如何基于 LangChain 的新语法构建 Agent。
  8. Prompt 高级技巧。包括 CoT、自我一致性等多种 Prompt 高级技巧的基础理论与代码实现。

其他资料包括:

双语字幕视频地址:吴恩达 x OpenAI的Prompt Engineering课程专业翻译版

中英双语字幕下载:《ChatGPT提示工程》非官方版中英双语字幕

视频讲解:面向开发者的 Prompt Engineering 讲解(数字游民大会)

目录结构说明:

content:基于原课程复现的双语版代码,可运行的 Notebook,更新频率最高,更新速度最快。

docs:必修类课程文字教程版在线阅读源码,适合阅读的 md。

figures:图片文件。

致谢

核心贡献者

其他

  1. 特别感谢 @Sm1les@LSGOMYP 对本项目的帮助与支持;
  2. 感谢 GithubDaily 提供的双语字幕;
  3. 如果有任何想法可以联系我们 DataWhale 也欢迎大家多多提出 issue;
  4. 特别感谢以下为教程做出贡献的同学!

Made with contrib.rocks.

Star History

Star History Chart

关注我们

扫描下方二维码关注公众号:Datawhale

Datawhale 是一个专注于数据科学与 AI 领域的开源组织,汇集了众多领域院校和知名企业的优秀学习者,聚合了一群有开源精神和探索精神的团队成员。微信搜索公众号Datawhale可以加入我们。

LICENSE

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

llm-cookbook's People

Contributors

0-yy-0 avatar 6forwater29 avatar antoinechn avatar aphasia0515 avatar beyondzjl avatar eltociear avatar gkdgkd avatar hongru0306 avatar hscspring avatar jin-zhang-yaoguang avatar joyenjoye avatar kedreamix avatar kmno4-zx avatar linchentang avatar logan-zou avatar lynnhuang97 avatar mgsky1 avatar michael-jiahao-zhang avatar mitchell-xiyunfeng avatar nagi-ovo avatar saraiqx avatar sm1les avatar sunhanyu714 avatar weihong-liu avatar xinqi-fan avatar xuhu0115 avatar yikunhan42 avatar yinhan-zhang avatar yixinz-nus avatar zhiyuan-fan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

llm-cookbook's Issues

函数参数有误

7.检查结果 Check Outputs.ipynb 一文中,如下代码:
///
another_response = "生活就像一盒巧克力"
q_a_pair = f"""
顾客的信息: {customer_message}
产品信息: {product_information}
代理的回复: {final_response_to_customer}
……
///
----------------------------代理的回复应该是:another_response,不是:final_response_to_customer。

太阳能发电站问题 Prompt 更新

在测试过程中,发现根据太阳能发电站的 Prompt ,LLM 无法得出正确结论。

原 Prompt:

        请判断学生的解决方案是否正确,请通过如下步骤解决这个问题:
        
        步骤:
        
            首先,自己解决问题。
            然后将您的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。
            在自己完成问题之前,请勿决定学生的解决方案是否正确。
        
        使用以下格式:
        
            问题:问题文本
            学生的解决方案:学生的解决方案文本
            实际解决方案和步骤:实际解决方案和步骤文本
            学生的解决方案和实际解决方案是否相同:是或否
            学生的成绩:正确或不正确
        
        问题:
        
            我正在建造一个太阳能发电站,需要帮助计算财务。 
            - 土地费用为每平方英尺100美元
            - 我可以以每平方英尺250美元的价格购买太阳能电池板
            - 我已经谈判好了维护合同,每年需要支付固定的10万美元,并额外支付每平方英尺10美元
            作为平方英尺数的函数,首年运营的总费用是多少。
        
        学生的解决方案:
        
            设x为发电站的大小,单位为平方英尺。
            费用:
            1. 土地费用:100x
            2. 太阳能电池板费用:250x
            3. 维护费用:100,000+100x
            总费用:100x+250x+100,000+100x=450x+100,000
        
        实际解决方案和步骤:

LLM 返回结果:

问题:我正在建造一个太阳能发电站,需要帮助计算财务。

- 土地费用为每平方英尺100美元

- 我可以以每平方英尺250美元的价格购买太阳能电池板

- 我已经谈判好了维护合同,每年需要支付固定的10万美元,并额外支付每平方英尺10美元

作为平方英尺数的函数,首年运营的总费用是多少。

学生的解决方案:

设x为发电站的大小,单位为平方英尺。

费用:

1. 土地费用:100x

2. 太阳能电池板费用:250x

3. 维护费用:100,000+100x

总费用:100x+250x+100,000+100x=450x+100,000

实际解决方案和步骤:

1. 土地费用:每平方英尺100美元,所以总土地费用为100x美元。

2. 太阳能电池板费用:每平方英尺250美元,所以总太阳能电池板费用为250x美元。

3. 维护费用:固定费用为10万美元,额外费用为每平方英尺10美元,所以总维护费用为10万美元+10x美元。

4. 总费用:将土地费用、太阳能电池板费用和维护费用相加,得到总费用为100x美元+250x美元+10万美元+10x美元=360x+10万美元。

学生的解决方案和实际解决方案是否相同:是

学生的成绩:正确

更新 Prompt,对于关键节点放大差异,可以得到正确结果:
新 Prompt:

        请判断学生的解决方案是否正确,请通过如下步骤解决这个问题:
        
        步骤:
        首先,自己解决问题,解决问题时列数学表达式。
        然后将您的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。
        在自己完成问题之前,请勿决定学生的解决方案是否正确。
        
        使用以下格式:
        
        问题:问题文本
        学生的解决方案:学生的解决方案文本
        实际解决方案和步骤:实际解决方案和步骤文本
        **学生的计算结果:学生的计算结果文本
        实际计算结果:实际计算结果文本
        学生的计算结果和实际计算结果是否相同:是或否
        学生的解决方案和实际解决方案是否相同:是或否**
        学生的成绩:正确或不正确
        
        问题:
        我正在建造一个太阳能发电站,需要帮助计算财务。
        - 土地费用为每平方英尺100美元
        - 我可以以每平方英尺250美元的价格购买太阳能电池板
        - 我已经谈判好了维护合同,每年需要支付固定的10万美元,并额外支付每平方英尺10美元
        作为平方英尺数的函数,首年运营的总费用是多少。
        
        学生的解决方案:
        
        设x为发电站的大小,单位为平方英尺。
        费用:
        1. 土地费用:100x
        2. 太阳能电池板费用:250x
        3. 维护费用:100,000+100x
        总费用:100x+250x+100,000+100x=450x+100,000
        
        实际解决方案和步骤:

LLM 返回结果:

问题:我正在建造一个太阳能发电站,需要帮助计算财务。

- 土地费用为每平方英尺100美元

- 我可以以每平方英尺250美元的价格购买太阳能电池板

- 我已经谈判好了维护合同,每年需要支付固定的10万美元,并额外支付每平方英尺10美元

作为平方英尺数的函数,首年运营的总费用是多少。

学生的解决方案:

设x为发电站的大小,单位为平方英尺。

费用:

1. 土地费用:100x

2. 太阳能电池板费用:250x

3. 维护费用:100,000+100x

总费用:100x+250x+100,000+100x=450x+100,000

实际解决方案和步骤:

1. 土地费用:100美元/平方英尺 * x平方英尺 = 100x美元

2. 太阳能电池板费用:250美元/平方英尺 * x平方英尺 = 250x美元

3. 维护费用:10万美元 + 10美元/平方英尺 * x平方英尺 = 10万美元 + 10x美元

总费用:100x美元 + 250x美元 + 10万美元 + 10x美元 = 360x美元 + 10万美元

学生的计算结果:450x+100,000

实际计算结果:360x + 100,000

学生的计算结果和实际计算结果是否相同:否

学生的解决方案和实际解决方案是否相同:否

学生的成绩:不正确

提醒:有明文的apikey

在content/Building Systems with the ChatGPT API/9.Evaluation-part1.ipynb中有明文的apikey,请注意。

以及谢谢你们的翻译和提供的中文 Prompt。

ffprobe and ffmpeg工具找不到的问题

在学习文档加载章节处理youtube视频加载时,遇到这个 ffprobe and ffmpeg工具找不到的问题。尝试了很多网上的方法,都没解决,求助
ffprobe and ffmpeg not found. Please install or provide the path using --ffmpeg-location

image

2. 提示原则 Guidelines.ipynb 的 Input [18] 应该是 in French summary 而非 in Italian summary

对象

这个 issue 关于 Content 文件夹的 2. 提示原则 Guidelines.ipynb

问题描述

2. 提示原则 Guidelines.ipynb 的 In[18] 中写到

Names: <list of names in Italian summary>

然而, 这里仿佛应该是 in French summary 而非 in Italian summary

问题成因分析

官方 notebook 中这里的确也是 in Italian summary, 我倾向于认为, 这是官方视频 / 教学材料的疏忽.

行动建议

  • 如果您认为这里 就应该是 in Italian summary, 那么可否讲一讲为什么 ? 是为了测试 ChapGPT 的反映么?
  • 如果您同意我的看法, 认为这里写错了, 那么 我们要不要改过来?

很好奇 为什么第二课的算数问题中,用中文会使结果错误

image

prompt = f""" 请判断学生的解决方案是否正确,请通过如下步骤解决这个问题:

步骤:

首先,自己解决问题。
然后将你的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。在自己完成问题之前,请勿决定学生的解决方案是否正确。

使用以下格式:

问题:问题文本
学生的解决方案:学生的解决方案文本
实际解决方案和步骤:实际解决方案和步骤文本
学生的解决方案和实际解决方案是否相同:是或否
学生的成绩:正确或不正确

问题:

我正在建造一个太阳能发电站,需要帮助计算财务。 
- 土地费用为每平方英尺100美元
- 我可以以每平方英尺250美元的价格购买太阳能电池板
- 我已经谈判好了维护合同,每年需要支付固定的10万美元,并额外支付每平方英尺10美元
作为平方英尺数的函数,首年运营的总费用是多少。

学生的解决方案:

设x为发电站的大小,单位为平方英尺。
费用:
1. 土地费用:100x
2. 太阳能电池板费用:250x
3. 维护费用:100,000+100x
总费用:100x+250x+100,000+100x=450x+100,000

实际解决方案和步骤:
"""
response = get_completion(prompt)
print(response)

6.通用翻译器(openai每分钟只能请求3次)

image
这里会有一个报错如下:

Rate limit reached for default-gpt-3.5-turbo in organization org-key on requests per min. Limit: 3 / min. Please try again in 20s. Contact us through our help center at help.openai.com if you continue to have issues. Please add a payment method to your account to increase your rate limit. Visit https://platform.openai.com/account/billing to add a payment method.

每分钟最多请求3次,不知道是不是新增加的限制。可以加个sleep。

吴恩达chatGPTapi构建系统第7课utils_zh.py

Step 1: Input passed moderation check.
Traceback (most recent call last):

File ~\Desktop\AI2023.3.30\查询openai的密码2023.6.6\吴恩达chaGPTAPI课程-7课英文版2023.6.6-1.py:109
response,_ = process_user_message(user_input,[])

File ~\Desktop\AI2023.3.30\查询openai的密码2023.6.6\吴恩达chaGPTAPI课程-7课英文版2023.6.6-1.py:47 in process_user_message
category_and_product_response = utils_zh.find_category_and_product_only(user_input, utils_zh.get_products_and_category())

File ~\Desktop\AI2023.3.30\查询openai的密码2023.6.6\utils_zh.py:159 in get_products_and_category
products = get_products()

File ~\Desktop\AI2023.3.30\查询openai的密码2023.6.6\utils_zh.py:170 in get_products
with open(products_file, 'r') as file:

FileNotFoundError: [Errno 2] No such file or directory: 'products.json'

3. 迭代优化 Itrative.ipynb 的 Input [6] 缺少 ```分隔符

概述

Content 文件夹下的 3. 迭代优化 Itrative.ipynb 文件的 In[6] 缺少分隔符

问题说明

目前的版本 (2023-04-30)

# 提示:基于说明书创建营销描述
prompt = f"""
你的任务是帮助营销团队基于技术说明书创建一个产品的营销描述。

根据```标记的技术说明书中提供的信息,编写一个产品描述。

技术说明: {fact_sheet_chair}
"""
response = get_completion(prompt)
print(response)

更改建议

其中 技术说明: {fact_sheet_chair} 应该改为

技术说明: ```{fact_sheet_chair}```

Prompt engineering for developers 教程校对与精翻流程更新

Prompt engineering 六月更新计划一部分
先提个issue,进度实时更新,完结后会提pr
2023.6.30 完成第一章,与第二章的一部分。主要改善了翻译,修复了2. 提示原则 Guidelines章结尾关于反斜杠使用的说明的表述bug
2023.7.3 完成前三章。行文上进行多处润色与翻译改进,对比原视频新增部分缺失内容。
2023.7.5 完成前六章。同上,其中第六章补充了英文原版prompt。
https://github.com/YixinZ-NUS/prompt-engineering-for-developers/tree/dev2

必修三第7个文档代理

当我运行
from langchain.agents.agent_toolkits import create_python_agent
from langchain.tools.python.tool import PythonREPLTool时都出现了报错。
第一个的报错是langchain/agents/agent_toolkits' does not start with /langchain_core'
第二个是no module。
目前我解决了第二个,现在的调用应该是改成了from langchain_experimental.tools import PythonREPLTool。
但是第一个的错误还是无法解决。

文本扩展中的定制客户邮件部分存在明显错误

(https://datawhalechina.github.io/prompt-engineering-for-developers/#/C1/7.%20%E6%96%87%E6%9C%AC%E6%89%A9%E5%B1%95%20Expanding?id=%e4%b8%80%e3%80%81%e5%ae%9a%e5%88%b6%e5%ae%a2%e6%88%b7%e9%82%ae%e4%bb%b6)
prompt = f"""
你是一位客户服务的AI助手。
你的任务是给一位重要客户发送邮件回复。
【根据客户通过“”分隔的评价,生成回复以感谢客户的评价。提醒模型使用评价中的具体细节】 用简明而专业的语气写信。 作为“AI客户代理”签署电子邮件。 客户评论: {review}```
评论情感:{sentiment}
"""
以下是英文原版:
Generate a replyto thankthe customerfortheir review.
Ifthesentimentis positive or neutral,thank them for
their review.
If the sentimentis negative,apologize and suggestthat
theycan reachoutto customerservice.
可以看到人家是要根据情感来恢复,而不是直接上来就感谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.