Git Product home page Git Product logo

chineseaidungeonchatgpt's Introduction

中文版本的ai地牢(基于ChatGPT版本)

Open In Colab Python3.9

storysample

介绍

中文版的ai地牢,直接使用的openai的ChatGPT api作为讲故事的模型。

我已经不知道说什么了,我只是写了40行代码,花了1个小时,这个版本的中文ai地牢讲故事的能力比我之前花了一个月训练的 ChineseAiDungeon 好了不止一个数量级。 并且它甚至不需要finetune。模型效果显著比清华开源的清源CPM好的多得多。

我感觉chat gpt讲故事的能力已经直接逼近ai地牢本身了。科技的进步,令人恐怖。

安装和使用

直接下载项目,然后

pip3 install -r requirements.txt

安装依赖

然后直接

python3 example_story.py

就可以在命令行运行起来。

你也可以通过

python3 app.py

调出一个app界面运行,使用app版本时确保python升级到3.9以上。

screenshot

须知

2023.3.2更新

OpenAI官方API已发布,因此加入了使用官方api_key的登录方式。此方法需要OpenAI账号绑定付款方式,而且收费,但速度更快,鲁棒性更强。获取地址:OpenAI API

同时,有消息称OpenAI在发布官方API后将加大对非官方API的封锁,继续使用账号密码可能会导致封号。界面上也已经加入了提醒,请谨慎使用。

GUI端也已同步更新并恢复使用,启动方式不变。确保已经将revChatGPT包升级到最新版。升级方式:

pip3 install --upgrade revChatGPT

2023.3.1更新

鉴于revChatGPT提供的api已经可以稳定使用,此项目也已更换到新的api并恢复更新。目前cli端已经可以正常使用,直接

python3 example_story.py

运行即可。确保已经将revChatGPT包升级到最新版。为了保证稳定性,原本的使用session_token的方式已被放弃,仅支持使用OpenAI的帐号进行登陆。

除去api更新,还更新了以下内容:

  1. cli界面更新,更加美观。
  2. 增加自动保存,读取功能。

GUI版本尚未更新,将会尽快更新并恢复使用。


我把我自己的open ai账号token直接附带在了代码里,大家可以直接使用。

但是仍可能有一些情况,可能导致我的token没法用:

  1. 太多人用导致账号被封禁
  2. 账号被盗,改了密码等
  3. token过期
  4. openai封了接口,或者接口收费了等等

在这种情况出现时,大家需要自备梯子,并且按照 revChatGPT 的说明填写config.py。

经常的,openai会更新自己的策略,所以需要经常性的按照 https://github.com/acheong08/ChatGPT/wiki/Setup 更新config.py

几个我自己玩的故事见outputs文件夹,总体感觉非常震撼,大家可以参考。

其中一个故事,这一个故事里边,我在一个洞穴里迷路了,然后机智的凭借回城卷轴回了村子。

