为了澄清,我不是想要在笔记本中运行LLM,而是想在Google Colab笔记本上训练它。
有没有办法在Colab笔记本中训练一个LLM来回答基于代码的问题?这样,它将成为一个能够向不擅长编程的用户解释代码或代码部分的聊天机器人。
使用Langchain的NotebookLoader
是否可行?还是我必须让另一个LLM将整个代码翻译成文本,然后将该文本传递给我的主LLM?
回答:
简而言之:你可以使用LangChain的LanguageParser
并指定你的代码库语言,例如Python。你可以在这里阅读更多关于这个功能的信息,并可以按照RAG over code指南来创建你自己的问答模型。
使用LLM从代码库中回答问题,使用Retrieval-Augmented Generation (RAG)方法相当普遍。诀窍在于有效地分割代码库,以便LLM更好地理解上下文。在构建问答模型时,通常会按顶级函数和类进行分割,并将它们的描述分开保存。
RAG方法要求你将由嵌入模型(如OpenAIEmbeddings)创建的文档嵌入存储到向量数据库(如chroma、epsilla或pinecone)中。然后部署一种检索策略,如MMR(最大边缘相关性),以获取一组相关但多样的文档(可能包含答案)。使用这组文档,我们通过将所有检索到的文档塞入LLM或通过链式LLM回复来微调其响应,从而生成最终答案。
你可能会发现由Harrison Chase教授的关于RAG的这门课程很有用。