Files
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

55 lines
1.4 KiB
Python

import os
import time
import threading
from aworld.trace.config import ObservabilityConfig
from aworld.trace.instrumentation.fastapi import instrument_fastapi
from aworld.trace.instrumentation.requests import instrument_requests
from aworld.logs.util import logger, trace_logger
import aworld.trace as trace
from aworld.utils.import_package import import_packages
import_packages(['fastapi', 'uvicorn']) # noqa
import fastapi # noqa
import uvicorn # noqa
os.environ["MONITOR_SERVICE_NAME"] = "otlp_example"
os.environ["ANT_OTEL_ENDPOINT"] = "https://antcollector.alipay.com/namespace/aworld/task/aworld/otlp/api/v1/metrics"
trace.configure(ObservabilityConfig(
metrics_provider="otlp",
metrics_backend="antmonitor"
))
instrument_fastapi()
instrument_requests()
app = fastapi.FastAPI()
@app.get("/api/hello")
async def hello():
return {"message": "Hello World"}
def invoke_api():
import requests
response = requests.get('http://127.0.0.1:7071/api/hello')
logger.info(f"invoke_api response={response.text}")
def main():
logger.info("main running")
with trace.span("test_fastapi") as span:
trace_logger.info("start invoke_api")
invoke_api()
# if __name__ == "__main__":
# server_thread = threading.Thread(
# target=lambda: uvicorn.run(app, host="0.0.0.0", port=7071),
# daemon=True
# )
# server_thread.start()
# time.sleep(1)
# main()
# server_thread.join()