Commit graph

133 commits

Author SHA1 Message Date
mannaandpoem
81934e2202 update 2023-12-27 15:33:33 +08:00
mannaandpoem
2cb06a7888 Merge branch 'main' into incremental_development 2023-12-27 14:44:35 +08:00
mannaandpoem
f7205645b2 Update increment development for 0.5.x version: Delete files with 'refine' and write_code_guide.py. Add write_code_guide_an.py. Update write_code.py for guiding write code. 2023-12-26 20:25:41 +08:00
xiaofenggang
a87b5056d7 [Bugfix] Set openai proxy for class ZhiPuAPTAPI
When using ZHIPUAI as the large model provider, it is not possible to access ZHIPUAI in an HTTP proxy environment, and the following error will be reported:
openai.error.APIConnectionError: Error communicating with OpenAI

So we need set proxy for class ZhiPuAPTAPI.
2023-12-25 16:15:52 +00:00
shenchucheng
b113aa246f update log_llm_stream in log_llm_stream.py/ollama_api.py 2023-12-25 17:22:30 +08:00
shenchucheng
b4552938e6 add llm stream log 2023-12-23 22:45:20 +08:00
better629
40d3cc5f81 format general_api_requestor params type 2023-12-22 09:51:26 +08:00
better629
4b0cb0084a add ollama support 2023-12-22 02:20:43 +08:00
geekan
4bf1844022
Merge pull request #596 from orange-crow/update-Message-instance
Message(msg) -> Message(content=msg)
2023-12-21 15:13:31 +08:00
geekan
a4843cd974
Merge pull request #595 from better629/feat_gemini
Feat gemini
2023-12-21 15:10:40 +08:00
better629
6af9fecf65 fix format 2023-12-21 15:06:59 +08:00
geekan
d46b7c4018 fix moderation, remove claude from LLM, refine exceptions handler 2023-12-21 14:45:53 +08:00
better629
9bd900452c fix conflicts 2023-12-21 14:29:01 +08:00
better629
bdb427d5b7 add gemini minimal python version warning 2023-12-21 14:18:50 +08:00
刘棒棒
44e648eabf Message(msg) -> Message(content=msg) 2023-12-21 14:17:05 +08:00
better629
f3eb9f638e add other llm for LLMProviderRegistry 2023-12-21 12:55:45 +08:00
seehi
163da9a2e7 format code 2023-12-21 12:44:43 +08:00
better629
e5a7fdfe3b retry use wait_random_exponential 2023-12-21 12:16:19 +08:00
better629
02090af7cb update gemini count_tokens 2023-12-21 12:16:19 +08:00
better629
91d1ab20cc update gemini user_msg doc 2023-12-21 12:16:19 +08:00
better629
c4fbc478d2 add google gemini 2023-12-21 12:16:17 +08:00
seehi
9a4f0d555c
Merge branch 'main' into feature-openai-v1 2023-12-21 12:06:12 +08:00
seehi
1564b1bf14 upgrade openai 1.3.5 to 1.6.0 2023-12-21 11:47:29 +08:00
voidking
4929e41f18 run pre-commit to find potential issues and fix them 2023-12-21 10:48:46 +08:00
geekan
f32f9c82e5 add llm provider registry 2023-12-20 14:04:45 +08:00
geekan
b43d8462de refine config 2023-12-20 14:02:47 +08:00
geekan
e8cb7991c4 openai_api: refine logic 2023-12-20 13:54:27 +08:00
better629
32af743b36 rm metagpt/utils/utils.py 2023-12-20 10:54:49 +08:00
better629
70cbfb1e48 retry use wait_random_exponential 2023-12-15 17:30:25 +08:00
better629
4127ef8570 update gemini count_tokens 2023-12-15 17:06:59 +08:00
geekan
ccecb45b13 resolve conflicts 2023-12-14 23:54:38 +08:00
莘权 马
290fb8b8d0 refactor: format 2023-12-14 21:10:46 +08:00
莘权 马
829dfd8997 feat: merge geekan:main 2023-12-14 20:34:04 +08:00
better629
9fb6e7c459 update gemini user_msg doc 2023-12-14 16:54:56 +08:00
better629
bef8d64193 add google gemini 2023-12-14 16:45:40 +08:00
better629
8c1b9db7d2
Merge branch 'main' into feat_repair_llmoutput 2023-12-12 00:27:18 +08:00
莘权 马
ec8c703c5a feat: merge geekan:main 2023-12-08 20:03:13 +08:00
莘权 马
9d84c8f047 feat: +SummarizeCode, refactor project_name 2023-12-08 10:34:57 +08:00
seehi
f4505d0e39 upgrade tiktoken to support azure 2023-12-06 16:23:43 +08:00
seehi
ad347e0717 upgrade tiktoken to support azure 2023-12-06 16:06:17 +08:00
seehi
a617aab65b azure client 2023-12-06 11:58:13 +08:00
seehi
0d8b9cdc89 support new openai package 2023-12-05 15:36:38 +08:00
seehi
09134c9c72 support new openai package 2023-12-05 15:27:57 +08:00
seehi
eaf531e0ac support new openai package 2023-12-05 11:26:54 +08:00
Sirui Hong
4006edac04
Merge pull request #485 from a-cid/exponential_backoff
Fixed MetaGPT crashing due to openai.error.RateLimitError
2023-12-04 10:59:32 +08:00
Sirui Hong
6feeac7d70
Merge pull request #444 from ShankHarinath/minor-edits
Minor fixes
2023-12-04 10:40:27 +08:00
Auster Cid
5ef3076f20 reimplemented retries following suggestions in OpenAI's cookbook 2023-11-29 12:04:05 -03:00
莘权 马
78548c2ddc feat: merge geekan:cli-etc 2023-11-28 18:16:50 +08:00
geekan
22288a342d 1. 动作优化
1. SummarizeCode动作:用于基于代码进行总结,思考bug、逻辑、todo
  2. CodeReview动作优化:目前强制要求回答问题,有更高的成功率了
    1. 增加了LGTM/LBTM的回答,在LGTM时会及时停止,不重写代码
    2. 目前增加了设置中的参数code_review_k_times,与reflexion类似,设置为2
    3. 仍然有概率发生指令不遵循,尤其是会有比较高的概率发生同时review多个代码文件,还没想好怎么解决 #FIXME
  3. 增加了env到Action结构中,现在可以直接调用环境接口了
  4. WriteDesign:去除了对project_name的纠正代码,现在引导下可以一次生成对
    1. 修改了提示词中的##格式,改为了JSON格式
