首页 > 其他分享 >利用 ChatFriendli 和 LangChain 打造高性能对话 AI 应用

利用 ChatFriendli 和 LangChain 打造高性能对话 AI 应用

时间:2024-12-30 17:26:42浏览次数:3  
标签:Google AI 模型 LangChain API langchain import ChatFriendli

老铁们,今天我们一起来看看如何快速上手Google AI的聊天模型,尤其是如何通过 langchain-google-genai 这个包来充分利用Google的强大AI能力。说白了,这个技术点其实不难,咱们一步一步来。

技术背景介绍

随着AI技术的飞速发展,Google推出了一系列强大的聊天模型(如Gemini),它们可以通过Google AI平台和Google Cloud Vertex AI平台访问。简单来说,通过Google AI,只需要一个Google账户和API密钥即可;而Google Cloud Vertex AI则为企业用户提供了更多的高级特性,比如客户加密密钥和虚拟私有云。

原理深度解析

Google的这些聊天模型支持多种输入输出格式,如图像、音频、视频等,同时还具备令牌级流媒体和异步支持等功能。这使得开发者可以在不同的应用场景中利用这些模型的灵活性和强大处理能力。

实战代码演示

环境准备

首先,我们需要创建一个Google账户,并获取Google AI的API密钥。访问这个链接生成API密钥,并设置环境变量:

import getpass
import os

os.environ["GOOGLE_API_KEY"] = getpass.getpass("Enter your Google AI API key: ")

如果需要自动化跟踪模型调用,可以设置LangSmith API密钥:

# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"

接着,我们安装 langchain-google-genai 包:

%pip install -qU langchain-google-genai

模型实例化与调用

现在,我们可以实例化模型对象,并生成聊天补全:

from langchain_google_genai import ChatGoogleGenerativeAI

llm = ChatGoogleGenerativeAI(
    model="gemini-1.5-pro",
    temperature=0,
    max_tokens=None,
    timeout=None,
    max_retries=2,
)

messages = [
    ("system", "You are a helpful assistant that translates English to French. Translate the user sentence."),
    ("human", "I love programming."),
]

ai_msg = llm.invoke(messages)
print(ai_msg.content)

输出结果为:

J'adore programmer.

模型链化

我们还可以通过提示模板链化模型:

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_messages(
    [("system", "You are a helpful assistant that translates {input_language} to {output_language}."), ("human", "{input}")]
)

chain = prompt | llm
result = chain.invoke({"input_language": "English", "output_language": "German", "input": "I love programming."})

print(result.content)

结果为:

Ich liebe das Programmieren.

优化建议分享

为了提高模型调用的稳定性,建议使用一些代理服务。同时,如果遇到频繁的安全警告,可以调整安全设置:

from langchain_google_genai import ChatGoogleGenerativeAI, HarmBlockThreshold, HarmCategory

llm = ChatGoogleGenerativeAI(
    model="gemini-1.5-pro",
    safety_settings={
        HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_NONE,
    },
)

补充说明和总结

对于那些想要一站式大模型解决方案的朋友,我个人一直在用 https://zzzzapi.com 提供的服务。这个平台极大地简化了集成和调用的流程。

今天的技术分享就到这里,希望对大家有帮助。开发过程中遇到问题也可以在评论区交流~

标签:Google,AI,模型,LangChain,API,langchain,import,ChatFriendli
From: https://blog.csdn.net/ASD54ASDASDAS/article/details/144829627

相关文章

  • RAG实践 - AI 知识库问答功能的建设
    最近在工作中构建了一套自动的基于文档中心为数据集构建知识库AI问答的系统,来提升用户体验和技术支持效率,分享一下在实现过程中的技术选型和架构设计。背景先说下背景,我们公司的产品FinClip是做小程序全套解决方案的。我们有一个文档中心https://finclip.com/mop/document/......
  • 杨立昆的洞见:AI 安全的关键不在于限制,而在于精巧的设计
    最近,人工智能领域的领军人物、图灵奖得主杨立昆(YannLeCun)在接受约翰霍普金斯大学和VoxMedia联合播客"OnwithKaraSwisher"的采访时,提出了一个极具价值的观点:“AI的安全性在于设计,而不是限制。”https://weibo.com/1233486457/P77gm41G3#commenthttps://www.youtube.com......
  • [笔记]Airflow入门
    前言Airflow入门教程正文简介任务管理、调度、监控工作流平台。基于DAG(有向无环图)的任务管理系统。基本架构组件scheduler:以有向无环图(dag)的形式创建任务工作流,根据用户的配置将任务定时/定期进行调度worker:任务的执行单元,worker会从任务队列当中拉取任务并运行......
  • AI智能分析视频分析网关: 视频分析系统在大数据时代面临哪些技术挑战?
    在大数据时代,视频分析系统正面临着前所未有的技术挑战,这些挑战不仅涉及数据处理和分析的技术层面,还涉及法规合规等多个维度。随着技术的发展,视频分析系统需要更加智能、灵活和高效,以适应不断变化的需求和环境。以下是视频分析系统在当前时代面临的主要技术挑战。1、视频流的高连......
  • 使用AI21 Chat模型进行自然语言处理
    老铁们,今天我们聊聊如何上手AI21的聊天模型。AI21提供的模型在不同场景下支持不同的参数,详细参数可以直接查看AI21文档。另外,对于AI21在LangChain中的组件,你也可以了解一下更多细节。技术背景介绍随着自然语言处理(NLP)技术的快速发展,越来越多的AI语言模型被应用到各个领域......
  • (数据科学学习手札164)在vscode中调用Deepseek进行AI辅助编程
    本文示例配置文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1简介大家好我是费老师,最近国产大模型Deepseekv3新版本凭借其优秀的模型推理能力,讨论度非常之高......
  • CDS标准视图:维护计划数据 C_MaintenancePlanDEX
    视图名称:维护计划数据C_MaintenancePlanDEX视图类型:基础视图代码:点击查看代码@AbapCatalog.sqlViewName:'CMAINTPLANDEX'@AbapCatalog.compiler.compareFilter:true@AccessControl.authorizationCheck:#CHECK@EndUserText.label:'MaintenancePlanDataExtractor'......
  • 腾讯 StereoCrafter:2D 视频转 3D 视频效果;支付宝推出新 AI 视觉搜索产品「探一下」丨
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • CDS标准视图:维护计划 I_MaintenancePlanBasic
    视图名称:维护计划I_MaintenancePlanBasic视图类型:基础视图代码:点击查看代码@AbapCatalog.compiler.compareFilter:true@AbapCatalog.sqlViewName:'IMAINTPLANBASIC'@AccessControl.authorizationCheck:#CHECK@ClientHandling.algorithm:#SESSION_VARIABLE@EndUser......
  • CDS标准视图:维护活动类型描述 I_MaintenanceActivityTypeText
    视图名称:维护活动类型描述I_MaintenanceActivityTypeText视图类型:基础视图代码:点击查看代码@AbapCatalog.sqlViewName:'IMTACTTYPET'@Analytics:{dataExtraction.enabled:true}@AbapCatalog.compiler.compareFilter:true@AccessControl.authorizationCheck:#CHE......