Skip to content

zhengkai15/PsychologistChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Psychologist RAG

本项目使用 LlamaIndex 实现了一个检索增强生成 (RAG) 的心理学专家。

数据

200本心理学书籍pdf

项目结构

-aexp/: 实验配置、模型检查点、损失曲线和推理结果。

-data/:

-raw/: 原始数据。

-processed/: 处理后的数据。

-saved_index/: LlamaIndex 持久化索引存储。

-docs/: 项目文档和详细计划。

-discuss/: 讨论文档、计划和评审提案。

-logs/: 应用程序日志。

-script/: 用于运行和调试的 Shell 脚本。

-src/: Python 源代码。

-main.py: RAG 系统的主要入口点,包含用于文档加载的核心 LlamaIndex 逻辑,以及两种索引构建方法:build_and_save_index_simple(使用 VectorStoreIndex.from_documents)和 build_and_save_index_with_pipeline(使用带有 tqdm 进度条的 IngestionPipeline),包括保存、加载和查询功能。

-requirements.txt: Python 依赖项。

-readme.md: 项目 README。

-.gitignore: Git 忽略文件。

设置

1.安装依赖项: 使用 pip install -r requirements.txt 安装 Python 依赖项。

配置

LLM(大型语言模型)和嵌入模型通过项目根目录下的 config.json 进行配置。apis 部分包含不同 API 的配置,每个配置都定义了 base_urlapi_keydefault_model(用于 LLM)、embedding_modelembed_batch_size(嵌入生成批处理大小)。

config.json 示例片段:

{

"apis": {

"siliconflow": {

"base_url": "https://api.siliconflow.cn/v1",

"api_key": "YOUR_API_KEY",

"default_model": "Qwen/Qwen2.5-7B-Instruct",

"embedding_model": "BAAI/bge-m3",

"embed_batch_size": 1

    }

  },

"default_api": "siliconflow"

}

环境变量: 对于 api_keybase_url,如果设置了环境变量 API_KEYAPI_BASE,它们将优先于 config.json 中的值。

用法

要运行 RAG 系统,请使用 script/run.sh 脚本。此脚本现在接受命令行参数来配置 RAG 管道。如果未提供任何参数,将使用默认路径和默认查询。

默认执行:

bashscript/run.sh

自定义参数:

您可以通过直接向 run.sh 脚本传递参数来覆盖默认值。可用参数包括:

---config_path: 配置文件 JSON 的路径(默认值:./config.json

---data_path: 包含文档的原始数据目录的路径(默认值:./data/raw

---index_path: 用于保存/加载索引的目录的路径(默认值:./data/saved_index

---query_text: 发送到 RAG 系统的查询文本(默认值:“你现在是一名专业的心理咨询师,如何处理来访者对自己的移情,具体的步骤是什么,请给出你回答的依据(书本等)”)

---enable_rag: 启用或禁用 RAG 功能。如果禁用,将直接查询 LLM。(默认值:True

---default_api: 指定要使用的默认 API(例如,siliconflowqwen)。这将覆盖 config.json 中的设置。

自定义参数示例:

bashscript/run.sh\

  --config_path "./my_custom_config.json" \

--data_path"./data/my_documents"\

  --query_text "什么是认知行为疗法?" \

--enable_ragfalse\

  --default_api "qwen"

这将使用指定的参数执行 main.py 脚本,演示完整的 RAG 管道。输出将包括有关文档加载、索引创建和示例查询响应的日志。

About

本项目使用 LlamaIndex 实现了一个检索增强生成 (RAG) 的心理学专家。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published