全部版块 我的主页
论坛 数据科学与人工智能 人工智能 语音识别
831 1
2024-08-29
随着LLM应用的不断成熟,特别是在B端企业场景中的逐渐落地,其不再停留在原型与验证阶段,将面临着更高的工程化要求,无论是输出的稳定性、性能、以及成本控制等,都需要实现真正的“生产就绪”;但由于大量的应用基于LangChain、LlamaIndex等框架开发,更多的抽象与封装使得应用难以跟踪与调试。

一、LangChain 发展史
LangChain 的作者是 Harrison Chase,最初是于 2022 年 10 月开源的一个项目,在 GitHub 上获得大量关注之后迅速转变为一家初创公司。2017 年 Harrison Chase 还在哈佛上大学,如今已是硅谷的一家热门初创公司的 CEO,这对他来说是一次重大而迅速的跃迁。Insider 独家报道,人工智能初创公司 LangChain 在种子轮一周后,再次获得红杉领投的 2000 万至 2500 万美元融资,估值达到 2 亿美元。

二、LangChain 为什么这么火
LangChain 目前是有两个语言版本(python 和 nodejs),从下图可以看出来,短短半年的时间该项目的 python 版本已经获得了 54k+的 star。nodejs 版本也在短短 4 个月收货了 7k+的 star,这无疑利好前端同学,不需要会 python 也能快速上手 LLM 应用开发。

三、Dify 的核心功能
1. 工作流
Dify 提供了一个强大的可视化画布,用于构建和测试强大的 AI 工作流。通过这个功能,开发者可以直观地设计和优化他们的 AI 流程。

2. 全面的模型支持
Dify 与数百种专有和开源的 LLM 模型无缝集成,支持来自多家推理提供商和自托管解决方案的模型。无论是 GPT、Mistral、Llama3,还是任何兼容 OpenAI API 的模型,Dify 都能提供支持。

3. Prompt IDE
Dify 的 Prompt IDE 提供了一个直观的界面,用于编写提示、比较模型性能,以及向基于聊天的应用程序添加语音转换等附加功能。

4. RAG 管道
Dify 拥有广泛的 RAG 功能,涵盖从文档摄取到检索的一切,并支持从 PDF、PPT 等常见文档格式中提取文本。

5. 代理功能
用户可以基于 LLM 函数调用或 ReAct 定义代理,并为代理添加预构建或自定义工具。Dify 提供了 50 多种内置工具,如 Google 搜索、DELL·E、Stable Diffusion 和 WolframAlpha。

6. LLMOps
Dify 提供了监控和分析应用日志和性能的工具。开发者可以根据生产数据和注释不断改进提示、数据集和模型。

7. 后端即服务
Dify 的所有功能都附带相应的 API,因此可以轻松将 Dify 集成到您自己的业务逻辑中。

四、FireWorks AI
Fireworks 提供各种生成式 AI 服务。最近这个平台获得了 5200 万美元的融资。Fireworks 所有服务都是现收现付的,价格对开发人员比较友好,Fireworks 具有以下特点:
Serverless 模型:Fireworks 已经设置了硬件,只需要按照令牌/图像付费,无需等待启动。
按需部署:在 Fireworks 的 GPU 上运行文本模型,并按 GPU 使用情况付费。
模型微调:部署微调模型不收费。Fireworks允许您部署100个微调模型。

五、常见问题解答
Q: 大语言模型(LLM)在软件测试中有哪些具体应用场景?
A: LLM可用于自动生成测试用例、智能识别潜在问题、提供bug修复建议等。

Q: 如何快速学习掌握AI应用开发平台的技术?
A: 可通过在线课程、培训班或实践项目,不断提升自己的技能水平。

Q: AI技术对传统测试岗位是否会带来影响?
A: AI技术将让测试人员更专注于高级测试工作,提高了整体水平和需求。

Q: 大语言模型(LLM)和AI应用开发平台对测试行业的未来发展有何影响?
A: 它们将推动测试行业的智能化进程,提升了行业的竞争力和价值。

大语言模型(LLM)与AI应用开发平台正在改变软件测试的面貌,其智能化、自动化的特点给测试人员带来了更多的机遇和挑战。作为测试专家,我们有责任不断学习和掌握最新技术,才能不断提升自己的竞争力和专业水平。让我们一起探索这个充满未来可能性的领域吧!

六、我们用Langchain构建了一个简单的RAG应用,使用了本地的Ollama模型和OpenAI的嵌入模型。现在只需要增加红色的三行代码即可:

...此处省略import必要的模块....

from langfuse.callback import CallbackHandler  
langfuse\_handler = CallbackHandler(session\_id=str(uuid.uuid4()))  

#模型  
llm = Ollama(model="qwen:14b")  
embed\_model = OpenAIEmbeddings(model="text-embedding-3-small")  

#构建向量索引  
documents = DirectoryLoader('./data/', glob="\*.txt",loader\_cls=TextLoader).load()  
splits = RecursiveCharacterTextSplitter(chunk\_size=200, chunk\_overlap=0).split\_documents(documents)  
db = FAISS.from\_documents(splits, embed\_model)  
retriever = db.as\_retriever()  

#prompt  
prompt = ChatPromptTemplate.from\_template("基于如下上下文:\\n\\n{context}\\n\\n请回答以下问题:\\n\\n{question}")  

#chain  
rag\_chain = (  
    {"context": retriever | (lambda docs: "\\n\\n".join(doc.page\_content for doc in docs)), "question": RunnablePassthrough()}  
    | prompt  
    | llm  
    | StrOutputParser()  
)  

#对话  
while True:  
    user\_input = input("问题:")  
    if user\_input.lower() == "exit":  
        break  
    if user\_input.lower() == "":  
        continue  
    response = rag\_chain.invoke(user\_input,

                                config={"callbacks":\[langfuse\_handler\]})

    print("AI:", response)



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2024-8-29 15:45:25
参考资料:https://pan.baidu.com/s/1aVZgn3kO29H0ZcPzSlH5mQ 提取码:mos1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群