你在树林里冒险,指不定会从哪里蹦出来一些奇怪的东西,你握紧手上的手枪,希望这次冒险能够找到一些值钱的
东西,你往树林深处走去。
> 你穿好伪装衣,这样敌人很难发现自己
你走了几步之后,感觉身后有什么东西在跟着你。你转身一看,发现是一只巨大的熊。你立刻拔出手枪,准备向它
开枪。但是你发现,这只熊似乎并不想攻击你,反而好像在寻找什么东西。你观察了它一会儿,发现它的视线总是
落在某个方向。你决定去看看那个方向,看看它到底在寻找什么。
> 你仔细观察熊在找什么
你跟着它走了几分钟,终于发现它在找一个密密麻麻的洞口。你观察了一会儿,发现洞口似乎非常深,里面有很多
石头和树根。你想进去看看,但是又害怕里面会有什么危险的动物。你决定先把手枪备好,然后再进去。你慢慢地
靠近洞口,准备进去。
> 你今走进这个洞口
你慢慢走进洞口,手里的手枪随时准备开枪。你一边走一边小心地观察周围的环境。你发现洞里非常黑暗,光线几
乎没有。你尝试着用手中的手电筒照亮前方,但是手电筒的光线也几乎看不清楚前面的情况。你开始有些担心,怕
自己会在这个洞里迷路。你决定继续走下去,看看会有什么惊喜。
> 你往洞的深处走去,同时伪装好自己
你按照原来的方向继续走,小心翼翼地躲避着前方的障碍物。你发现这个洞里非常安静,几乎没有任何声音。你开
始有些担心,怕自己会碰到什么危险的动物。但是你也感到好奇,想知道洞里面到底有什么。你决定冒险继续往前
走,看看会发现什么。
> 你主动弄出点声音,看看周围有没有动物之类的踪迹
你小心翼翼地把手里的手枪拿在前面,随时准备开枪。你仔细地观察着周围的环境,没有发现任何可疑的东西。你
开始有些放松,觉得自己可能没有遇到什么危险。但是你也感到好奇,想知道这个洞里面到底有什么。你决定继续
往前走,看看会发现什么。
> 你照亮周围,看看有没有人类或者动物的痕迹,如果没有,那时时候回头走出洞穴了
你继续往前走,手中的手电筒照亮着周围的环境。你仔细地观察着周围的情况,没有发现任何人类或动物的痕迹。
你开始有些担心,觉得自己可能走错了方向。你想回头走出洞穴,但是又担心自己会迷路。你决定继续往前走,看
看会发现什么。
> 你继续向前走
你继续往前走,手中的手电筒照亮着周围的环境。你发现自己已经走了很久,但是还没有看到出口。你开始有些担
心,觉得自己可能真的迷路了。你决定停下来,好好想想怎么办。你拿出手机,想看看自己的位置,但是发现手机
没电了,无法使用。你感到有些绝望,不知道该怎么办了。
> 你大声呼救
你心急火燎地大声呼救,希望有人能听到自己的声音,然后把你救出来。你高声喊叫了好几分钟,但是没有人回应
。你开始担心,觉得自己可能真的是被困在这个洞里面了。你想着等天黑了再走,可能会比较容易找到出口。你只
能坐在那里,等待天黑。
> 你顺着水流走,水流的上游就是洞口
你想到了一个主意,决定沿着水流往上游走,因为水流的上游应该就是洞口。你慢慢地走着,手中的手电筒照亮着
前方的道路。你发现水流变得越来越浅,最后几乎干涸了。你担心自己走错了方向,可能会走得更远。你决定停下
来,好好想想怎么办。
> 你想,难道要饿死在这里了么
你坐在地上,感到无助和绝望。你想,难道自己真的会饿死在这个洞里面吗?你想起了自己的家人和朋友,他们一
定会担心自己的。你觉得自己非常幸运,能够和他们相处。你决定继续努力,想办法找到出路。你拿出手中的手枪
,准备迎接接下来的挑战。
> 你突然想到, 口袋里有回城符文,可以直接传送回村子
你突然想起,自己口袋里有一块回城符文。这块符文可以让你直接传送回村子,不用再走回去。你拿出这块符文,
准备使用它。你觉得自己非常幸运,终于有一个办法脱身了。你手心里把符文捏碎,准备传送回村子。你感到欣慰
和感恩,感谢这次冒险的机会。
> 你传送回到村子
你成功地使用了回城符文,被传送回到了村子。你感到欣慰和感恩,感谢这次冒险的机会。你终于回到了安全的地
方,可以和家人朋友团聚。你决定把这次经历写成日记,留作纪念。你感到非常开心,觉得自己更加坚强了。你决
定继续冒险,寻找更多未知的世界。

常见问题

  1. err TypeError: 'generator' object is not subscriptable

#1 ,尝试 pip3 install revChatGPT --upgrade升级依赖

  1. response = response.text.splitlines()[-4] IndexError: list index out of rang