2. 数据结构
  1. Document的标准化:Env->Repo->Document,其中Document/Asset/Code都是Document
    1. 原用于检索的Document改为IndexableDocument
  2. Repo结构引入:用于Document装载与元数据装载
  3. RepoParser引入:写了一个简单的AST parser(后续可能要换tree-sitter),给出了整库symbol
  4. Env中增加了set/get/set_doc/get_doc接口,用于set/get单个变量或者一个Document。这个逻辑后续或许会进一步简化
3. 配置优化
  1. 默认更换为gpt-4-1106-preview,以获得最好的效果与成本
  2. 提供~/.metagpt作为配置最高优先级目录,从中读取config.yaml
  3. workspace可以灵活指定了,在config中配置
  4. project_name可以由命令行指定,并且改为由ProductManager生成
4. metagpt作为默认命令行,而非python startup.py
metagpt --help

metagpt --project-name game_2048 "make a 2048 game"
metagpt "make a 2048 game"

metagpt --project-name game_2048 --inc "将2048改为4096"

metagpt --project-name game_2048 --auto-inc "make a 2048 game"
  1. 使用新的METAGPT_ROOT生成方式,而非寻找git,以便cli安装
  2. 命令行由fire换为了typer,它会带来相对更好的体验
  3. project_name可以灵活指定了,在metagpt命令行输入中配置
5. 其他
  1. 现在支持多国语言了,中文已测试
  2. BossRequirement -> UserRequirement
  3. 大量错误文本的修正,增加了可读性
  4. 中量提示词优化,稍微提升了一些准确率
  5. 暂时屏蔽了LongtermMemory相关逻辑,这个逻辑底层调用了langchain的FAISS,会带来~5秒加载耗时
  6. 修复了安装包中的部分描述错误
  7. 去除了config中在openai_proxy设定时对base的重复修改,这个修改应该在openai初始化时发生
  8. 修复了JSON在中文存储时的特定问题,ensure_ascii=False
2023-11-27 15:48:12 +08:00
better629
9a2ac792fe add __init__ 2023-11-23 01:55:56 +08:00