利用langchain_aws模块实现集成bedrock调用模型,测试源码
python
from langchain_aws.chat_models import ChatBedrock
import json
def invoke_with_text(model_id, message):
llm = ChatBedrock(model_id=model_id, region_name="us-east-1")
res = llm.invoke(message)
print(f"模型返回的结果:\n {res.content}")
# print(f"id: {res.id}")
# print(f"additional_kwargs: {res.additional_kwargs}")
# print(f"response_metadata: {res.response_metadata}")
def invoke_with_json(model_id, input_text):
llm = ChatBedrock(model_id=model_id, region_name="us-east-1")
prompt = {
"text_prompts": [
{"text": f"您好,我是一个翻译官。请将以下句子翻译成英文:\n\n{input_text}"}
],
"cfg_scale": 10,
"seed": 0,
"steps": 50
}
response = llm.invoke(json.dumps(prompt))
result = response.content
print(f"模型返回的结果: {result}")
def translate(model_id, input_text, target_lang="en"):
llm = ChatBedrock(model_id=model_id, region_name="us-east-1")
prompt = {
"text_prompts": [
{"text": f"您好,我是一个翻译官。请将以下句子翻译成{target_lang}语:\n\n{input_text}"}
],
"cfg_scale": 10,
"seed": 0,
"steps": 50
}
response = llm.invoke(json.dumps(prompt))
result = response.content
print(f"模型返回的结果: {result}")
if __name__=="__main__":
# 使用文本输入调用
model_id = "anthropic.claude-3-sonnet-20240229-v1:0"
message = "您好,您是一个翻译官,烦请将如下语句翻译成英文: 关于这个问题的解决方案,我们将会在后面测试验证下,然后在将手册同步给您"
invoke_with_text(model_id, message)
# 使用 JSON 输入调用
input_text = "关于这个问题的解决方案,我们将会在后面测试验证下,然后在将手册同步给您"
invoke_with_json(model_id, input_text)
# 翻译成英文
translate(model_id, input_text, target_lang="en")
# 翻译成西班牙语
translate(model_id, input_text, target_lang="es")
运行之后的结果如下
模型返回的结果:
Here is the translation to English:
Regarding the solution to this issue, we will conduct tests and verification later, then we will sync the manual to you.
模型返回的结果: Here is the translation to English:
Regarding the solution to this issue, we will validate it through further testing later on, and then synchronize the manual with you.
模型返回的结果: Here is the translation to English:
Regarding the solution to this issue, we will perform further tests and verification, and then synchronize the manual with you.
模型返回的结果: Aquí está la traducción al español:
Sobre la solución a este problema, la validaremos con pruebas más adelante y luego sincronizaremos el manual con usted.