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

Add Comments #405

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions devchat/_cli/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ class PromptData:
response_tokens: int = 0


# log子命令目前处于使用中。
# 主要有三类场景:
# 1. 查询topic的聊天历史;
# 2. 在指定topic中插入新的聊天记录;
# 3. 在指定topic中删除最后一条聊天记录。
# 这三个场景都在使用中。
# 插入聊天记录时,没有指定topic(-t参数)的情况下,最初是获取不同topic下的聊天历史记录(
# 按插入时间排序),
# 后来修改为查询最后修改topic下的聊天历史记录,脱离了topic,聊天历史完全没有了意义。
@click.command(help="Process logs")
@click.option("--skip", default=0, help="Skip number prompts before showing the prompt history.")
@click.option("-n", "--max-count", default=1, help="Limit the number of commits to output.")
Expand Down
17 changes: 17 additions & 0 deletions devchat/_cli/prompt.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@
import click


# 目前接口没有在插件中被使用
# 最初意图:
# 将交互分为两类,1,普通聊天;2,执行一个工作流命令。
# prompt子命令用于普通聊天交互。
# 一些过时的接口:
# -r: 没有被使用,用于选择一个历史聊天上下文;
# -i: AI系统角色描述文件指定,目前应该归属在工作流命令的职责中;
# --config: 没有被使用,用于覆盖默认配置,在命令行交互中可能会有价值;
# --functions: 没有被使用,用于实现函数调用,未来函数调用功能会在工作流命令中实现;
# --function-name: 没有被使用,用户函数调用中返回结果的描述。例如调用AI需要ls命令,
# 下一次将ls结果返回时,需要指明这个结果来自什么函数命令;
# --not-store: 没有被使用,用于指定是否自动保存了解记录到数据库中;
# 其中需要特别关注的是:
# --not-store选项,在命令行交互中,尤其是工作流命令交互中,这个并没有被实现。
# 最初将这个参数独立的原因是:工作流命令涉及较多的准备工作,以及还可能会有其他的参数处理工作,通过
# devchat-core来启动工作流将是一个安全的选择,所以devchat-core的进程生命周期,
# 不能作为是否用户意图结束的判断依据。
@click.command(help="Interact with the large language model (LLM).")
@click.argument("content", required=False)
@click.option("-p", "--parent", help="Input the parent prompt hash to continue the conversation.")
Expand Down
10 changes: 10 additions & 0 deletions devchat/_cli/route.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
import click


# 目前接口在devchat中插件中使用。
# 用途:根据用户输入,自动判断是否为工作流命令或者普通聊天,执行对应的操作。
# 相当于是run,和prompt命令的自动路由接口。
#
# -r: 用于指定需要引用的某个聊天上下文(用户问题,AI回答),目前没有被使用,
# 实际命令行交互中更难被使用。预期未来不会被使用到。
# -i: 基于工作流的机制,AI角色描述会在工作流中实现,如果仅仅有角色描述,
# 那么就是很简单的工作流,自定义角色描述。
# --config: 预期保留用于命令行交互使用,目前IDE插件中没有对应的使用。
# -a: 没有被使用。
@click.command(help="Route a prompt to the specified LLM")
@click.argument("content", required=False)
@click.option("-p", "--parent", help="Input the parent prompt hash to continue the conversation.")
Expand Down
6 changes: 6 additions & 0 deletions devchat/_cli/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
import click


# 目前接口没有在插件中被使用
# 最初意图:
# 将交互分为两类,1,普通聊天;2,执行一个工作流命令。
# run子命令就是用于执行一个工作流命令。目前插件中使用了route子命令,自动根据用户输入,进行自动化判断
# run子命令最初保留的意图:当作为命令行程序被使用时,用户用更明确的操作命令,从而降低命令理解成本,
# 容易上手。
@click.command(
help="The 'command' argument is the name of the command to run or get information about."
)
Expand Down
6 changes: 6 additions & 0 deletions devchat/_cli/topic.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
import click


# 目前接口在devchat中插件中使用。
# 意图是对topic数据进行管理
# 其中--list参数被使用了。
# 从实际使用情况来说,没有用户会关注很久之前的topic,
# 所以--skip, --max-count参数实际不会被使用,没有实际意义,
# 但从接口完整性角度来说,有理论意义。
@click.command(help="Manage topics")
@click.option(
"--list", "-l", "list_topics", is_flag=True, help="List topics in reverse chronological order."
Expand Down
4 changes: 4 additions & 0 deletions devchat/anthropic/anthropic_chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
from pydantic import BaseModel, Field


# TODO: delete
# Initially, it was hoped to support multiple different model services within
# the devchat core, but later it was realized that providing a unified
# interface on the server would be more advantageous.
class AnthropicChatParameters(BaseModel, extra="ignore"):
max_tokens_to_sample: int = Field(1024, ge=1)
stop_sequences: Optional[List[str]]
Expand Down
Loading