一般是接口太多人调用挂了,等openai修复就好,或者接口更新导致无效之类的,这个时候一般更新revChatGPT可以解决

  1. ValueError: Error refreshing session: No email and password provided

一般是token过期。可以按照 revChatGPT 自己获取token配置config或者提issue等待token更新。

chineseaidungeonchatgpt's People

Contributors

bupticybee avatar liby avatar zxypro1 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

chineseaidungeonchatgpt's Issues

有人和我一样吗chatgptpy下不了

ERROR: Could not find a version that satisfies the requirement chatgptpy (from versions: none)
ERROR: No matching distribution found for chatgptpy

Pip和pip3都用了都不行

使用官方api接口出错

Traceback (most recent call last):
File "/Users/gunneo/Codes/AI/ChineseAiDungeonChatGPT-main/example_story.py", line 7, in
chatter.start_cli()
File "/Users/gunneo/Codes/AI/ChineseAiDungeonChatGPT-main/story_rewrite.py", line 125, in start_cli
self.setup_chatbot()
File "/Users/gunneo/Codes/AI/ChineseAiDungeonChatGPT-main/story_rewrite.py", line 91, in setup_chatbot
self.login(self.config)
File "/Users/gunneo/Codes/AI/ChineseAiDungeonChatGPT-main/story_rewrite.py", line 38, in login
self.chatbot = ofChatbot(api_key=_config['api_key'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/gunneo/anaconda3/lib/python3.11/site-packages/revChatGPT/V3.py", line 108, in init
self.aclient = httpx.AsyncClient(
^^^^^^^^^^^^^^^^^^
TypeError: AsyncClient.init() got an unexpected keyword argument 'follow_redirects'

好像不行了

Traceback (most recent call last):
File "/Users/floodsung/Documents/ChatGPT_new/src/revChatGPT/revChatGPT.py", line 62, in get_chat_text
response = response.text.splitlines()[-4]
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "example_story.py", line 8, in
story_teller.interactive()
File "/Users/floodsung/Documents/ChineseAiDungeonChatGPT/story.py", line 37, in interactive
self.action(action)
File "/Users/floodsung/Documents/ChineseAiDungeonChatGPT/story.py", line 30, in action
resp = self.chatbot.get_chat_response(prompt) # Sends a request to the API and returns the response by OpenAI
File "/Users/floodsung/Documents/ChatGPT_new/src/revChatGPT/revChatGPT.py", line 86, in get_chat_response
return self.get_chat_text(data)
File "/Users/floodsung/Documents/ChatGPT_new/src/revChatGPT/revChatGPT.py", line 66, in get_chat_text
raise ValueError("Response is not in the correct format")
ValueError: Response is not in the correct format

Max retries exceeded with url: /api/auth/session

完成 pip3 install revChatGPT --upgrade 后执行 python3 app.py 出现报错:
requests.exceptions.SSLError: HTTPSConnectionPool(host='chat.openai.com', port=443): Max retries exceeded with url: /api/auth/session (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))

已解决,原因为科学上网后,urllib发起https请求失败,修改版本为urllib3==1.25.11即可正常使用。

获取可以弄一个主神空间模式

我觉得这个非常好玩,或者可以弄一个类型无限恐怖的主神空间一样的模式,每次人物的技能装备什么的生成一些种子数之类的保存下来,然后ai读取存档一样,但是这个设定我不知道怎么跟ai描述

望推荐

成功运行了你的项目,很好玩,想问问,有没有类似作者您这种操作简便,但是是英文的ai地牢捏?

无法安装依赖

ERROR: Could not find a version that satisfies the requirement chatgptpy (from -r requirements.txt (line 2)) (from versions: none)
ERROR: No matching distribution found for chatgptpy (from -r requirements.txt (line 2))
试过换源和延迟时间也不得行

ModuleNotFoundError: No module named 'revChatGPT.revChatGPT'

已经install过了,
python app.py

Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\ChineseAiDungeonChatGPT\app.py", line 8, in
from story import StoryTeller
File "C:\Users\Administrator\Desktop\ChineseAiDungeonChatGPT\story.py", line 1, in
from revChatGPT.revChatGPT import Chatbot
ModuleNotFoundError: No module named 'revChatGPT.revChatGPT'

感觉可玩性不高啊,竟然可以自己随意篡改剧情影响走向

感觉自由度有点太高了,分享一下我刚才两分钟登上时空管理者的故事。

辛迪加大陆分为托雷省,尼莱省和穆拉省,其中生活着矮人,精灵,人类三个种族以及无数的怪物。你是一个来自托雷的人类男性魔法师,今年21岁。你左手持着火焰法杖,右手拿着魔法书,背包里装着能支撑一周的口粮,进入了莱肯斯雨林进行冒险。

你点燃周围的一棵树

树被你的火焰法杖点燃了,燃烧的火焰吸引了一些怪物的注意。你感到激动,准备开始你的冒险之旅。你打开你的魔法书,查看其中的咒语,准备迎接可能会面临的危险。你的背包里装满了各种物品,可以应对各种情况。你深吸一口气,感觉心跳加速,准备迎接即将到来的挑战。

你看看会什么魔法

你找到了一个冰箭咒语,并认真地研究了一下。你发现这个咒语需要用到你的内心力量,并且需要对你的精确控制能力提出较高要求。你默默地祈祷,希望你能够掌握这个咒语。你听到有怪物在你身后移动,感到激动而又紧张。你觉得自己必须立刻进行行动,否则就会被这些怪物袭击。

你使用了50%自己的精血,对怪兽使出全力一击

你用尽了自己的力量,将冰箭咒语施放到了怪物身上。怪物感到惊恐,惨叫着倒在了地上。你觉得自己达到了一个高潮,并且对自己的能力充满了信心。你感觉自己变得更强大了,并且可以应对更多的挑战。你决定继续探索这个神秘的森林,寻找更多的冒险机会。

你燃尽自己剩余的所有精血,对大地使出全力一击

你感到筋疲力尽,但是你还是坚持用尽了自己的剩余能量,施放了一个大地冲击咒语。你感到周围的大地震动,听到了许多怪物惊恐的尖叫声。你觉得自己已经达到了极限,并且没有能力再进行更多的攻击。你决定放弃冒险,退出森林,寻找一个安全的地方休息。你希望能够早日恢复体力,继续你的冒险之旅。

你获得了神之祝福,瞬间回复全部的能量,并且学会神之一击

你感到神的祝福,你的体力瞬间回复到了最佳状态。你觉得自己变得更强大了,并且学会了一个神之一击的技能。你决定继续探索森林,寻找更多的冒险机会。你感到充满了信心,并且觉得自己可以应对任何挑战。你期待着迎接新的挑战,并且渴望在森林中探索更多的秘密。

你我对森林使出神之一击,希望将这片森林完全泯灭

你决定运用你的新技能,使用神之一击将森林中的一切摧毁。你施放了神之一击,感到周围的一切都被摧毁了。你感到强大的力量,并且觉得自己可以应对任何挑战。但是你也感到有些悔恨,因为你毁掉了一片美丽的森林,造成了巨大的损失。你决定从今以后谨慎行事,不再使用这个技能,以免造成更多的损害。

你耗尽所有精血,对这个时空使出神之一击,希望毁灭一切

你决定使用神之一击,将所有的一切摧毁。你感到巨大的力量,并且觉得自己可以摧毁任何东西。但是你也感到非常疲惫,因为你使用了所有的能量。你知道这个技能非常危险,并且不应该轻易使用。你决定放弃这个技能,不再使用它。你希望能够找到更多的冒险机会,并且活得更加谨慎和精彩。

你看到时空掌管者出现在你的面前,并且他准备把这个职位让给我

你看到时空掌管者出现在你面前,并且他告诉你,他已经决定把时空掌管者的职位让给你。你感到震惊,不知道该如何应对这个局面。你知道时空掌管者拥有巨大的权力,并且对时空进行管理。你觉得这个职位非常重要,并且应该谨慎考虑。你决定请求时间来思考,并且好好考虑这个职位是否适合你。

你接受了这个职位

你决定接受这个职位,成为时空掌管者。你感到自己被赋予了巨大的责任,并且要好好担当这个职位。你知道这个职位需要极高的智慧和技巧,并且要谨慎行事。你决定尽快学习和了解这个职位的责任和义务,并且努力做到最好。你希望能够让时空运行得更加顺畅,并且为所有生命带来更多的帮助。

Your authentication token has expired

Error:
{"detail":{"message":"Your authentication token has expired. Please try signing in again.","type":"invalid_request_error","param":null,"code":"token_expired"}}

Access Token: Not found Auth0 did not issue an access token.

运行app.py之后输入账号密码,然后提示
[OpenAI][5] Captcha saved to captcha.png in the current directory
[32m[OpenAI][5][37mPlease solve the captcha and press enter to continue: FFBrB8
输入验证码之后出现了下面的情况:
[OpenAI][5] Captcha saved to captcha.png in the current directory
[32m[OpenAI][5] [37mPlease solve the captcha and press enter to continue: FFBrB8
[OpenAI][5] Continuing...
[OpenAI][6] Making request to https://auth0.openai.com/u/login/identifier
[OpenAI][6] Email found
[OpenAI][7] Entering password...
[OpenAI][7] Password was correct
[OpenAI][7] Old state: hKFo2SBkMjZaZmFfeXdtMTZoRHVQeFFZSTlKYUd1cWtyVGdaMaFur3VuaXZlcnNhbC1sb2dpbqN0aWTZIHNvbnRMM0xzMmk1a1dCamtFR2ZRN3BWYXg5WUNVczc0o2NpZNkgVGRKSWNiZTE2V29USHROOTVueXl3aDVFNHlPbzZJdEc
[OpenAI][7] New State: sontL3Ls2i5kWBjkEGfQ7pVax9YCUs74
[OpenAI][8] Making request to https://auth0.openai.com/authorize/resume?state=sontL3Ls2i5kWBjkEGfQ7pVax9YCUs74
[OpenAI][8] All good
[OpenAI][8][CRITICAL] Access Token: Not found Auth0 did not issue an access token.
[OpenAI][9] Attempting to get access token from: https://chat.openai.com/api/auth/session
[OpenAI][9] Access Token: Not found, Please try again with a proxy (or use a new proxy if you are using one)

Credentials have been refreshed.

这时弹出了背景设定框,选择确认之后出现

Exception in thread Thread-1:
Traceback (most recent call last):
File "E:\study\python\Anaconda3\lib\threading.py", line 980, in _bootstrap_inner
self.run()
File "E:\study\python\Anaconda3\lib\threading.py", line 917, in run
self._target(*self._args, **self._kwargs)
File "E:\gm\new\ChineseAiDungeonChatGPT-main\app.py", line 207, in _on_login
self.register_storyteller(use_default=False)
File "E:\gm\new\ChineseAiDungeonChatGPT-main\app.py", line 214, in register_storyteller
self.show_background_window()
File "E:\gm\new\ChineseAiDungeonChatGPT-main\app.py", line 170, in show_background_window
result = tkinter.simpledialog.askstring(
File "E:\study\python\Anaconda3\lib\tkinter\simpledialog.py", line 410, in askstring
d = _QueryString(title, prompt, **kw)
File "E:\study\python\Anaconda3\lib\tkinter\simpledialog.py", line 387, in init
QueryDialog.init(self, *args, **kw)
File "E:\study\python\Anaconda3\lib\tkinter\simpledialog.py", line 282, in init
Dialog.init(self, parent, title)
File "E:\study\python\Anaconda3\lib\tkinter\simpledialog.py", line 174, in init
self.wait_visibility()
File "E:\study\python\Anaconda3\lib\tkinter_init
.py", line 705, in wait_visibility
self.tk.call('tkwait', 'visibility', window._w)
_tkinter.TclError: window ".!_querystring" was deleted before its visibility changed
请问是什么原因

python3 example_story.py报错

复现步骤

  1. 安装依赖 ❯ sudo pip3 install -r requirements.txt
  2. 修改config.py文件,替换cf_clearancesession_token
  3. 运行python3 example_story.py
    image

Failed to refresh session是token过期了吗?

Traceback (most recent call last):
File "F:\python3.9.7\lib\site-packages\revChatGPT\ChatGPT.py", line 230, in refresh_session
raise Exception(f'Response code: {response.status_code} \n Response: {response.text}')
Exception: Response code: 200
Response: {}

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "E:\browser_download\ChineseAiDungeonChatGPT-0.2.0\app.py", line 164, in
story_teller = StoryTeller(config, story_background)
File "E:\browser_download\ChineseAiDungeonChatGPT-0.2.0\story.py", line 10, in init
self.chatbot = Chatbot(config, conversation_id=None)
File "F:\python3.9.7\lib\site-packages\revChatGPT\ChatGPT.py", line 81, in init
self.retry_refresh()
File "F:\python3.9.7\lib\site-packages\revChatGPT\ChatGPT.py", line 92, in retry_refresh
raise exc
File "F:\python3.9.7\lib\site-packages\revChatGPT\ChatGPT.py", line 88, in retry_refresh
self.refresh_session()
File "F:\python3.9.7\lib\site-packages\revChatGPT\ChatGPT.py", line 245, in refresh_session
raise Exception("Failed to refresh session!") from exc
Exception: Failed to refresh session!

Error refreshing session

Error refreshing session

<style type='text/css'>body { font-family:Arial; margin-left:40px; }img { border:0 none; }#content { margin-left: auto; margin-right: auto }#message h2 { font-size: 20px; font-weight: normal; color: #000000; margin: 34px 0px 0px 0px }#message p { font-size: 13px; color: #000000; margin: 7px 0px 0px 0px }#errorref { font-size: 11px; color: #737373; margin-top: 41px }</style><title>Microsoft</title>

The request is blocked.

05PmOYwAAAACidnVoE5qaQ5D92EjPNlsaSEtCRURHRTA5MTIAZTY2YjhiMDMtMDc5My00NDA5LTk3NzMtMmU2MTJlNzFhMWUz

可以考虑更改一下库。

PyChatGPT更新了续写,导出功能,而且能使用proxy进行登录,可能可以解决国内登陆的问题。或许可以用pychatgpt替换revchatgpt?

AttributeError: 'Chatbot' object has no attribute 'get_chat_response'

Traceback (most recent call last):
File "D:\myself\ChineseAiDungeonChatGPT\example_story.py", line 11, in
story_teller.interactive()
File "D:\myself\ChineseAiDungeonChatGPT\story.py", line 75, in interactive
self.action(action)
File "D:\myself\ChineseAiDungeonChatGPT\story.py", line 68, in action
resp = self.chatbot.get_chat_response(prompt) # Sends a request to the API and returns the response by OpenAI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Chatbot' object has no attribute 'get_chat_response'

revChatGPT VER revChatGPT-2.2.7
报这个错误,是不是程序改动会比较大啊?

ModuleNotFoundError: No module named 'revChatGPT.revChatGPT'

Traceback (most recent call last):
File "/Users/yy/ChineseAiDungeonChatGPT/app.py", line 8, in
from story import StoryTeller
File "/Users/yy/ChineseAiDungeonChatGPT/story.py", line 1, in
from revChatGPT.revChatGPT import Chatbot
ModuleNotFoundError: No module named 'revChatGPT.revChatGPT'

你好,请问这个问题应该怎么解决?

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.