Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于一些冗余代码的合并咨询 #357

Closed
Liyulingyue opened this issue Mar 9, 2024 · 2 comments
Closed

关于一些冗余代码的合并咨询 #357

Liyulingyue opened this issue Mar 9, 2024 · 2 comments

Comments

@Liyulingyue
Copy link

Liyulingyue commented Mar 9, 2024

问题描述

我在尝试对ChatDev进行二次开发,以使用Openai之外的模型进行生成。

在开发过程中我发现有一些代码可能更适合被集中在一个py文件中,通过import的方式导入他们,而非在每一个py文件中进行单独的声明/定义。

(我关注到这些内容是因为,如果我希望添加一个新的LLM,我就必须把每个地方的定义/声明都改了,实在是太过繁琐和细碎了hhhh,所以我更希望在代码中做一下模块化的集成)

例如:

            num_max_token_map = {
                "gpt-3.5-turbo": 4096,
                "gpt-3.5-turbo-16k": 16384,
                "gpt-3.5-turbo-0613": 4096,
                "gpt-3.5-turbo-16k-0613": 16384,
                "gpt-4": 8192,
                "gpt-4-0613": 8192,
                "gpt-4-32k": 32768,
                "gpt-4-1106-preview": 4096,
                "gpt-4-1106-vision-preview": 4096,
            }
try:
    from openai.types.chat import ChatCompletion

    openai_new_api = True # old openai api version
except ImportError:
    openai_new_api = False  # old openai api version

我想知道

  1. 这些代码是否适合被集中在一个文件中,还是说开发者出于某些目的将他们分散地进行声明?
  2. 这些代码可能可以放在camel/utils.py中,放在这个地方是否合适?如果放在这个地方是合适的,我很乐意提交一个PR来进行一些更改。
@wyifei26
Copy link
Contributor

感谢您的建议!由于在开发过程中的一些历史因素可能确实导致我们的项目中存在许多值得优化的部分。如果您有时间的话可以提交一个PR来更详细地阐明您的修改建议,非常感谢您对项目的关注和支持。

@Liyulingyue
Copy link
Author

太棒了!感谢您的回复!

在等待的过程中我甚至修改了一些代码用于支持ErnieBot,我这两周应该可以抽时间提交一个PR用于将一些模块进行集成~并尝试将我对自定义模型的代码展示出来,这可能是另一种解决 #27 的思路。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants