{"id":22377699,"url":"https://github.com/xiaobeicn/storm-server","last_synced_at":"2026-04-16T12:01:33.076Z","repository":{"id":253186795,"uuid":"842748369","full_name":"xiaobeicn/storm-server","owner":"xiaobeicn","description":"An server api base implementation of storm and fastapi","archived":false,"fork":false,"pushed_at":"2024-09-23T08:43:59.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-25T07:31:26.461Z","etag":null,"topics":["fastapi","knowledge-curation","llm","nlp","report-generation","retrieval-augmented-generation","storm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiaobeicn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-15T02:08:15.000Z","updated_at":"2024-09-23T08:44:01.000Z","dependencies_parsed_at":"2024-08-15T03:23:21.125Z","dependency_job_id":"80e15f45-11cc-4844-9e03-0499b92f5aae","html_url":"https://github.com/xiaobeicn/storm-server","commit_stats":null,"previous_names":["xiaobeicn/storm-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xiaobeicn/storm-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobeicn%2Fstorm-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobeicn%2Fstorm-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobeicn%2Fstorm-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobeicn%2Fstorm-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaobeicn","download_url":"https://codeload.github.com/xiaobeicn/storm-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaobeicn%2Fstorm-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31884929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","knowledge-curation","llm","nlp","report-generation","retrieval-augmented-generation","storm"],"created_at":"2024-12-04T22:15:16.714Z","updated_at":"2026-04-16T12:01:33.054Z","avatar_url":"https://github.com/xiaobeicn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# storm-server\n\n## Context\nBased implementation of [Storm](https://github.com/stanford-oval/storm)\n\n## Used\n```\nFastAPI + Storm + Mysql\n```\n\n### Config\n```sh\ncp .env.example .env\n```\n\n### Database\n```sh\n./db/init_data.sql\n```\n\n### Install\n```sh\nconda create -n storm-server python=3.11\nconda activate storm-server\npip install -r requirements.txt\n```\n\n### Start\n```sh\npython main.py\n```\n\n### Docs\n* http://127.0.0.1:8080/api/v1/docs\n\n### Openapi - check_sensitive_info\n```json\n{\n    \"id\": \"chatcmpl-9wgLzyUVgvTmZ3gOMveN4K4i4F6iA\",\n    \"choices\": [\n        {\n            \"finish_reason\": \"stop\",\n            \"index\": 0,\n            \"logprobs\": null,\n            \"message\": {\n                \"content\": \"No\",\n                \"refusal\": null,\n                \"role\": \"assistant\",\n                \"function_call\": null,\n                \"tool_calls\": null\n            }\n        }\n    ],\n    \"created\": 1723772859,\n    \"model\": \"gpt-3.5-turbo-0125\",\n    \"object\": \"chat.completion\",\n    \"service_tier\": null,\n    \"system_fingerprint\": null,\n    \"usage\": {\n        \"completion_tokens\": 1,\n        \"prompt_tokens\": 68,\n        \"total_tokens\": 69\n    }\n}\n```\n\n### Output file tree\n```text\n.\n├── conversation_log.json\n├── direct_gen_outline.txt\n├── llm_call_history.jsonl\n├── raw_search_results.json\n├── run_config.json\n├── storm_gen_article.txt\n├── storm_gen_article_polished.txt\n├── storm_gen_outline.txt\n└── url_to_info.json\n```\n\n### Logging\n```text\n***** Execution time *****\nrun_knowledge_curation_module: 116.6072 seconds\nrun_outline_generation_module: 9.6553 seconds\nrun_article_generation_module: 38.8765 seconds\nrun_article_polishing_module: 7.7596 seconds\n***** Token usage of language models: *****\nrun_knowledge_curation_module\n    gpt-4o-mini-2024-07-18: {'prompt_tokens': 8377, 'completion_tokens': 3306}\n    gpt-4o-2024-08-06: {'prompt_tokens': 0, 'completion_tokens': 0}\nrun_outline_generation_module\n    gpt-4o-mini-2024-07-18: {'prompt_tokens': 0, 'completion_tokens': 0}\n    gpt-4o-2024-08-06: {'prompt_tokens': 570, 'completion_tokens': 498}\nrun_article_generation_module\n    gpt-4o-mini-2024-07-18: {'prompt_tokens': 0, 'completion_tokens': 0}\n    gpt-4o-2024-08-06: {'prompt_tokens': 9253, 'completion_tokens': 3116}\nrun_article_polishing_module\n    gpt-4o-mini-2024-07-18: {'prompt_tokens': 0, 'completion_tokens': 0}\n    gpt-4o-2024-08-06: {'prompt_tokens': 3122, 'completion_tokens': 404}\n***** Number of queries of retrieval models: *****\nrun_knowledge_curation_module: {'SerperRM': 9}\nrun_outline_generation_module: {'SerperRM': 0}\nrun_article_generation_module: {'SerperRM': 0}\nrun_article_polishing_module: {'SerperRM': 0}\n```\n\n### SSE\n```text\ndata: {\"state\": \"pre_writing\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"identify_perspective_start\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"identify_perspective_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"information_gathering_start\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"dialogue_turn_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"dialogue_turn_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"dialogue_turn_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"information_gathering_start\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"information_organization_start\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"direct_outline_generation_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"outline_refinement_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"pre_writing_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"generate_article_end\", \"is_done\": false, \"code\": 200}\n\ndata: {\"state\": \"completed\", \"is_done\": true, \"code\": 200}\n```\n\n### Citations\n```bibtex\n@inproceedings{shao2024assisting,\n      title={{Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models}}, \n      author={Yijia Shao and Yucheng Jiang and Theodore A. Kanell and Peter Xu and Omar Khattab and Monica S. Lam},\n      year={2024},\n      booktitle={Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers)}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaobeicn%2Fstorm-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaobeicn%2Fstorm-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaobeicn%2Fstorm-server/lists"}